맥스 스크립트조차 아직 너무 어려워서 이게 맞는건지는 모르지만
대충 눈치로 짐작하는 부분을 메모해둠.
참고로 스크립트 뒤에 -- 를 넣어 설명을 해주면 '주석'이라는 기능을 하는데
말 그대로 단지 내가 알아볼 수 있는 설명에 불과하지만 꼭 해두면 스크립트를 볼때 머리가 덜 아프다.
일단 지난주 만든 나만의 맥스 UI 창.
버튼에 단축키를 적용해서 ` 키를 누르면 창이 뜨고
이 창을 스크립트 구문을 추가해서 맥스 UI 중 어느위치든 Dock 시킬 수 있게 해두었다.
try(closerolloutfloater MainFloater) catch()
-- 가장 첫줄에 넣어주고, 주황색 글씨의 이름을 가진 창이 열려있으면 닫는다
Rollout Menu01 "Reim"
--Rollout은 카테고리, 그뒤에 Menu01 은 스크립트한테 알려주는
나만의 암호, 그뒤에 "Reim"은 내가 보기 편한 이름
(
button reset "ResetXForm" pos:[2,6] width:78 height:20 --리셋 엑스폼
--butoon 은 종류를 지정하고, reset 은 역시나 암호, "ResetXForm"은 내 눈에 보이는 이름
--pos 는 포지션인듯, 위치값. [좌우 좌표, 위아래 좌표], 버튼의 넓이와 높이값
button vertexzero "VertexZero" pos:[82,6] width:78 height:20 --버텍스를 제로점으로 이동
--좌우 좌표가 82로 옆으로만 이동시키고 위아래는 옆 버튼과 동일해야되서 6으로 같다.
button zeropivot "ZeroPivot" pos:[2,32] width:78 height:20 --제로피봇
--앞에 만든 두 버튼보다 아래로 내려서 생성해야 되기 때문에 위아래 좌표가 32
이때 각 버튼의 높이값을 20으로 해줬기 때문에 최소 26이 되야하는데 좀 더 여유있게 6을 더해서 32로 해줬다.
button zero_btn "[0,0,0] 이동" pos:[82,32] width:78 height:20 --오브젝트 제로점으로 이동하기
--Script
on reset pressed do --위에 reset으로 지정해줬던 암호를 pressed (눌렀을때) 무언가를 하라~는 명령이다.
(
macros.run "PolyTools" "ResetXForm"
--이런 어려운건 명령어는 직접 타이핑하지 않아도 된다. 맥스에서 F11 눌러 script Listener 창을 열고
MacroRecoder - enable 체크해주면 내가 하는 작업들이 명령어로 보이기 때문.
)
on vertexzero pressed do
(
undo on --중요하다. 매크로 스크립트는 undo가 되지 않기 때문에 undo on ( ) 으로 명령어들을 감싸 줘야 하는듯
(
sel_vet = ($.GetSelection 1)as array
for i in sel_vet do(
pos = $.verts[i].pos
$.verts[i].pos = [0,pos.y,pos.z]
)
)
)
MainFloater = NewRolloutFloater "" 180 360 --MainFloater 라고 이름 지어주고 가로 세로 길이를 지정해줌
addRollout Menu01 MainFloater
addRollout Menu02 MainFloater
addRollout Menu03 MainFloater
addRollout Menu04 MainFloater --롤아웃을 몇개를 하든 이렇게 addRollout 이라고 해주면 되나보다
cUI.RegisterDialogBar MainFloater style:#(#cUI_floatable,#cUI_dock_left,#cUI_dock_right,#cui_dock_top,#cui_dock_bottom,#cUI_handles)
-- 이걸 넣어주면 단순했던 임시창을 맥스 UI 에 Dock (고정) 시킬 수도 있다.
-- 하지만 이걸 넣어주려면 mse 스크립트처럼 별도의 스크립트로 한번 우회해서 불러와줘야 한다.
-- 그냥 불러오는 방법도 있을듯 하지만 아직 모르겠음
'GAME GRAPHIC GUIDE > 3Ds Max' 카테고리의 다른 글
3DsMax 아이콘 복구하는 방법 / Filetypesman (0) | 2019.06.21 |
---|---|
3DsMax Script 인터넷에서 찾은 소스 추가하는 방법 (0) | 2019.06.20 |
3DsMax Script mse 확장자를 버튼으로 등록하기 (0) | 2019.06.20 |
Snap 응용 / 스냅 응용편 - 한 방향/ 한쪽으로만 이동하기 (0) | 2019.06.20 |
3D Max 뷰포트 텍스쳐 리로드 문제 / 3dmax texture reload (0) | 2019.06.20 |
댓글