플레이어 회전

비행기의 회전 요소

Roll

씬 창의 Z축

Pitch

씬 창의 X축

Yaw

씬 창의 Y축

 

회전 영향

Pitch -> Yaw 순으로 조절하니까 모든 Yaw를 조정할 때 모든 축이 영향을 받는다.

Pitch -> Yaw

Yaw -> Pitch 순으로 조절하니까 다른 축에 영향 없이 깔끔하게 회전이 된다.

Yaw- > Pitch

Yaw - Pitch - Roll 순으로 조절하니까 다른 축에 영향 없이 잘 움직인다. (Y축 -> X축 -> Z축)

* Pitch - Roll만 따로 움직여도 영향 없이 잘 움직인다. => 순서가 중요하다.

Yaw -> Pitch -> Roll

 

회전 스크립트

월드에 대한 회전인 transform.rotation 대신 transform.localRotation을 사용하는 이유는
Player Rig(월드 기준 오브젝트)의 회전을 조절하면 카메라까지 회전되어 어지러워져서 그렇다. (의도에 따른 방법)

localRotation

왜 localPosition.y에 factor를 곱하느냐? => 현재 위치(높이)에 따른 각도를 조절해줘야 하기 때문에 위치에서 값을 불러온다.

그리고 pitch(x축) 회전이므로 factor 값을 음수로 넣어줘야 위치가 +가 될 때 x축으로 - 회전인 위로 향하게 된다.  

localPosition.y
pitch
x축 회전이 된 모습

x축 -> 화면 양옆 이동으로 Pitch Rotation이 연동, 컨트롤 할 때 함선 앞쪽의 기울기와 연동

y축 -> 화면 위아래 이동으로 Yaw Rotation과 연동

z축 -> 컨트롤 할 때 함선 양 옆의 기울기와 연동

C#과 Unity로 3D 게임 개발하기

회전 연동

 

나머지 회전들

YawDueToPosition도 위와 같은 이유인 position과 연동되기 때문에 localPosition.x을 사용하였고(양 옆 이동)

Yaw Factor 값을 양수로 설정해준 이유는 음수로 설정하면 바로 아래 사진처럼 가운데만 쏠 수 있게 되고

양수로 설정하면 정면을 쏠 수 있어서 그렇다.

YawFactor 음수
YawFactor 양수

 

'유데미 강의 > 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

+ Recent posts