[Unity] 1. 유니티 피봇 위치변경
Using Unity;
Using C#;
Using Programming;
유니티 피봇 위치변경 방법입니다.
유니티에서는 근본적으로 GameObject or FBX의 Pivot을 변경하는 방법은 없습니다.
다만, 피봇을 변경하려는 목적에 맞게 가공할 수 있습니다.
여러 방법이 있지만, 개발자의 입장에서 가장 쉬운 방법을 알려드리겠습니다.
(사실 디자이너에게 부탁하는게 짱 쉬운 방법!)
1. 먼저 피봇을 바꾸려는 대상을 확인합니다.
- Car 오브젝트를 보면 중앙에 피봇이 잡혀있습니다.
- 반드시 Pivot이 Local 상태임을 확인해야 합니다.
2. 오브젝트의 더미(Dummy)를 생성합니다.
- Car 오브젝트의 하위(자식)으로 더미를 만들면 아주 편합니다.
3. 더미를 원하는 피봇위치로 변경합니다.
- 이때, 피봇의 PostionXYZ, RotationXYZ의 값이 피봇변경의 결과값이 됩니다.
4. 만들어 둔 더미를 최상위로 올리고 기존 Car 를 자식으로 보냅니다.
- 더미로 만들어진 GameObject를 Car밖의 최상위로.
- 다시 Car을 더미아래로 위치시킵니다.
5. 오브젝트를 확인합니다. (끝)
- 피봇이 차의 중앙에서 앞쪽으로 이동하였습니다.
- 더미가 생겨서 Car을 컨트롤하기 위한 최상위 오브젝트의 이름이 바뀌었습니다.
- 피봇이 바뀌어 Trasform의 회전영역 기준점이 바뀐 모습입니다.
Using C#;
Using Programming;
유니티 피봇 위치변경 방법입니다.
유니티에서는 근본적으로 GameObject or FBX의 Pivot을 변경하는 방법은 없습니다.
다만, 피봇을 변경하려는 목적에 맞게 가공할 수 있습니다.
여러 방법이 있지만, 개발자의 입장에서 가장 쉬운 방법을 알려드리겠습니다.
1. 먼저 피봇을 바꾸려는 대상을 확인합니다.
- Car 오브젝트를 보면 중앙에 피봇이 잡혀있습니다.
- 반드시 Pivot이 Local 상태임을 확인해야 합니다.
2. 오브젝트의 더미(Dummy)를 생성합니다.
- Car 오브젝트의 하위(자식)으로 더미를 만들면 아주 편합니다.
3. 더미를 원하는 피봇위치로 변경합니다.
- 이때, 피봇의 PostionXYZ, RotationXYZ의 값이 피봇변경의 결과값이 됩니다.
4. 만들어 둔 더미를 최상위로 올리고 기존 Car 를 자식으로 보냅니다.
- 더미로 만들어진 GameObject를 Car밖의 최상위로.
- 다시 Car을 더미아래로 위치시킵니다.
5. 오브젝트를 확인합니다. (끝)
- 피봇이 차의 중앙에서 앞쪽으로 이동하였습니다.
- 더미가 생겨서 Car을 컨트롤하기 위한 최상위 오브젝트의 이름이 바뀌었습니다.
- 피봇이 바뀌어 Trasform의 회전영역 기준점이 바뀐 모습입니다.
이 문제 해결하려고 한 주를 끙끙 앓았는데 이제야 찾았네요ㅠㅠㅠ 너무 감사합니다.
답글삭제감사합니다
답글삭제