Udemy 강좌 'Complete C# Unity Game Developer 3D' 리뷰 및 기술 기록지입니다.
Project Boost : 75. Unity's New Input System ~ 84. Set Up Firing Input
[75. Unity's New Input System]
new Input System을 적용하여 키보드 입력을 불러온다.
*설정을 추가하여 여러가지 입력을 받아올 수 있다. (게임패드 + 다른 키보드 등)
OnEnable() : 활성화가 될 때 한번 실행된다.
OnDisable() : 비활성화가 될 때 한번 실행된다.
[76. Start Moving Our Player]
X축에 집중하여, 화면의 오른쪽에 치우치게 위치 변환
position : 월드 포지션(0, 0, 0)을 기준으로 잡힌 좌표
localPosition : 부모의 position을 기준으로 잡은 좌표
* 부모가 없을 경우 월드를 기준으로 좌표를 삼는다.
현재 위치 + xOffset 으로 오브젝트가 천천히 오른쪽으로 움직이도록 수정한다.
[77. Move Player Using Input]
Player의 움직임 속도를 조절한다.
같은 방식을 따라 y축의 움직임도 조정한다.
[78. Mathf.Clamp() To Constrain Movement]
Mathf.Clamp() : 주어진 최소 부동 소수점 값과 최대 부동 소수점 값 사이에서 지정된 값을 고정. 최소 및 최대 범위 내에 있는 경우 지정된 값을 반환한다.
따라서 x축으로 움직일 수 있는 범위를 -5f ~ 5f로 제한할 수 있다.
같은 방식으로 y축도 범위를 제한하여 화면 안에서만 Player가 움직일 수 있게 한다.
[79. How To Set Local Rotation]
Player(로켓)의 각도를 조절한다.
ProcessTranslation()으로 움직이는 코드를 묶음.
ProcessRotation() 역시 각도를 조절하는 코드를 묶음
각도를 조절하기 위해 localRotation을 사용한다. (움직임은 localPosition을 사용했음)
[80. Rotate Ship With Position & Throw]
중앙을 기준으로 오른쪽 이동 시, 왼쪽으로 로켓이 향하고, 왼쪽 이동 시, 오른쪽으로 로켓이 향하게 함.
상, 하, 좌, 우로 이동 시에 각도를 조절시키는 ProcessRotation 함수
[81. Time To Tune And Tweak]
전체적인 세부 요인을 Fix하는 과정 (카메라 초점, 오브젝트 이동 길이, 각도 조절 등)
애니메이션 길이(로켓 이동 시간) 30초 이상으로 늘린다.
[82. Particle System Laser Bullet]
Player 오브젝트에 Particle System Component를 추가한다.
Resources에서 Particle Materials.zip을 다운로드하여 적용한다.
rate over time / start speed / start life time 속성을 변경해서 원하는 형태의 laser을 완성한다.
trails 옵션을 통해 laser의 모양을 만들어 준다.
[83. Exploring Nested Prefabs In Unity]
Nested Prefabs에 대한 실험 단계
Nested Prefabs : 다른 프리팹 내에 프리팹 인스턴스를 포함한다. 고유한 프리팹 에셋 링크를 보유하며 다른 프리팹 에셋의 일부를 형성한다.
*Overrides 드롭다운 버튼은 바깥쪽 Prefabs에만 표시.
*Prefabs 인스턴스가 추가되면 Hierarchy 창의 아이콘 위에 더하기 배지가 오버레이되어 바깥쪽 프리팹의 특정 인스턴스에 대한 오버라이드임을 나타낸다
*바깥쪽(부모) 프리팹의 크기를 바꾸면 속해 있는 프리팹의 크기도 같이 변한다. 하지만 속한 프리팹의 크기를 바꾸면 해당 오브젝트의 크기만 변화한다.
[84. Set Up Firing Input]
ProcessFiring() 함수를 구성하는 과정새 입력 시스템을 사용하여 플레이어가 fire button을 누를 때 결과창에 기록한다.
'Tech Review : Unity & C#' 카테고리의 다른 글
C# 문법 : switch문, 컬렉션(배열, 리스트, 딕셔너리) (1) | 2023.11.11 |
---|---|
C# 문법 : 반복문 (for, foreach, while,break,continue) (0) | 2023.11.10 |
3. Project Boost : Add cheat / Debug Keys ~ Wrap Up (6) (0) | 2023.11.03 |
3. Project Boost : Switch Statements ~ Refactor With Extract Method (1) | 2023.11.02 |
3. Project Boost 31~43 (0) | 2023.11.02 |