Cinema 4D 기본 기능들 오브젝트 필드 필드 오브젝트 쉐이더 필드
에서 사용 가능한 기능 CINEMA 4D Visualize, Broadcast, Studio
쉐이더 필드

기본 좌표 필드 리맵핑 컬러 리맵 방향

좌표

P [XYZ m]

이 값은 월드 좌표계 또는 오브젝트가 계층 내에 위치할 경우 부모 좌표계와 연관된 오브젝트의 위치를 나타냅니다 (좌표 매니저참조).

S [XYZ ]

이 값은 월드 좌표계 기준으로 오브젝트의 크기를 나타내거나, 오브젝트가 계층 구조 속에 있을 경우엔 부모 좌표계 시스템 기준으로 오브젝트의 크기를 나타냅니다. (좌표계 매니저 참조)

이 값을 사용하는 오브젝트의 크기를 수정하려 할때, 오브젝트 축 모드 사용하기 모드에서 크기를 조절하는 값과 동일시 합니다. 즉, 오브젝트의 축 시스템이 변경됩니다. (아래 참조 오브젝트 모드 사용하기와 모델 모드 사용하기 차이점)

R [HPB °]

이 값은 월드 좌표계 시스템 기준으로 오브젝트의 각도를 나타냅니다. 또는 오브젝트가 계층 구조 속에 있을 경우에는 부모 좌표계 시스템 기준으로 오브젝트의 각도를 나타냅니다. 좌표계 매니저 참조.

순서

본 선택 메뉴는 애니메이터에서만 해당됩니다. 본 메뉴의 옵션은 공포의 "짐벌락” 현상을 최소화할 수 있습니다.

다음 예제를 보십시오:

복잡한 하이라키를 가진 애니메이션에 대한 캐릭터 설정이 보입니다. 정면 뷰에서 추측하건대 단순히 아래방향으로 회전하는 오른쪽 팔의 어깨 조인트를 애니메이션한다고 가정해 봅시다. 즉, 우리는 위 방향 및 아래 방향으로 손가락 끝에 대해 키프레임을 생성합니다. 이제 애니메이션을 재생하고 상단으로부터 보면, 기대했던 아래 방향으로의 움직임 대신, 팔 또한 약간 벗어나는 것을 관찰할 수 있습니다. (위의 이미지 우측 상단 참조) 이러한 예를 "짐벌락” 효과라고 합니다.

이 예제는 상대적으로 약한 것입니다; 그러나 극단적인 경우 매우 비정상적인, 코르크-스크루 타입의 움직임을 유발할 수도 있습니다.

적절한 회전 순서가 어떻게 이런 효과를 줄이는데 도움을 줄 수 있을까요? 계획한 애니메이션 작업 수행을 위해 어느 축이 최소로 회전하는가를 결정하기 위해 애니메이션 작업에 앞서 조인트 축을 먼저 살펴보아야 합니다. 본 예제에서 이 축은 좌측에 표시된 X축입니다. 이제 X축이 2번째에 위치한 순서 옵션 중 하나를 선택합니다. 거의 식별이 불가능한 "벗어남”이 여전히 존재하지만 결과는 이전보다 훨씬 훌륭합니다.

어느 회전 순서가 올바른지 결정하는데 도움을 주는 또 다른 옵션은 짐벌링 회전 옵션입니다. 이 옵션을 활성화하고 회전 툴을 활성화합니다:

시퀀스를 왼쪽은 HPB로 오른쪽은 XYZ로 설정.

회전 밴드를 이용하여 (애니메이션 작업에 앞서) 직접 계획한 애니메이션이 주어진 방향으로 잘 작동하는지 확인할 수 있습니다. 위의 이미지 상단 좌측에서 회전 (빨간 화살표)을 불가능하게 하는 것처럼 보이는 방식으로 나열된 적, 녹, 청 회전 밴드를 보실 수 있습니다 (어떠한 밴드도 회전 평면에 놓여있지 않습니다). 이 애니메이션은 짐벌락 문제를 가지고 있습니다.

밴드 중 하나가 회전 평면 (위의 이미지: 청색) 상에 또는 회전 평면 근방에 놓여질 때까지 다양한 순서 옵션을 껐다 켰다를 반복합니다. 애니메이션 작업 시 이제 짐벌락 문제가 대부분 해결된 것을 보실 수 있을 것입니다.

짐벌락에 관한 몇가지 추가 코멘트가 있습니다:

만약 두번째 값 (아래 표시된 범위의 중심값)을 근사로 설정할 경우 항상 문제되는 것이 있습니다. 회전 순서에 관계되는 90° (또는 270°):

해당 값을 항상 또는 또는 그 근처값으로 설정하는 것이 최선책입니다.

전통적으로는 부모 널 오브젝트를 애니메이션하여 이 문제를 회피할 수도 있습니다.

대화상자 윈도우의 아래 부분에서 보실 수 있는 상태 고정 선택 또한 도움이 될 수 있습니다.

 쿼터니언

