• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

안녕하세요 inspector와 좌표계 부분 질문입니다.

19.02.19 13:02 작성 조회수 237

0

(회전과 쿼터니언) 23:10 초 쯤에 내용이 맞지 않는것 같습니다.

(30,45,60) 인 cube 를

유니티 scene 내에서 global로 설정하고 x축으로 임의로

30도 회전시켰을때

(60,45,60) 이 될거라고 하셨는데 되질 않습니다.

저도 개념이 모호해서 그런지 될것 같은게 안돼서 헷갈리는데요

rotation이 (30,45,60) 인 큐브를

inspector 창에서 x축만 드래그 해서 회전하는게

유니티 scene 내에서 임의로 x축을 회전하는거하고

rotation은 position 과는 다르게 global과 local 둘다 대응이 안돼서

inspector의 표기되는 rotation은 position과 어떻게 다른건지 잘 모르겠습니다.

질문이 애매한데요 제 나름대로 정리하면

inspector에서 rotation의 x축을 드래그 하는건 어떤 의미 인가요?

그니깐 30,45,60에서 inspector의 x축을 움직이는건 그냥 완전히 다른 축을 기준으로 회전하고 있는

거 같은데 왜그런건지 뭔가 이해가 가질 않아서 제가 회전에 대해 기초수학이 부족한것 같기도 하고

보충설명 해주시면 감사하겠습니다.

답변 1

답변을 작성해보세요.

0

인스펙터 창에서 rotatin을 x축으로 증가시킨다는 것은, 부모 게임 오브젝트의 좌표계(부모가 없는 경우 전역)를 기준으로 x 값만큼 더 회전하는 것입니다. 하지만 씬 창에서 (피벗+로컬모드에서) x축 실선을 잡아 직접 회전할 경우, 자신의 이미 회전된 회전(오브젝트 좌표계)을 기준으로 회전하게 되는데 이것은 실제로는 글로벌 또는 부모 좌표계를 기준으로 x축 회전하는 것과는 다른 회전이 됩니다.

옆으로 조금 기울어진 팽이가 스스로의 y축을 기준으로 회전하는 것과, 똑바로 서있는 팽이가 스스로 y축 기준으로 회전하는 것 둘다, 스스로의 입장에서는 y축을 기준으로 회전하는 것이지만, 전역으로 보면 서로 다른 회전이 되는 이치입니다. 또한 실제로는 같은 회전이지만 같은 회전을 서로 다른 종류의 Vector3 회전으로 나타낼수 있습니다. 직관적인 비유로 설명하자면, -30도 회전과 (360-30)=330도 회전은 하나의 회전을 두방법으로 표현한 것이죠. 그래서 60,45,60과 같은 회전이지만 실제 인스펙터에서는 그것과 같은 회전이지만, 값이 다르게 표기되는 경우도 많습니다.

다만 해당 섹션에서 회전과 쿼터니언에 대해 설명이 모호한 부분이 있다고 생각해서, 유니티 2019 버전으로 갱신하는 과정에서, 회전 설명 부분을 명료하게 다시 수정해놓겠습니다.