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에 대해 알아보겠습니다.

댓글 없음:

댓글 쓰기