Q. Constraint가 무엇인가?
A. 오브젝트를 다른 오브젝트에 구속시키는 컨트롤러이다.
각 오브젝트는 Position, Rotate, Scale에 대한 컨트롤러를 가지고 있다.
그리고 각 컨트롤러는 변경이 가능하다.
여러 컨트롤러가 있지만, 그 중에서 해당 값들을 다른 오브젝트에 구속시키는 컨트롤러가 있다.
그러한 컨트롤러들을 Constraint라고 부른다.
필수적으로 알아야 하는 Constraint는 4가지가 있다.
Q. 필수적으로 알아야 하는 Constraint 4가지는 무엇인가?
A. Position Constraint, Orientation Constraint, LookAt Constraint, Link Constraint가 있다.
Q. 필수 Constraint 4가지에 대한 설명을 부탁한다.
A. 간략하게 얘기하자면, Position Constraint는 타겟 오브젝트에 의해서만 위치를 제어할 수 있다.
Orientation Constraint는 타겟 오브젝트에 의해서만 회전 값을 제어할 수 있다.
LookAt Constraint는 타겟 오브젝트을 항상 바라보도록 하는 것으로, 타겟오브젝트로 회전 값을 제어한다.
Link Constraint는 Link와 동일하지만, 타겟오브젝트를 다중으로 선택할 수 있고 무엇보다 타겟 오브젝트를 바꾸면서 애니메이션이 가능하다는 장점이 있다.
Q. 위에 있는 4가지만 알면 되는가?
A. 위에 있는 것만 알아도 업계에서 문제는 없다.
위에 있는 것들만 알아도 웬만한 것은 다 구현가능하다고 볼 수도 있기 때문이다.
다만, 추가적으로 알면 좋은 것들이 있다.
Q. 추가적으로 알면 좋은 것이 무엇인가?
A. Path Constraint와 List Controller이다.
Q. List Controller는 Constraint가 아니다. 무엇인가?
A. 앞서 얘기했듯이 Constraint는 Controller에 한 종류이다.
List Controller는 다중 컨트롤러를 적용시킬 수 있는 컨트롤러이다.
기본적인 컨트롤러는 하나만 적용이 가능하다.
다른 컨트롤러를 적용하면 기존에 있던 컨트롤러는 사라지는 식이다.
예를 들어, Rotate 컨트롤러에 Orientation Constraint와 LooAt Constraint가 있다.
그렇기 때문에 Orientation Constraint와 LooAt Constraint는 기본적으로 동시에 적용할 수 없다.
하지만 Rotate 컨트롤러에 List Controller를 적용하면, List Controller에 Orientation Constraint와 LooAt Constraint를 동시에 적용할 수 있다.
결론적으로 두가지의 컨트롤러를 동시에 적용하게 되는 것이다.
Q. List Controller를 알아야 하는 이유는 무엇인가?
A. 단축키를 통해 Constraint를 빠르고 간편하게 적용할 수 있는데, 이 때 단축키를 통해 적용시킨 Constraint는 List Contoller 안에 들어가서 적용이 되는 형태이다.
즉, 단축키로 컨트롤러 적용시 가장 먼저 List Controller가 적용이 되고 List Controller 안에 단축키로 적용시킨 컨트롤러가 들어가게 되는 것이다.
또한 Orientation Constraint와 LookAt Constraint처럼 같은 분류에 컨트롤러지만 쓰임이 다른 컨트롤러를 동시에 적용시켜야 할 때, 추가 오브젝트를 생성해 복잡하게 설계하지 않고 List Controller를 써서 간단하게 해결할 수 있다.
Q. Path Constraint는 무엇인가?
A. Spline을 경로로 지정하여 오브젝트가 움직이는 경로를 제한하는 컨트롤러이다.
이 컨트롤러는 캐릭터가 아닌 캐릭터의 무기를 애니메이션 할 때 주로 사용된다.
예를 들어, 사복검과 젠야타의 염주 같은 것이 있다.
원을 Path Constraint의 타겟으로 지정하면, 원을 조절하여 아래에 있는 젠야타의 염주 애니메이션을 쉽게 만들 수 있다.
스크립트를 사용한다면 훨씬 더 편하게 사용할 수 있는 컨트롤러이다.
Q. 컨트롤러를 적용하는 방법이 무엇인가?
A. 컨트롤러를 변경할 오브젝트를 선택하고, Motion Panel > Assign Contoller Rollout에서 [Position, Rotate, Scale]어떤 분류의 컨트롤러를 변경할지 선택한다.
선택을 하고나면 체크표시 아이콘인 Assign Controller 버튼을 클릭한다.
그러면 해당 분류에서 적용할 수 있는 컨트롤러 리스트 창이 뜬다.
해당 창에서 변경할 컨트롤러를 선택하고 OK를 누르면 된다.
이렇게 하면 원하는 컨트롤러로 변경이 가능하다.
하지만 우리는 대한민국 사람! 코리아인! 빨리빨리의 나라!
빠르게 단축키 설정을 하여 사용하면 편하다.
다만, 주의할 점은 단축키 사용을 하여 컨트롤러 적용시 List Controller가 적용이 된다는 점이다.
Q. 각 컨트롤러의 (인터페이스)Rollout들을 설명해줄 수 있는가?
A. 위에서 언급했던 Controller들이 인터페이스가 비슷한 부분도 있고, 다른 부분도 있어서 모두 합쳐서 각 기능들을 간략하게 설명하겠다.
사진은 넣지 않으니 각자 원하는 컨트롤러를 적용하고, 개인적으로 인터페이스를 보기를 바란다.
- Add [Position / Orientation / LookAt] Target : 타겟 오브젝트 추가
- Add [Link / Path] : Link 할 오브젝트 / Path 추가
- Add World as Target : World를 타겟으로 지정
- Link to World : World에 Link
- Delete [Position / Orientation / LookAt] Target : 타겟 오브젝트 삭제
- Weight : 해당 타겟 오브젝트의 영향을 얼마나 받을 것인지를 결정
- Keep Initial Offset : 컨트롤 오브젝트의 영향을 받는 오브젝트의 기존 위치 및 방향을 유지시키는 기능
- Transform Rule : 오브젝트가 회전시 어떤 좌표계를 기준으로 회전할지를 결정
- Viewline Length : 오브젝트의 중심부터 컨트롤 오브젝트까지 잇는 선의 길이를 지정
- Set Orientation : 제약을 받는 오브젝트의 회전 값을 수정
- Reset Orientation : 제약을 받는 오브젝트의 회전 값을 기본으로 설정
- Selet LookAt Axis : Local Space를 기준으로, 대상을 바라보는 축을 지정
- Upnode : LookAt Constraint가 적용된 오브젝트가 축을 정렬할 때, 정렬의 기준이 되는 축을 가진 오브젝트
- Select Upnode : Upnode를 선택
- Upnode Control : Upnode를 어떻게 할지 결정
- LookAt : 타겟이 Upnode가 됨
- Axis Alignment : Upnode의 축이 오브젝트에 맞게 수정 됨
- Source/Upnode Alignment : (Source)오브젝트를 정렬한 축과 (Upnode)정렬 기준이 되는 오브젝트의 축을 결정
- Start Frame : Target List 창에서 선택한 Link의 Frame을 조절
- %Along Path : Path를 따라 오브젝트가 얼마나 이동했는지 설정 (오브젝트의 전체 길이 = 100%)
- Follow : 오브젝트가 Path 방향대로 바라보도록 하는 기능
- Bank : Follow를 활성화 했을 때 활성화 가능한 버튼으로, 물리법칙을 적용
- Bank Amount : 오브젝트가 Bank의 영향을 얼마나 받을지 설정
- Smoothness : 오브젝트가 방향을 트는 정도를 설정
- Allow Upside Down : 수직방향 경로 주변으로 이동할 때, 오브젝트가 대칭 이동되는 현상 방지
- Constant Velocity : Path를 균일한 속도로 이동하도록 하는 기능
- Loop : 오브젝트가 Path를 계속해서 이동하도록 하는 기능 (Along Path가 100을 넘기면 원점으로 돌아가도록 함)
- Relative : 오브젝트가 원래 위치에 있도록 하는 기능 (Keep Initial Offset과 동일)
Q. 여러 분류의 컨트롤러 적용시 다시 예전에 적용한 컨트롤러를 볼 방법은 없는가?
A. Position Constraint를 적용하고 Orientation Constraint를 적용했다고 했을 때, 다시 Position Constraint를 보려면 Motion Panel > PRS Parameter Rollout에서 하단에 있는 Position 버튼을 누르면 된다.
그 다음 다시 Orientation Constraint를 보려면 PRS Parameter Rollout에서 하단에 있는 Rotation 버튼을 눌러주면 된다.
댓글