Technical/Riging
[MAX]LookAt Constraint
ParkJinseok
2021. 3. 1. 15:28
다른 물체를 바라보게 함으로써 자신의 Rotation을 결정하는 Controller
Weight
- Weight는 비율이기 때문에 100의 값을 넣는다고 무조건 해당 Object를 바라보는 것은 아님.
Keep Initial Offset
- LookAt Target이 지정되지 않아서 바라 볼 Object가 없는 상태의 Rotation 방향 (Initial Rotation).
즉, LookAt Constraint만 걸고 Target을 지정하지 않은 상태의 Rotation - LookAt Constraint가 지정된 이후에는 Initial Rotation을 수정 할 수 없음.
Viewline Length, Viewline Length Absolute
- LookAt Constraint로 바라보게 되는 방향이 어디인지 보여주는 Viewline의 길이를 조정.
- Viewline Length Absolute 옵션이 켜져있으면 숫자의 크기로 길이가 결정되고 꺼져있으면 비율로 계산함.
Set Orientation
- Offset 회전 값을 수동으로 조절할 수 있는 모드
- Set Orientation 버튼을 누르고 Rotataion을 회전 시키고 다시 버튼을 누르면 됨.
- Keep Initial Offset 기능과 함께 사용 할 수 없음.
Reset Orientation
- Set Orientation으로 설정한 Offset 값을 LookAt Target 방향으로 되돌린다.
- Keep Initial Offset에서 사용되는 Initial Rotation과는 무관함.
Select LookAt Axis
- Target을 바라보게 될 Object의 Local 축을 결정한다.
말그대로 LookAt Target을 바라보는 축을 Object의 선택한 Local 축으로 설정한다. - Flip 옵션에 의해서 방향을 반대로 뒤집을 수 있음.
Select Upnode
- LookAt Constraint에서는 반드시 Upnode를 명시해주어야 함.
- 기본 상태에서는 Upnode가 World의 Z축과 방향이 일치하도록 지정 되지만 대부분 그대로 사용하는 경우는 없다.
- LookAt Constraint에서 Upnode가 중요한 이유는 Biped와 같이 다른 Object에 LookAt Constraint가 걸린 Object가 Link될 경우, 축 정보가 복잡해져서 GimbalLock과 같은 현상이 발생 할 가능성이 높아진다.
따라서 해당 현상을 해결하기위해 LookAt Constraint에 Upnode를 설정하는 Option이 많이 있음.
Upnode Control
- LookAt
- Select Upnode를 특정 Object로 설정할 경우 Source Axis로 설정한 Axis가 해당 Object를 바라보게 됨.
- World일 경우에는 어떤 것을 바라보는거지??
- Source Axis로 선택한 축이 Y축으로 설정 됨.Flip으로 Axis을 뒤집을 경우엔 Source Axis에서 선택 가능한 2개의 Axis 모두 뒤집힘.
- Axis Alignment
- Source / Upnode Alignment에서 설정한 값에 따라 Axis가 정렬 됨.
- Aligned to Upnode Axis에서 설정한 축에 Source Axis에서 설정한 축이 맞춰짐.
- Aligned to Upnode Axis는 Select Upnode에서 선택한 Object이고 Source Axis는 LookAt Constraint가 걸린 Object임.
- 버그인건지 모르겠지만 Select LookAt Axis를 변경하면 Source Axis에서 Select LookAt Axis로 설정한 Axis가 선택되지 않아야하는데, 다른 Object 선택 했다가 다시 선택하면 설정 할 수 있게 되네…(Select LookAt Axis를 변경하고 Object 선택을 바꾸지 않으면 Source Axis에서 해당 Axis를 선택 할 수 없도록 되기는 함….)
Source / Upnode Alignment
- Aligned to Upnode Axis는 LookAt 방식의 Upnode Control에서는 의미 없음.
셋팅 방법
- 아래 내용들의 Upnode Control은 Axis Alignment를 사용함.
- LookAt Constraint가 걸린 Bone과 동일한 Bone을 부모 Bone(또는 Dummy)으로 하나 더 만들어 연결하고 그 Bone을 Biped와 같은 곳에 연결 시킨다.
위와 같은 방법으로 하면 Parent에 연결 되면서 축이 변경되는 문제는 해결 할 수 있다. - 일반적으로 Object의 정면 방향이 X축이기 때문에 Select LookAt Axis는 X축으로 설정하는 편임 (Object의 정면 방향이기 때문에 직관적임)
Select LookAt Axis를 설정하면 해당 축은 Source Axis에서 설정이 불가능해짐. 이유는 Select LookAt Axis에서 설정한 축은 LookAt을 바라보는 축이 되고 Source Axis에서 설정한 축은 위쪽을 바라보는 축이 되기 때문에 둘을 동시에 만족시킬 수는 없음. - Select Upnode는 일반적으로 Link가 걸리는 부모로 설정함.
- Gimbal을 완전히 제거하는 것은 어려움. 다만 Source / Upnode Alignment의 옵션들로 어느 축에서 Gimbal Lock 발생하게 만드냐의 문제임.
- 활용 예제
3dsMax Animation Controller LookAt Constraint5
Select Upnode |
Upnode Control |
Source Axis |
Aligned to Upnode Axis |
좌표 순서(World 기준 XYZ 순서) |
World |
Axis Alignment |
Y |
Y |
XYZ |
World |
Axis Alignment |
Z |
Y |
XZ(-Y) |