이것 저것 개발하고 만들어보기
article thumbnail

 

 

 

 

해당 사진은 마우스 클릭 없이 키보드 단축키로만 동작하고 있습니다.

 

 

 

 

 

 

MAX 스크립트를 다루는데 가장 기본적인 요소이며, 쉽게 단축키를 등록하고 버튼을 생성해 불필요한 작업을 반복하지 않도록 명령어 스크립트로 자동화 시키는것이 목적입니다.

 

 

 

 

 

 

 

 

 

반복할 작업의 정보를 얻기 위해서 우선 Script Listener 를 F11을 눌러 켜줍니다.

 

 

 

F11을 눌러 Script Listener 창을 켜면, 우선 MacroRecorder 메뉴에서 Enable 메뉴를 켜서 체킹해 준 뒤 3D MAX 내에서 아무 동작을 실행시키면,

 

 

 

사진과 같이 내가 어떠한 행동을 하였는지 Script Listener에 기록이 됩니다.

 

2번째 줄과 3번째 줄 select $ 는 제가 어떤 오브젝트를 선택했는지를 기록한 것이고

4번째 줄은 제가 Box 오브젝트를 뷰포트 상에 아무렇게나 만들어준 것을 의미합니다.

 

 

 

 

 

이후 메뉴 Scripting 툴바에서 New Script 를 클릭해 MAXScript 창을 엽니다.

 

 

 

 

 

 

 

자동화 할 반복 작업을 Script Listener 창에 기록하기 위해 먼저 Script Listener에 기록된 것을 마우스 우클릭 - Clear all 을 선택해 모두 지워 준 뒤, 해당 작업을 Script Listener 창에 기록합니다.

 

 

 

 

 

 

기록된 코드를 복사해 MAXScript 에 붙여넣기 해줍니다.

 

 

 

 

 

 

 

 

이후 Customize 바에서 Customize Uesr Interface 창으로 들어가 Toolbars 탭에서 새로운 툴바를 작성해 줍니다.

 

 

 

 

 

 

 

사진과 같이 빈 아이콘을 끌어 넣을 수 있는 작은 사각형 툴 바가 생성됩니다.

 

 

 

 

 

 

 

스크립트 전체를 선택한 뒤, 마우스 드래그로 스크립트를 툴바로 끌어오면 툴바에 해당 스크립트가 기록됩니다.

 

툴바에 생성된 아이콘을 클릭하면 기록했던 작업이 실행되는 것을 알 수 있습니다.

 

 

 

 

 

 

 

3D MAX 2020버전부터 Customize Uesr Interface 의 keyboard 탭에서 Hotkey 를 설정했던 것이 Hotkey Editor 라는 별개의 메뉴로 바뀌었습니다.

 

생성된 툴바에 등록된 아이콘을 한번 이상 실행 하였으면, Customize Uesr Interface 의 Category에 DragAndDrop를 자동으로 생성시켜 Macro01 이라는 이름으로 우리가 스크립트로 등록한 작업을 기록합니다.

 

마찬가지로 Hotkey Editor 에서도 해당 Macro Script가 자동 등록된 것을 알 수 있습니다.

 

 

 

 

 

이대로 Hotkey Editor에서 단축키를 등록하고 사용해도 되지만, Macro01 Macro02 같은 이름이면 어떤 용도의 스크립트인지 알아보기 힘들고 다른 컴퓨터에 해당 스크립트를 복사해 가져갈때 같은 이름의 스크립트가 충돌하는 상황도 발생할 수 있으니 그룹과 카테고리, 스크립트명을 바꿔주는것이 좋습니다.

 

 

 

 

 

 

 

 

생성된 툴바에 등록한 스크립트 아이콘을 우클릭으로 선택하여 Edit Macro Script를 클릭합니다.

 

 

 

 

 

Edit Macro Script를 클릭하면 3D MAX Script 창에 사진과 같은 코드가 자동 생성됩니다.

 

 

 

사진의 레퍼런스 코드의 의미는 다음과 같습니다.

 

1번째 줄  macroScript macro2 

Macro Script 함수를 macro2 라는 이름으로 정의한 것입니다. Macro Script를 구분하기 위한 용도로 지어집니다.

이름(name)은 변수의 속성을 가지고 있어서 정의 될 때 Macro Script는 롤아웃 외부에서 내부로 접근합니다.

정의된 이름은 변수개념이긴 하나 변수로 생성되는 것이 아니고 일종의 포인터로 생성됩니다.

 

2번째 줄  category "DragAndDrop"

Customize Uesr Interface 창이나 Hotkey Editor 에서 구분될 카테고리를 뜻합니다.

""(큰따옴표)안의 이름을 지정해 줄 수 있습니다.

 

3번째 줄 toolTip"" 

버튼의 툴팁으로 Customize Uesr Interface 창이나 Hotkey Editor 창에서 보여질 이름을 뜻합니다.

마찬가지로 ""(큰따옴표)안에 이름을 지정해 줄 수 있으며 이를 생략하면 macroScript의 이름이 대신 사용됩니다.

 

4~8번째 줄

()(괄호) 로 묶어 구분하며 실제로 동작되는 작업을 의미합니다.

 

 

 

 

 

 

저는 다음과 같이 작성해 툴팁을 생략하고 macro script 의 이름을 TestSelectSpine으로,

 

category를 저만의 닉네임을 사용하여 다른 카테고리와 구분할수 있도록 이름을 지어 줍니다.

 

 

 

 

 

 

 

작성을 완료하면 스크립트 탭에서 마우스 우클릭으로 Save As로 원하는 경로에 저장합니다.

 

확장자명은 .mcr 으로 저장하였습니다.

 

 

 

 

 

 

 

이렇게 저장된 스크립트를 MAX로 드래그 앤 드랍 해줍니다.

 

 

 

 

 

이후 Customize Uesr Interface 와 Hotkey Editor 의 카테고리가 제가 지었던 이름으로 보여지는 것을 알 수 있습니다.

 

Hotkey Editor 에서 원하는 단축키를 지정하고 Done 을 클릭해 단축키를 저장한 뒤,

 

해당 단축키를 눌러 정상작동하는지 확인합니다.

 

 

 

 

 

 

 

 

C:\Users\(컴퓨터 유저명)\AppData\Local\Autodesk\(3DMAX 버전과 bit)\ENU\usermacros 폴더에 생성하고 등록한 Macro Script를 확인 할 수 있습니다.

 

생성한 .mcr 스크립트를 이 폴더에 직접 옮겨도 MAX 에 드래그앤 드랍 한것과 동일하게 사용할수 있으며,

아이콘으로써 먼저 생성된 Macro 파일도 해당 폴더에 생성됩니다.

 

혹은 매크로를 이 폴더에서 관리해 주는 것이 좋습니다.

 

(일부 MAX 버전에선 폴더 옵션에서 '숨김 파일 및 폴더 표시' 체크를 해 주어야 해당 경로를 찾을 수 있습니다)

 

 

 

 

참고 자료

 

캐릭터 셋업 테크닉 (저자 이상원)

 

profile

이것 저것 개발하고 만들어보기

@Tintana'k