좌표 시스템
여기에서는 어떤 좌표계를 - 오브젝트 또는 월드 좌표 시스템에서 사용할지를 설정할 수 있습니다.
모든 옵션이 이 두 가지 좌표 시스템과 함께 사용될 수 있는 것은 아닙니다. 오브젝트 축을 스케일링 하는 경우에는 오직 오브젝트 좌표 시스템만을 사용할 수 있습니다.
오브젝트 좌표 시스템은 뷰포트상에 각각 빨간색(X), 녹색(Y), 파란색(Z)으로 표시된 오브젝트의 로컬 좌표 시스템을 말하며, 각각의 오브젝트들은 자신만의 오브젝트 좌표 시스템을 가지고 있습니다.
Cinema 4D는 매번 서로 다른 명령을 적용할 때마다 거기에 사용된 좌표 시스템을 기억하고 있습니다. 예를 들면 만약 월드 좌표 시스템상에서 이동 툴을 사용해서 오브젝트를 이동시켜준 후, 다시 회전 툴로 변경하면 좌표 시스템은 월드 좌표 시스템에서 로컬 좌표 시스템으로 변경됩니다. 그리고 다시 이동 툴을 선택하면 Cinema 4D는 이전에 월드 좌표 시스템이 사용되었던 것을 기억하여 자동으로 기존의 로컬 좌표 시스템을 월드 좌표 시스템으로 변경시킵니다.
월드 좌표 시스템은 모든 오브젝트들의 부모 좌표계입니다. 뷰포트에는 글로벌 축과 글로벌 그리드(월드 좌표계의 XZ 평면에 있음)을 통해 표시됩니다. Y축은 항상 수직으로 놓입니다. 월드 좌계는 수정할 수 없습니다.
Cinema 4D는 프로그램 기본적으로 HPB 시스템에 따라 동작합니다. HPB는 각각 H 헤딩, P 피치 그리고 B 뱅크의 첫글자를 딴 약어입니다. 하미나, 어떤 회전 시스템은 정의될 수 있습니다.(<순서참조).
아마도 여러분들은 비행기와 연관된 글을 통해서 피치와 뱅킹이라는 말을 들어본 적이 있을 겁니다. 비행기는 왼쪽, 오른쪽으로 회전하는 방법으로 방향을 전환하고 상, 하로 움직임으로써 피치를 변경합니다. 그리고 회전을 함으로써 뱅크를 변경합니다.
각도를 변경할 때 이러한 비행기의 방향전환 원리를 생각하시면 많은 도움이 될 수 있습니다.
HPB 좌표 시스템과 달리 XYZ 회전은 서로 상호적이지는 않습니다. 즉 회전축의 순서가 중요합니다. 예를 들면 X축으로(수치로) 회전하면 Y를 먼저 회전 시켰을 때와는 다른 결과를 보여주게 됩니다. 이러한 점 때문에 XYZ 좌표 시스템은 애니메이션에 사용하기에는 부적절합니다.
반면 HPB 좌표 시스템에서는 각도는 서로 분리되어있습니다. HPB 좌표 시스템에서는 헤딩(H)를 먼저 변경한 후 피치(P)를 변경해주거나 혹은 반대로 적용해줘도 똑같은 결과물을 얻을 수 있습니다.
게다가 HPB의 앵글은 아주 자연스러운 움직임을 만들어줄 수 있기 때문에 비행기나 자동차 혹은 카메라 등을 표현하는데 유용하게 사용할 수 있습니다. XYZ 좌표 시스템에서 특정 축을 중심으로 회전시키면 이 세 가지의 HPB 콤퍼넌트들은 모두 변경되고 결과적으로 애니메이션 적용 시 의도하지 않은 대로 회전을 하게 됩니다. 반면에 HPB 좌표 시스템상에서는 이런 문제점이 일어나지 않습니다.
비록 HPB 좌표 시스템이 애니메이션 시에는 매우 유용하게 사용되지만, 반대로 모델링 작업 시에는 별볼일 없는 기능이기도 합니다. HPB 각도는 부모의 좌표 시스템을 따르기 때문에 매우 높은 추상적 사고를 필요로 합니다.
이장에서 다루고 있는 내용이 Cinema 4D에 익숙하지 않은 유저들에게는 어느 정도 어려울수도 있습니다. 각도 시스템은 분명 쉽게 이해할 수 있는 부분은 아니지만 Cinema 4D는 오브젝트 계층구조와 로컬 좌표계가 완벽하게 통합된 몇 안되는 3D 프로그램 중 하나입니다.
반면에 다른 프로그램들은 기능적으로 타협을 보는 형태를 취하고 있는데 실제 오브젝트 계층구조를 가지고 있지 않거나 혹은 독립된 모델러와 애니메이터를 한정된 범위 내에서 통합시켜 사용하기도 합니다. 그러므로 Cinema 4D에 비해 상대적으로 보다 복잡하고 계층화된 애니메이션을 만드는데에는 어려움이 있습니다.
CIENMA 4D는 다른 3D 어플리케이션 패키지에서는 불가능한 다양하고도 환상적인 기능들을 제공해주는 애니메이션과 모델링이 완벽하게 통합시킴으로써 여러분들의 상상을 완벽하게 실현시킬 수 있는 어플리케이션입니다.
이 섹션에서는 Cinema 4D에서 HPB 좌표 시스템을 사용하는 이유에 대해서 설명하겠습니다.
만약 수학을 좋아하지 않는 유저라면 이 부가적인 상세 설명 부분은 어느 정도 어렵게 다가올 수도 있는 부분입니다.
어떤 사람들은 오브젝트 좌표 시스템에서 Z축(뱅크 각도)을 주위로 회전시킬 경우 월드 좌표 시스템에서는 반대로 Y와 X축(헤딩과 피치)이 회전하게 된다는 점을 이해하지 못하는 경우도 있습니다.
애니메이션에서 오브젝트를 회전시키기 위해서 좌표 시스템을 XYZ 시스템으로 변경한다고 해도 Cinema 4D가 내부적으로 HPB 시스템을 사용하기 때문에 아무런 도움이 되지 않습니다.
오일러(Euler) 시스템인 HPB시스템의 HPB각도는 원칙적으로 오브젝트 자신의 축을 기준으로 하지 않습니다.
참고할만한 예제
최초 각도 좌표가 0/0/0인 오브젝트를 예로 들어 보겠습니다.
먼저 헤딩방향으로 30°를 회전시키면 오브젝트의 X와 Z축은 월드 좌표 시스템의 X와 Z축에 비해 그만큼 회전된 상태가 됩니다. 이 새로운 축을 X와 Z라고 부르기로 합니다(Y는 Y와 동일합니다).
그리고 피치각을 20°로 입력하면 오브젝트 좌표 시스템은 오브젝트 좌표 시스템의 X축을 기준으로 위쪽 방향으로 회전하게 되며 Z는 Z가 되고 Y는 Y가 됩니다(이제 X와 X는 동일합니다).
마지막으로 뱅크각도를 기준으로 -45°로 회전시킵니다. 이렇게 회전시키면 회전된 오브젝트 시스템은 Z 축을 기준으로 기울게 되며 X는 X가 되고 Y는 Y가 됩니다(이번에는 Z와 Z가 동일하게 됩니다).
오브젝트는 이제 각각 이미 회전된 H와 P 그리고 B 주위를 연속으로 회전함으로 30/20/-45의 각도 좌표를 가집니다. 그러므로 HPB 시스템은 오브젝트 축 주위도 월드 축 주위로도 회전하지 않게 되며 뱅크는 완전히 일치하는 오브젝트 축 주위를 동일하게 회전하게 됩니다. 오일러 시스템에는 몇 가지 종류가 있으며 각각의 시스템마다 특유의 회전 순서가 정해져 있습니다.
오일러 시스템의 이런 면들은 실용적이지 못해 보일 수도 있지만 오일러 시스템에는 한 가지 큰 장점이 있습니다:
오브젝트의 회전은 오브젝트 축 주위를 회전하는 경우를 제외하면 서로 분리되어있습니다. 헤딩은 뱅크에 영향을 주지 않으며 뱅크는 피치에 영향을 주지 않습니다. 만약 오브젝트의 X 포지션이 항상 Y와 Z의 위치에 영향을 준다고 상상해 보시기 바랍니다...
다음의 예는 디커플링(decoupling) 문제를 명확하게 보여주고 있습니다.
일단 Cinema 4D가 오일러 각도를 사용하지 않고 X축상의 100/0/0 위치에 하나의 포인트가 있다고 가정해 보겠습니다.
이 예를 통해서 Cinema 4D가 오일러 시스템을 사용하는 이유를 명확하게 보여주고 있습니다. 처음에는 어려워 보일 수도 있으나 일단 익숙해지면 사용하기 편리하다는 것을 알 수 있습니다.