728x90
반응형
안녕하세요.
애니메이터가 들려주는 맥스 스크립트의 스크립팅하는 애님입니다.
오늘도 지난번에 이어서 자식 노드를 선택하는 방법을 이어서 진행하여 마무리하겠습니다.
우선 지난번까지 작업한 스크립트를 열고 바이 패드를 하나 생성해 줍니다.
이 열어준 스크립트를 UI를 사용할 수 있게 하는 것이므로 당연히 다이얼로그를 만드는 스크립트를 넣어 주어야 합니다.
새로운 탭을 열주고 다음과 같이 입력합니다.
|
1
2
3
4
5
6
7
|
try(destroydialog selChild_roll) catch()
rollout selChild_roll "자식선택툴"
(
button run_btn "자식선택" whidth:50 height:25 pos:[35,10]
on run_btn pressed do
( ) )
createdialog selChild_roll width:130 height:50
|
cs |

아직 내용이 없기 때문에 버튼을 눌러도 실행은 되지 않습니다.
(UI의 내용이 궁금하시면 '맥스스크립트 기본 > UI'부분을 참고하세요'
버튼이 눌리면 실행이 될 수 있도록 해주겠습니다.
'on run_btn pressed do' 블록 사이에 이전에 만든 스크립트를 넣도록 합니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
try(destroydialog selChild_roll) catch()
rollout selChild_roll "자식선택툴"
(
button run_btn "자식선택" whidth:50 height:25 pos:[35,10]
on run_btn pressed do
(
selObj = selection as array
childNode = #()
nextChild = #()
selNode = #()
childNodeFlag = true
for i = 1 to selObj.count do
(
append childNode selObj[i]
append selNode selObj[i]
)
while(childNodeFlag == true) do
(
if keyboard.escPressed do exit
if(childNode.count != 0) then
(
for i = 1 to childNode.count do
(
for j = 1 to childNode[i].children.count do
(
append nextChild childNode[i].children[j]
append selNode childNode[i].children[j]
)
)
childNode = nextChild
nextChild = #()
)
else childNodeFlag = false
)
select selNode
)
)
createdialog selChild_roll width:130 height:50
|
cs |

잘 작동하네요. ㅎㅎ
이로서 자식 노드 선택을 마무리하겠습니다.
자식 노드뿐만 아니라 선택한 노드도 같이 포함되는 데 사용할 때는 선택한 노드도 포함되는 게 자연스러워서 그렇게 작업을 했습니다.
이것이 이상하신 분들은 스크립트를 수정해서 원하는 대로 변경하시면 됩니다.
다음에는 맥스의 기본 선택 툴의 확장에 대해서 알아보겠습니다.
728x90
반응형
'맥스스크립트 심화' 카테고리의 다른 글
| 슬롯머신(3) (0) | 2019.09.25 |
|---|---|
| 슬롯머신(2) (0) | 2019.09.24 |
| 슬롯머신(1) (0) | 2019.09.23 |
| Selection Filter확장 (0) | 2019.09.19 |
| 자식노드 선택(3) (0) | 2019.09.17 |
| 자식노드 선택(2) (0) | 2019.09.16 |
| 자식노드 선택(1) (0) | 2019.09.15 |
| 오브젝트의 선택(3) (0) | 2019.09.14 |