맥스스크립트 심화

오브젝트의 머지(2)

스크립팅하는애님 2019. 9. 6. 16:18
728x90
반응형

안녕하세요.

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

지난번에는 스크립트 작업을 하나도 하지 않은 상태에서 이야기를 마무리했었습니다. ㅎㅎ

오늘은 지난번에 준비한 맥스 파일들로 실제 머지를 하는 방법에 대해서 알아보겠습니다.

 

 

저는 머지당할(?) 파일 4개와 머지할(?) 파일 1개를 준비했습니다.

우선 pose1.max파일을 열고 스크립트를 작성하겠습니다.

 

 

어설픈 대자 포즈의 파일이 열렸습니다.

이상태로 머지를 한다면, 몸의 각 파츠에 맞지 않게 머지가 될 것입니다.

바이패드를 피겨 상태로 바꿔야겠죠.

바이패드를 피겨 상태로 해봅시다.

다음과 같이 입력하고, 실행해 봅시다.

 

1
$'bip001'.transform.controller.figureMode = true
cs

 

 

 

피겨 모드가 되면서 차렷 자세로 변경됐습니다.

이전에 머지용 더미들을 만들었을 때의 포즈입니다.

이상태에서 머지할 파일을 머지 하도록 합니다.

다음과 같이 추가 입력을 하고 실행해 봅시다.

 

2
mergeMAXFile "D:\\test\\머지용.max" quiet:true
cs

 

 

머지할 파일에 있는 노드들이 머지되었습니다.

mergeMAXFile 함수의 여러 가지 옵션들을 사용하여 중복되는 노드나 메터리얼 등의 처리를 어떻게 할지를 정 할 수도 있지만, 그것을 정하는 것보다는 머지할 파일들이 문제가 발생하지 않도록 정리를 해주는 편이 작업이 더 효율적입니다.

물론 특별한 경우에는 옵션을 사용해야 하지만요.

옵션 관련 내용은 이전에 설명한 '파일 열기와 저장(3) 맥스 파일 Merge'에서 확인하실 수 있습니다.

 

잘 머지되었다면 머지된 노드를 원하는 노드에 링크를 해야 합니다.

다음과 같이 이어서 입력을 하고 실행을 해봅시다.

 

3
4
5
6
7
8
$'Point Head'.parent = $'Bip001 Head'
$'Point Spine3'.parent = $'Bip001 Spine3'
$'Point L Hand'.parent = $'Bip001 L Hand'
$'Point R Hand'.parent = $'Bip001 R Hand'
$'Point L Pelvis'.parent = $'Bip001 Pelvis'
$'Point R Pelvis'.parent = $'Bip001 Pelvis'
cs

 

 

뷰포트에서는 바뀐 부분이 없지만, Schematic View에서는 노드의 링크 구조가 보이기 때문에 잘 링크가 되었다는 것을 알 수 있습니다.

 

이상태에서 파일을 저장해야 겠죠.

그냥 키보드나 마우스로 저장을 할 수 있지만 스크립트를 배웠으니 스크립트로 저장해 봅시다.

다음과 같이 이어서 입력하고 실행해 봅시다.

 

9
saveMaxFile (maxFilePath + maxFileName)
cs

 

maxFilePath는 현재 열린 파일의 위치를 maxFileName는 현재 열린 파일의 이름을 불러옵니다.

즉 지금 파일로 덮어 씌우겠다는 뜻이 됩니다.

이렇게 하면 열린 파일에 머지할 파일을 머지하고

원하는 부위에 링크한 뒤에

저장까지 하는 것입니다.

 

오늘이야기한 내용

1
2
3
4
5
6
7
8
9
$'bip001'.transform.controller.figureMode = true
mergeMAXFile "D:\\test\\머지용.max" quiet:true
$'Point Head'.parent = $'Bip001 Head'
$'Point Spine3'.parent = $'Bip001 Spine3'
$'Point L Hand'.parent = $'Bip001 L Hand'
$'Point R Hand'.parent = $'Bip001 R Hand'
$'Point L Pelvis'.parent = $'Bip001 Pelvis'
$'Point R Pelvis'.parent = $'Bip001 Pelvis'
saveMaxFile (maxFilePath + maxFileName)
cs

위 내용은 다음시간에도 필요하니 저장해 둡시다.

 

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

사실 오늘 한 얘기는 이전에 한내용과 거의 유사합니다.

그렇지만 다음에 배우게 될 폴더 내 모들 파일을 배치 형식으로 머지하는 것을 알기 위해서는 필요한 부분입니다.

다음 시간에는 이것을 더욱 개량해 보도록 하겠습니다.

728x90
반응형

'맥스스크립트 심화' 카테고리의 다른 글

오브젝트의 선택(2)  (0) 2019.09.13
오브젝트의 선택(1)  (0) 2019.09.12
오브젝트의 머지(7)  (0) 2019.09.11
오브젝트의 머지(6)  (0) 2019.09.10
오브젝트의 머지(5)  (0) 2019.09.09
오브젝트의 머지(4)  (0) 2019.09.08
오브젝트의 머지(3)  (0) 2019.09.07
오브젝트의 머지(1)  (0) 2019.09.05