쿼터니언 회전

Tip:
쿼터니언 태그의 기능은 (이것은 이전 씬을 불러올 때(R18이전)에만 나타나고 새 태그로 더 이상 생성되지 않습니다) 오브젝트 속성으로 통합되지 않습니다.

일반

확실히 예를 들어 캐릭터 애니메이션과 함께 무서운 짐벌락에 대해 들어보셨거나, 개인적으로 경험해보셨을 것으로 생각됩니다!

짐벌락은 헤딩 H과 뱅킹 B이 같은 효과를 가지는, 회전 값이 P +/- 90°를 가질 때 발생합니다. 그 결과 이 축들중 하나를 모두 잃게 되고 아주 작은 회전에서도 큰 회전 이동이 발생합니다.

회전 애니메이션에서만 동작하는 쿼터니언 기능이 도움이 될 수 있습니다.

기본값으로, Cinema 4D는 오브젝트의 회전을 보간하기 위해 오일러 회전을 사용합니다. (오일러: 분리 회전(HPB), 유클리드(오른쪽-각도) 3D 공간을 위한 자이로 시스템).

오일러 회전의 개별 컴퍼넌트들은 개별적으로 보간되는데, 이것은 예를 들어, HPB (0, 0, 0)과 HPB (60, 60, 60)에서 평균값인 HPB (30, 30, 30)이 되는 것을 의미합니다. 0, 0, 0에서 30, 30, 30을 거쳐 60, 60, 60으로 스윙하는 것은 뷰포트에서 테스트할 수 있는 가장 짧은 경로를 필요로 하지 않는 다는 사실.

필요로 하는 것은 경로를 수동으로 애니메이션을 해야 할 경우, 사용자가 어떻게 하더라도 A에서 B로 가장 짧은 경로를 가지는 보간입니다.

이것이 정확하게 쿼터니언이 하는 일입니다. 쿼터니언은 0, 0, 0에서 60, 60, 60으로 경로를 35.104 °, 22.83 °, 35.104 °를 경유해서 가집니다.

쿼터니언은 불필요한 동작을 없애서 짐벌락을 피합니다.

쿼터니언 애니메이션을 기본적으로 모든 오브젝트들에 왜 적용하지 않는지 궁금하실 수 있습니다. 그 이유는 쿼터니언 보간 역시 단점을 가지고 있기 때문입니다. 회전할 때 변화가 180°보다 적을 경우 쿼터니언은 잘 동작합니다. 이 값을 넘게 되면, 문제들이 발생할 수 있는데 쿼터니언은 항상 가능하면 가장 짧은 경로를 찾으려고 하기 때문입니다.

Tip:
쿼터니언 익스프레션을 위한 최단 경로는 항상 3D 구 위에 있습니다. 이것은 고정 축 주위에 쿼터니언 보간에 의한-가능한 한 축 주위를 최소 회전으로 회전시킬 수 있는 회전을 상상할 수있습니다. 원칙적으로 이것은 오브젝트 축과는 아무런 상관이 없고 각각의 회전마다 다릅니다.

예제

다음 예제를 보세요:


  1. 오브젝트는 주어진 축 주위를 180°보다 더 회전할 필요가 있습니다.
  2. 키프레임은 초기상태로 설정되어, 타임슬라이더는 회전이 끝나는 시점의 프레임으로 이동하고, 오브젝트가 회전하고, 움직임이 키프레임에 설정됩니다. 여기까지는 순조롭습니다.
    쿼터니언 기능을 사용하는지 여부와 상관없이, 초기상태와 최종상태에 변화가 없습니다. 쿼터니언 보간은 같은 목표를 달성하기 위한 다른 방식을 사용합니다.
  3. 먼저, Cinema 4D에서 전통적인 오일러 회전 방식을 보겠습니다:
    오브젝트는 키프레임들(예. B (뱅크)가 220° 회전되어, 오브젝트의 시계방향으로 220°로 회전합니다)을 사용해서 회전됩니다:
  4. 이제 쿼터니언 방식을 이용하겠습니다. 이미 설명한대로, 보간 방식은 마지막 상태로 항상 가능한 가장 짧은 경로를 찾습니다. 이 예제에서 가장 짧은 경로는 (뷰어의 화각에서) 시계방향 220°가 아니라 정확히 반대 방향인 반시계방향 140°입니다.

쿼터니언 회전 옵션을 활성화하여, 그 오브젝트에 쿼터니언 애니메이션을 활성화합니다 (키프레임 값들은 동일하며 값들 사이의 보간이 그에 따라 변경됩니다). 이 옵션이 해제되면, 오일러 애니메이션 방식이 사용됩니다.

쿼터니언 보간은 로컬 회전 트랙에서만 동작하며 고정 좌표에서는 동작하지 않음에 주의하세요(모두 상태 고정 참조).

