맥스스크립트 심화

파일머지 편하게하기(1)

스크립팅하는애님 2021. 4. 22. 20:57
728x90
반응형

안녕하세요.

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

오늘은 이전에도 설명했던 머지에 대해서 이야기하려고 하는데요.

'심화'인 만큼 조금더 쉽게 사용할 수 있는 스크립트를 만들도록 하겠습니다.

애니메이터인 저는 바이패드로 만들어진 캐릭터에 새로운 본이나 오브젝트를 추가하거나 삭제하고 후반 작업을 하는 경우가 많아서 스크립트를 하나 제대로 만들어 편하게 사용하고 있습니다.

여러분들에게 설명도 할겸 지금까지 사용한 것 보다 더 편하고 범용적인 것을 만들어 볼까 합니다.

 

우선 파일을 머지하려면 머지될 파일의 오브젝트 중 어느 것이 머지될지를 선택해야 하는데,

그런 경우 저는 머지할 오브젝트만 머지했을 때 딱 맞는 자리에 위치시키고 따로 파일을 만들어서 사용합니다.

(이렇게 하는경우가 별다른 문제없이 깔끔하게 머지가 되기 때문에 편리합니다.)

예를 들면 바이패드도 만든 캐릭터 손에 칼을 머지하여 붙여야 한다면 칼 오브젝트만 있는 파일을 따로 만들어 둡니다.

그리고 바이패드가 피겨모드일 때 딱 맞는 위치에 칼 오브젝트를 위치시켜서 머지하여 링크를 걸면 딱 들어맞게끔 하는 것이죠.

 

우선 UI를 사용할것이기 때문에 늘 그렇듯 기본 대화 상자를 만들도록 하겠습니다.

 

1
2
3
4
rollout Merge_Rollout "Merge"
(
)
createdialog Merge_Rollout
cs

 

 

그리고 대화창을 꾸며 보겠습니다.

우선 머지될 파일을 선택하고 실행을 하면, 현재 열려 있는 씬에 머지되도록 하겠습니다.

 

1
2
3
4
5
6
7
rollout Merge_Rollout "Merge"
(
    button selectMerge_btn "머지파일선택" pos:[5, 5]
   label fileName_lab "FileName" style_sunkenedge:true height:15 width:155 pos:[5, 30]
    button run_btn "실행" pos:[5, 60]    
)
createdialog Merge_Rollout
cs

 

 

3번 라인의 버튼 'selectMerge_btn'은 머지가 될 파일의 위치와 이름을 선택하는 버튼입니다.

위치와 이름을 선택하는것 외에는 따로 하는 역할은 없습니다.

4번 라인의 label 'fileName_lab'은 머지될 파일을 선택했을때 파일의 위치와 이름이 표기되는 부분입니다.

이것도 다른 역할이 있는것은 아니고 사용자가 자신이 선택한 파일을 확인할 수 있도록 하는 것입니다.

먼저 '머지파일선택' 버튼의 이벤트 핸들러를 만들도록 하겠습니다.

해당 버튼은 아까도 이야기했지만 파일을 선택하는 것이기 때문에 다음과 같이 입력하면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fileName = ""
 
rollout Merge_Rollout "Merge"
(
    button selectMerge_btn "머지파일선택" pos:[5, 5]
    label fileName_lab "FileName" style_sunkenedge:true height:15 width:155 pos:[5, 30]
    button run_btn "실행" pos:[5, 60]
    
    on selectMerge_btn pressed do
    (
        fileName = getOpenFileName caption:"머지할파일선택:" filename:".max" types:"맥스파일(*.max)|*.max"
        fileName_lab.caption = fileName
    )
)
createdialog Merge_Rollout 
cs

 

위와 같이 입력하고 '머지파일선택' 버튼을 누르고 머지할 파일을 선택하면 다음과 같이 파일의 위치와 이름이 표시됩니다.

 

오늘은 여기에서 끊고 다음 시간에 이어서 하겠습니다.

728x90
반응형