2011년 4월 19일 화요일

을왕리 낙조

작년 가을에 핸드폰으로 촬영한 영정도 을왕리 해수욕장의 석양
공항고속도로 통행료만 아니면 그다지 멀지도 않고, 가끔 들를만 하건만...

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

No & On

No를 거꾸로 쓰면 전진을 의미하는 On이 된다.
모든 문제에는 반드시 그것을 푸는 열쇠가 있다.
끊임없이 생각하고 찾아내라

- 미국의 신학자 Norman Vicent Peale

2011년 4월 17일 일요일

대구 시민야구장 정전 사태....

어제 두산과 삼성의 대구 경기가 있었습니다.
3:2로 두산이 앞선 8회초, 1사 후 정수빈이 기습 번트로 1루에 도착하기 직전...
갑자기 경기장 전체가 암흑 상태로....  ;;;


약 30분 정도 지나서 경기장에 전기는 다시 들어왔지만, 좌익수 쪽의 조명탑에는 불이 들어오지 않아서 심판진과 양팀 감독이 한참 논의한 끝에 결국은 서스펜디드 게임으로 결정..
정수빈의 플레이는 무효처리되고 오늘 8회 1사 상태에서 재개하기로 결정..


중계를 보면서 이런거 처음이야 하고 있었는데, 인터넷 기사를 보니 이번이 두 번째군요.  99년 10월6일 전주에서 열린 쌍방울과 LG의 더블헤더 2차전 1회에 조명시설 고장으로 일시정지 게임이 선언되고 이틀 후 재개했다고 합니다.


이거 완전히 해외 토픽감이라는 생각이 드는군요.

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에 드레그 하는 것으로 설치할 수 있습니다.

I'm here for computer show.

A: Thanks. It was a long flight.
B: What's the purpose of your visit?
A: I'm here for the computer show at the Grand Hodel.
B: Enjoy your visit.
A: Thank you very much.

A: 고맙습니다. 아주 긴 여행이었어요.
B: 방문 목적은 무엇인가요?
A: 그랜드 호텔에서 열리는 컴퓨터 쇼를 보러왔어요.
B: 즐거운 여행되세요.
A: 감사합니다.

작은것으로 부터의 시작

커다란 나무도 가느다란 가지에서 시작되고
10층 탑도 작은 벽돌을 하나씩 쌓아 올리는데서 시작된다.
마지막에 이를때까지 처음과 마찬가지로 주의를 기울이면
어떤 일도 해낼 수 있다

- 노자