맥스스크립트 기본

UI(19) 기타 설명 할것들2

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

안녕하세요.

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

오늘은 UI의 설명에 대해 마무리 지으려고 합니다.

 

 

DotNet(닷넷)과 ActiveX

 

닷넷과 ActiveX는 맥스 스크립트에서 표현할 수 없는 여러 가지 강력한 기능을 가지고 있습니다.

이 기능들은 맥스 스크립트 밖의 더욱 큰 프로그램을 사용하기 위해 스크립트 내부에서 특정 명령어를 입력하여 사용이 가능한데요.

ListView나 Treeview와 같은 것을 맥스 스크립트에서 사용할 수 있도록 해줍니다.

 

이것이 리스트뷰

 

이것이 트리뷰

 

위 이미지를 보면 지금껏 배웠던 것과는 다른 형태의 UI를 보여주고 있습니다.

이러한 고급 기능을 사용하시려면 ActiveX는 사용에 문제가 발생하기 때문에 추천을 드리지 않고, DotNet을 추천드립니다.

ActiveX나 DotNet모두 상당한 분량의 내용과 제가 설명하려는 맥스 스크립트에서 벗어나는 것이기 때문에 따로 설명을 드리지는 않겠습니다.

이런 게 있다는 정도로 알아두시고, 나중에 실력이 쌓이시면 그때 도전해 보시기 바랍니다.

 

 

Python 파이썬

 

최근 버전(2017 이후)에서 맥스 스크립트에서 Python을 사용할 수 있게 됐습니다.

Python은 워낙 범용적으로 사용이 되는 언어이기 때문에 알아두시면 맥스, 마야, 블랜더 등의 3D툴에서 사용이 가능합니다.

즉 다른 프로그램과의 호환성이 생기는 것인데요.

저는 아직까지 필요성을 느끼지 못해서 공부를 하지 못했습니다.

제가 만약 마야나 블랜더를 배우게 돼서 맥스와의 호환이 되는 스크립트가 필요하게 된다면 공부를 하게 될 것 같네요.

 

 

Visual MAXscript Editor

 

맥스 스크립트 UI를 텍스트로 만드는 것이 아니라 아이콘을 클릭하여 드래그하는 방식으로 만드는 에디터입니다.

맥스 메인 메뉴 > Scripting > Visual MAXScript Editor...를 선택하시면 에디터가 실행이 됩니다.

 

 

처음 이것을 봤을 때 뭔가가 문제가 있어서 공부를 하지 않았습니다.(뭔가 삭제가 안 돼서 계속적으로 데이터가 남는 문제였던 것 같습니다.)

지금은 보니 잘 작동하는 것 같네요.(그 사이 많은 것이 수정됐는지 제가 착각을 했었는지... ㅎㅎ)

사용방법은 지금까지 UI의 내용을 잘 따라 하신 분들은 쉽게 알 수 있으니 저는 따로 설명을 드리지 않겠습니다.

 

 

다이얼로그의 삭제

 

여기까지 UI를 작업하면서 수많은 다이얼로그가 만들어졌는데요.

아마 실행할 때마 새로이 생성되는 다이얼로그를 보며 '아~~ 이전 것은 자동으로 삭제하고 새로 만드는 방법은 없나?'하고 생각하셨을 겁니다.(저는 공부할 때 그랬었어요. ㅎㅎ)

 

방법이 있습니다.

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

 

1
2
3
4
5
6
7
try(destroydialog testRoll) catch()
 
rollout testRoll "Test!"
(
    label test_lbl "다시 실행하면 자동삭제."
)
createdialog testRoll
cs

 

 

위 이미지와 같이 다이얼로그가 생긴다면, 또 실행해 봅시다.

이전이라면 두 개의 다이얼로그가 겹쳐 있을 텐데 다이얼로그를 다른 곳을 이동해도 하나만 생성된 것을 알 수 있습니다.

그 이유는 destroydialog 때문인데요.

이 명령어가 다이얼로그를 삭제하라는 것입니다.

destroydialog testRoll를 함으로써 testRoll을 삭제하라는 것인데,

만약 testRoll이 정의(생성) 되지 않아 에러가 발생할 경우를 생각하여 try(..) catch()를 사용하여

testRoll이 없으면 삭제를 실행하지 않고 다이얼로그를 생성합니다.

깔끔하네요.ㅎㅎ

 

오늘까지 맥스 스크립트 UI에 대해서 알아보았습니다.

다음에는 다시 맥스 스크립트 기초에서 맥스 스크립트의 유형에 대해서 알아보도록 하겠습니다.

728x90
반응형