플레이어 움직임,애니메이션 구현중
transform.forward ==>> 현재의 transform을 기준으로 z방향+1크기 벡터를 월드 좌표의 벡터로 변환한값
transform.right x방향 1 벡터를 월드좌표벡터로
트러블슈팅
점프,달리기 애니메이션을 이동방향에 맞게 재생하는 기능을 구현 중
플레이어 오브젝트 하위의 플레이어 모델링의 transform.Rotation을 변경하여 구현하려함
float dgree = Mathf.Atan2(_curMoveInput.x, _curMoveInput.y);
_animator.transform.Rotation = Quaternion.Euler(0, dgree * Mathf.Rad2Deg, 0);
해당 코드로 구현하려 했지만 엉뚱한 방향으로 회전됨
원인과 해결 (튜터님께 질문)
부모를 가진 자식오브젝트는 Inspector창에 부모의 Transform을 기준으로한 LocalTransform만 나타나지만
내부적으로 world기준 Transform을 보유하고있음
따라서 _animator.transform.Rotation은 world기준 Rotation값을 설정하는것이라 엉뚱한 방향으로 회전된것
world기준을 local기준으로 바꾸기위해
_animator.transform.LocalRotation = Quaternion.Euler(0, dgree * Mathf.Rad2Deg, 0);
코드변경하여 정상작동 확인
'Unity 본캠프 TIL' 카테고리의 다른 글
Unity 본캠프 TILUnity 본캠프 TIL (25/03/19) Chapter5 Unity숙련 팀프로젝트 종합 TIL (0) | 2025.03.19 |
---|---|
Unity 본캠프 TILUnity 본캠프 TIL (25/03/06) Chapter5 Unity숙련 3D프로젝트 3일차 (0) | 2025.03.06 |
Unity 본캠프 TILUnity 본캠프 TIL (25/03/04) Chapter5 Unity숙련 3D프로젝트 1일차 (0) | 2025.03.03 |
Unity 본캠프 TIL (25/02/28) Chapter4 Unity입문 팀프로젝트 완결/ 델리게이트Delegate (0) | 2025.02.28 |
Unity 본캠프 TIL (25/02/25) Chapter4 Unity입문 팀프로젝트 / UI (0) | 2025.02.25 |