각각의 쿼터니언 보간 옵션은 임시적으로 보간에 영향을 주는데 사용될 수 있는 키프레임 속성에서 사용할 수 있습니다.

오일러 애니메이션들과 다음과 같은 차이가 발생합니다:

쿼터니언 애니메이션은 언제 사용하고 사용하지 말아야 할까요?

쿼터니언 애니메이션은 다음의 경우에 사용되어야 합니다:

쿼터니언 애니메이션은 다음의 경우에는 사용되어선 안됩니다:

 상태 고정

모두 상태 고정

이 기능은 주로 애니메이션에서만 사용됩니다.

3D에서, 오브젝트의 고정은 "zeroing out”(또는 ”dual transformation”)으로 간주됩니다. 왜냐하면 위치와 회전의 로컬 좌표값은 오브젝트의 위치 또는 방향의 변화 없이 각각 0으로 설정되고 크기는 1로 설정되기 때문입니다.(아래에서는 위치와 회전만을 참조할 것입니다.) 널 오브젝트를 만들 때 위치와 방향은 오브젝트와 동일하고 오브젝트는 널 오브젝트의 자식 오브젝트가 되고 이것은 앞과 같게 이뤄집니다. 이것은 R12이전에 사용되었던 문제 해결 방법입니다.

여러분은 다음과 같이 오브젝트르 고정할 수 있습니다: 내부적으로, 선택된 오브젝트의 좌표값을 가진 널 오브젝트가 생성됩니다. 이 좌표값들은 상태 고정탭에 복사되고 널 좌표로 옵셋됩니다. 즉, 어떤 수정은 원래 좌표값을 고정 좌표로 만듭니다.

그래서 이것을 어디에 사용할 수 있을까요? 설명하기 위해서 우리는 기본으로 시작하겠습니다:

이 씬은 2개의 오브젝트를 포함합니다: Arm 2는 위 그림에서 보여지듯이 로컬 좌표값을 가지고 있고 Arm 1의 자식 오브젝트입니다. 속성 관리자에서 보여지는 좌표값은 항상 로컬 좌표값입니다.(계층구조에서 부모 오브젝트의 좌표시스템의 영향을 받습니다.) 지금까지는 좋습니다.

이제 Arm2가 X축 방향으로 45°회전하기를 원합니다. 일반적으로 2개의 키프레임을 적용해서 회전하는 밴드를 사용해서 오브젝트를 회전시킵니다:

그 결과는 위 그림의 가운데와 같이 보입니다. 하나의 축 중심으로 회전해도 모든 세 축이 수정됩니다. 이것은 부모 오브젝트의 좌표 시스템이 (Arm 1) 로컬 좌표축으로부터 다른 방향을 하고 있기 때문에 발생합니다. 종종, 이것을 피할 수 없습니다. 타임라인에서, 수정되어야 하는 세 개의 F-Curves가 쉽지가 않습니다. 게다가 우리 예제는 또한 애니메이션 Gimbal lock을 제공합니다. (쿼터니언 회전)참조), 이것은 팔의 이후 회전 결과입니다.

이 모든 불리한 결과들은 애니메이션하기 이전에 상태 고정을통해 피할 수 있습니다. 이것은 위치, 크기, 회전 값들을 같은 이름으로 복사하고, 각각 초기값인 01로 설정합니다.

이것은 아래와 같은 이점들이 있습니다:

모두 상태 고정 명령은 모든 좌표값들을 고정시킵니다. (위치, 크기, 회전) 즉, 모든 좌표값은 0으로 설정됩니다.

Tip:
변화 고정 명령(모드 / 좌표 메뉴)은 모든 선택된 오브젝트들에 같게 적용합니다.

모두 고정 해제

기본 좌표는 고정 좌표로 변환됩니다. 고정좌표는 모두 0으로 설정됩니다.

Tip:
이 기능은 각각 명령을 사용한 모든 오브젝트들에 사용될 수 있습니다.(main menu: 모드/ 좌표 / 변화 고정 해제).

P [XYZ m]
S [XYZ ]
R [HPB °]

이것들은 부모 계층구조로부터 받은 상태 고정입니다.

Tip:
이 상태 고정 값들은 XPresso 에디터(좌표/ 상태 고정)의 인풋과 아웃풋 포트 메뉴에서 볼 수 있습니다. 이 좌표들은 고정된 후 여기에서 수정될 수 있습니다. 기본 좌표는 0로 설정된 상태로 유지됩니다.

P 유지
S 유지
R 유지

이 버튼은 각각의 세가지 기본 좌표를 개별적으로 고정하는데 사용될 수 있습니다:

Tip:
위치 좌표의 고정은 고정된 회전값의 결과로 수정될 수 있습니다. 이것은 일반 효과입니다. 예를 들어, 자식 오브젝트는 회전하면(고정에 비해) 같은 상대적인 위치를 유지하기 위해 경우에 따라 자식 오브젝트의 위치를 변경해야 합니다.