레이블이 3D Max인 게시물을 표시합니다. 모든 게시물 표시
레이블이 3D Max인 게시물을 표시합니다. 모든 게시물 표시

2011년 7월 13일 수요일

첫번째 맥스 스크립트

그동안 스크립트 공부를 하면서 전 프로젝트에서 필요로 하던걸 하나 만들었습니다.

이 스크립트는

- 선택되어 있는 불규칙한 오브젝트의 4방향의 끝지점의 좌표를 확인하고
- 그 위치에 Corner** 이라는 이름의 dummy를 생성
- 생성된 각 4개 dummy의 user properties에 "NioptimizeKeep'을 입력

스크립트 자체를 보면 아주 간단하죠...

하지만 직접 만든 첫 스크립트라 제대로 작동하는 걸 본 순간....

감동의 물결이....

ㅜㅅ ㅜ

그래도 고수분이 보시면 지적할게...
당연히 많다고 생각합니다.
더 간단하고 좋은 수가 보이시면 한 수 부탁드립니다~

CornerMaker.ms

2011년 5월 28일 토요일

Autodesk Media & Entertainment Day

사전 등록 및 자세한 내용은 이미지를 클릭!!

2011년 4월 18일 월요일

2. MaxScript Listener & Macro Recorder

MaxScript Listener는 MaxScript를 위한 대화형 인터프리터(interpreter)입니다.
Listener는 주로 출력을 담당하며, 스크립트 에러 메세지나 변수의 내용을 알려 주기도하고 간단한 계산기 역할도 합니다.
 
      <그림1> Mini-Listener

Listener는 3D Max의 좌측 하단에 항상 표시되고(그림1) 있고, 별도의 창으로 열 때는 F11 혹은 메인메뉴의 MaxScript/MaxScript Listener로 엽니다.
참고로 Listener에 표시되는 text는 3가지 색으로(기본설정) 표시됩니다.
유저가 입력한 text는 검정색, 결과 등 출력되는 내용은 청색, 에러 메세지는 적색으로 출력됩니다.

 
      <그림2> MaxScript Listener

Listener는 한 줄 단위로 명령어를 입력하면 바로 실행이 됩니다.
상단의 붉은 창에 7+8을 입력하고 enter를 치면 하단에 결과가 파란색 글씨로 나옵니다.
 
      <그림3> Listener의 계산 기능
하단을 사용해도 같은 결과가 나오지만, 하단 창에서는 맨 아래 줄에 입력을 해야만 결과를 얻을 수 있습니다.

Listener에서 할 수 있는 간단한 것들을 몇가지 해보겠습니다.

sphere ()
sphere pos:[10,0,0]

'sphere ()'를 입력하면 0, 0, 0 좌표에 구가 생성됩니다.
자신이 원하는 위치에 생성하려면 'pos:'라는 옵션을 사용합니다. 이를 명령어 또는 constructor라고 합니다.
 
      <그림4> 오브젝트 생성하기

'pos:' 뒤의 [10,0,0]은 point 3이라고 하고, 여기서는 위치 값을 나타냅니다.
즉 x좌표 10에 구를 생성하라는 의미가 됩니다.

구 이외의 다른 오브젝트든 'sphere' 대신 입력하면 같은 방법으로 생성할 수 있습니다.
box ()
dummy ()
freecamera ()

다음과 같은 기능도 있습니다.
select $*                    --모든 오브젝트를 선택한다
delete $*                    --모든 오브젝트를 삭제한다
max quick render        --퀵 랜더를 실행한다
위에서 select나 delete 뒤에 오는 $*은 전체 오브젝트를 의미하는 collection입니다.
이에 대해서는 별도로 다루도록 하겠습니다.

Listener에는 사용자가 한 내용을 출력하는 기능이 있는데, 이것을 MacroRecorder라고 하고 Listener의 메인메뉴의 MacroRecorder/Enable을 선택하면 됩니다.
 
      <그림5> MacroRecorder 실행 결과

위와 같이 MacroRecorder를 이용하면 자신이 실행한 내용을 확인할 수 있어, 위에서 예를 든 명령어 이외의 것들도 확인해 보실 수 있습니다.


이렇게 Listener에서는 많은 것을 할 수 있지만, 큰 단점이 있습니다.
실행한 명령어를 저장할 수도 없고, 한 줄 이상의 명령어를 사용할 수도 없습니다.
이는 Listener가 입력을 위한 창이 아닌, 출력을 위한 윈도우이기 때문입니다.

다음에는 MaxScript Editor에 대해 알아보겠습니다.

2011년 4월 17일 일요일

1. MaxScript의 종류

1. MaxScript란?

MaxScript는 Autodesk 3D Max에서 제공하는 Script 언어이며, 일반적인 Java, Lua, Mel(Maya)와 비슷한 형태를 가지고 있습니다.
Max Script는 C++의 어려운 개념을 포함하지 않고, C++의 장점인 간결한 문체와 유연성을 유지하여 사용자가 보다 쉽게 Script를 작성할 수 있도록 만들어졌습니다.


2. MaxScript의 종류
꼭 알아야 할 필요는 없지만, 참고로 MaxScript의 종류 설명을 간단히 하겠습니다.

- 일반 Script (*.ms)
이 script는 view port에 drag하거나 run script로 실행할 수 있고,  설치 없이 실행만으로 사용가능하고, 파일을 특정 폴더에 저장하지 않아도 사용할 수 있습니다.

- Utility Script
초기 3D Max에서 사용된 방법으로 편의성이 떨어져 최근에는 잘 사용하지 않는 형식입니다.
Utilities 패널에 등록하고 사용할 수 있습니다.


- Macro Script(*.mcr)
최근 script들은 이 형식을 많이 사용합니다.
설치 과정이 필요하지만 Menu, Quad, Toolbar 등에 아이콘으로 넣을 수 있고 단축키로 등록도 가능합니다.
한 번 등록을 하면 위치를 자동저장하여 3D Max를 재시작 해도 다시 등록할 필요가 없습니다.

- Plugin Script(*.ms)
script로 만들어 졌지만 plugin처럼 동작을 합니다.
고유의 script ID를 가지고, 상위 부모 script로 부터 상속해서 만들어 집니다.

- 암호화 script(*.mse)
제작자가 코드를 보호하기 위해 암호를 걸어놓은 script입니다.
주로 상용 script가 이런 형식을 사용합니다.

- 압축 설치 파일(mzp)
script 패키지로서 단순히 zip으로 압축된 형식으로, run script나 view port에 드레그 하는 것으로 설치할 수 있습니다.