맥스스크립트 기본

Biped Vertical_Horizontal_Turn(Body):Matrix3 Controller(1)

스크립팅하는애님 2021. 3. 7. 16:59
728x90
반응형

안녕하세요.

애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.

오늘은 바이패드의 Vertical_Horizontal_Turn라는 내용에 대해서 이야기합니다.

 

제목만으로는 바이패드의 COM에 관한 건가하고 생각하게 되는데, 저는 복잡하게 생각하지 않고 만들어진 바이패드의 정보를 얻어 오거나 변경하는 정도로만 이해하고 있습니다. (사실 더 정확한 설명이 있을 것이라 생각합니다.)

'Vertical_Horizontal_Turn'은  MAXWrapper(맥스 스크립트에서 모든 오브젝트 들의 슈퍼클래스를 뜻한다네요, 이전에 배운 classof에서 나오는 값들 보다 상위 개념입니다, 당연히 저도 잘 모릅니다. ㅎㅎ )

MAXScript에서 만들 수 없는 Classinstances입니다. (즉 바이패드를 만들면서 같이 생성되기 때문에 따로 생성할 수 없다는 이야기입니다.)

이 컨트롤러는 바이패드의 루트 오브젝트의 transform 트랙에 연결됩니다.

 

요거를 얘기합니다.(아마도요...)

바이패드의 최상위 노드인 COM(Bip001)의 Transform하위에 연결된 Vertical, Horizontal, Turn를 커브 에디터에서 확인할 수 있습니다.

바이패드의 Transform에 접근하는 방법은

biped_ctrl=$bip001.transform.controller

또는

biped_ctrl=$bip001.controller

로 접근할 수 있습니다.

정말 그런지 다음과 같이 입력하고 확인해 보겠습니다.

 

1
2
biped_ctrl=$bip001.transform.controller
biped_ctrl=$bip001.controller
cs

 

MAXScript Editer에서 입력한 내용을 MAXScript Listener에서 확인해보니 같은 결과가 나왔습니다.

 

접근하는 방법을 알았으니 이제 세부 정보를 얻어오고 수정하는 법에 대해서 이야기 하겠습니다.

우선 바이패드를 하나 만들고 시작하겠습니다.

 

 

<biped_ctrl>.rootName String Default: BipXX  --XX 는 숫자입니다.

선택한 바이패드 컨트롤러의 루트 노드 이름을 알 수 있습니다.

COM의 이름을 표시합니다.

바이패드의 어느 노드든 상관없이 하나를 선택하고 다음과 같이 입력하고 결과값을 확인해 봅시다.

 

1
$.controller.rootName
cs

 

여러분이 만든 바이패드 COM의 이름이 잘 표시가 됐나요?

 

<biped_ctrl>.rootNode Node Default: Varies -- 읽기전용

위의 '<biped_ctrl>.rootName'가 이름을 찾는 것이라면 노드 자체를 찾는 것은 이 명령어입니다.

다음과 같이 입력하고 결괏값을 확인해 보겠습니다.

 

1
$.controller.rootNode
cs

 

아까와는 결괏값이 비슷하지만 몇 가지 정보가 더 있는 것처럼 보입니다.

지금의 값은 이름이라는 문자열을 보여주는 것이 아니라 그 이름을 가지고 있는 노드의 간단한 정보를 알려주는 것입니다.

 

오늘 이야기한 내용은 그다지 흥미로운 것 같지는 않지만 사실 바이패드 COM의 이름으로 모른다는 것을 기준으로 스크립트를 짜야하는 경우가 많기 때문에 꽤나 중요한 내용입니다.

오늘은 여기까지 하겠습니다.

다음에도 계속 이어 나가겠습니다.

728x90
반응형