플레이어 회전
비행기의 회전 요소
Roll
씬 창의 Z축
Pitch
씬 창의 X축
Yaw
씬 창의 Y축
회전 영향
Pitch -> Yaw 순으로 조절하니까 모든 Yaw를 조정할 때 모든 축이 영향을 받는다.
Yaw -> Pitch 순으로 조절하니까 다른 축에 영향 없이 깔끔하게 회전이 된다.
Yaw - Pitch - Roll 순으로 조절하니까 다른 축에 영향 없이 잘 움직인다. (Y축 -> X축 -> Z축)
* Pitch - Roll만 따로 움직여도 영향 없이 잘 움직인다. => 순서가 중요하다.
회전 스크립트
월드에 대한 회전인 transform.rotation 대신 transform.localRotation을 사용하는 이유는
Player Rig(월드 기준 오브젝트)의 회전을 조절하면 카메라까지 회전되어 어지러워져서 그렇다. (의도에 따른 방법)
왜 localPosition.y에 factor를 곱하느냐? => 현재 위치(높이)에 따른 각도를 조절해줘야 하기 때문에 위치에서 값을 불러온다.
그리고 pitch(x축) 회전이므로 factor 값을 음수로 넣어줘야 위치가 +가 될 때 x축으로 - 회전인 위로 향하게 된다.
x축 -> 화면 양옆 이동으로 Pitch Rotation이 연동, 컨트롤 할 때 함선 앞쪽의 기울기와 연동
y축 -> 화면 위아래 이동으로 Yaw Rotation과 연동
z축 -> 컨트롤 할 때 함선 양 옆의 기울기와 연동
YawDueToPosition도 위와 같은 이유인 position과 연동되기 때문에 localPosition.x을 사용하였고(양 옆 이동)
Yaw Factor 값을 양수로 설정해준 이유는 음수로 설정하면 바로 아래 사진처럼 가운데만 쏠 수 있게 되고
양수로 설정하면 정면을 쏠 수 있어서 그렇다.
'유데미 강의 > C#과 Unity로 3D 게임 개발하기 : 아르곤 침공' 카테고리의 다른 글
레이저 총알 파티클 (0) | 2022.08.26 |
---|---|
게임 플레이 조율하기 (0) | 2022.08.26 |
플레이어 이동하기 (0) | 2022.08.25 |
Input Manager와 Input System (0) | 2022.08.25 |
Timeline (0) | 2022.08.25 |