맥스스크립트 기본

Biped Transforms Methods(1)

스크립팅하는애님 2021. 2. 21. 22:31
728x90
반응형

안녕하세요.

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

오늘은 만들어진 Bip를 수정하는 방법에 대해서 이야기하겠습니다.

 

우선은 다음과 같이 입력하여 바이패드를 생성하여 줍니다.

 

1
biped.createNew 100 -90 [0,0,100]
cs

 

이렇게 바이패드가 생성됩니다.

 

biped.getTransform <biped_node> (#pos | #rotation | #scale) [limb:<biped_node>]

위 명령어는 월드 좌표에서 선택한 노드의 Trnasform값을 가져옵니다.

자세한 사용방법은 다음과 같습니다.

우선 바이패드의 COM을 선택한 후 MAXScript editor에 아래와 같이 입력해 줍니다.

 

1
2
3
biped.getTransform $ #pos
biped.getTransform $ #rotation 
biped.getTransform $ #scale
cs

 

MAXScript Listener에 위와 같이 결과 값이 나왔습니다.

각각 위치, 회전, 스케일 값입니다.

[limb:<biped_node>]부분은 해당 내용어 어떤 작업을 하는지 찾을 수가 없었습니다.

막상 해당 부분을 추가하면 limb부분에 사용한 노드의 값이 결과 값으로 출력이 됩니다.

 

biped.setTransform <biped_node> #pos <point3> <bool_setkey> [limb:<biped_node>]

위 명령어가 값을 확인하는 것이라면 이것은 입력하는 명령어입니다.

위치, 회전, 스케일 중 위치 값을 입력합니다.

사용방법은 다음과 같습니다.

 

1
biped.setTransform $ #pos [0, 0, 0] true
cs

 

위치값을 [0, 0, 0]으로 변경했습니다.

마지막에 입력한 'true'는  이동과 동시에 애니메이션 키값을 넣어줄지를 결정합니다.

위 이미지를 보면 0 Frame에 키가 생성된 것을 확인할 수 있습니다.

회전과 스케일 용으로 다음과 같은 명령어가 있고,

biped.setTransform <biped_node> #rotation <quat> <bool_setkey> [limb:<biped_node>]

biped.setTransform <biped_node> #scale <point3> <bool_setkey> [limb:<biped_node>]

사용방법은 #Pos화 동일합니다.

단 #Scale의 경우는 바이패드의 Figure모드에서만 동작을 합니다.

(바이패드는 앤메이션중 크기를 변경하기 위해서는 SubAnim옵션을 켜주어야 합니다.)

위치를 설정하는 경우 바이패드는 입력한 위치에 배치하려고 하지만 최종적으론 IK에 영향을 받은 값에 위치시킵니다.

 

일반 오브젝트의 이동 회전 스케일을 사용해도 비슷하게 값을 얻어 올 수 있지만 바이 패드용으로 만들진 명령어가 있다는 것은 그만한 이유가 있을 것이라 생각되니 배우고 사용하는 것이 좋을 것입니다.

오늘은 여기까지 이야기하고 다음 시간에 나머지 부분을 설명하겠습니다.

728x90
반응형

'맥스스크립트 기본' 카테고리의 다른 글

Biped Keys(3) / BipedKey(1)  (0) 2021.02.25
Biped Keys(2)  (0) 2021.02.24
Biped Keys(1)  (0) 2021.02.23
Biped Transforms Methods(2)  (0) 2021.02.22
Biped Creation(3)  (0) 2021.02.20
Biped Creation(2)  (0) 2021.02.19
Biped Creation(1)  (0) 2021.02.18
Callback(20) : Other(2) Notifications  (0) 2021.02.17