1 시작하며 #
- 현재 버젼 : 0.1
- 편의상 존칭은 생략하겠습니다.
제가 독수리라 가능한한 타이핑을 줄일려고 하기 위함입니다. 약간은 친근감이 들수도...
- 원래 내가 아는 내용들을 이렇게 나름대로 정리를 하고 싶었다. 흐음... 근데 생각보다 이것도 일임에 틀림없다.
어쨌든 시작한다. 읽고 도움되는 사람이 많았으면 하는 바램이다.
- 이번에 Game Programming Gems 2 번역본이 나왔다. 정말 주옥같은 책이라고 말할 수 있다. 번역도 잘되어있다. MAX에서 Skinning 뽑아내는 예제가 있으니깐 꼭 읽어보기 바란다.
3 준비물 #
아마 Max Plugin을 만드는 것은 3D 게임을 만들려면 데이타 뽑아내기는 아마 누구나 부딛히는 문제라고 생각한다. 자기만의 엔진을 만들려면 아마도 그 어마어마한 데이타를 뽑아내는 것은 당연히 해야할 과제이고 또한 군침이 돌만도 할 얘기일테니깐. 강좌를 시작하기에 앞서 일단 다음 준비물이 필요하다.
- 3D Studio MAX 4.x 정품(?) 씨디 (정품을 애용하자. 단, 돈이 받쳐주는 사람만. ^^)
- Visual C++ Professional 6.0 버전 이상
vc 설치는 생략한다. 알아서 해라. ^^;
4 MAXSDK AppWizard 설치 #
이 Maxsdk가 언젠가부터 Project Wizard라고 하는 아주 편한 기능을 제공하기 시작했다. 이것이 무슨 말이냐하면 vc에서 File->New를 선택하고 Project탭을 선택하면 새로운 프로젝트들중 하나를 선택해서 자동으로 소스도 만들고 디렉토리도 만들고 하는 위저드를 말하는데, 여기에 떡~하니 3D MAX Plugin Appwizard R4.0 이라고 찍혀있게 설정할 수 있다. ^^;
Max플러그인들은 기본적으로 DLL들이다. 즉, 날코딩을 하게 되면 막대한 노동력을 요하게 된다. 위 위저드의 존재는 상당한 량의 코드량을 줄여주는 것은 사실이다. (만일 없다면... 생각하기도 싫다)
자, appwizard 어떻게 설치하냐구? 이렇게 하면 된다.
- 3dsmax가 설치된 디렉토리의 maxsdk 디렉토리를 연다.
- 디렉토리만 5개 있을텐데 그중 Help 디렉토리를 연다.
- SDKAPWZ.ZIP화일이 보이면 이것을 적당한데에 압축을 푼다. 화일이 아마 두개 있을것이다. (sdkapwz.awx, sdkapwz.hlp)
- 위에 압축 푼 화일을 visual c++의 IDE template화일로 복사한다. (template디렉토리는 조금씩 다를수 있으나 만일 VC가 C:\Program Files\Microsoft Visual Studio에 설치되어있다면, C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Template이 된다. 함 찾아봐라. 안에 awx화일들이 잔뜩 있으면 거기다.
- vc를 열어서 File->New를 해봐라. 뜨는 걸 확인한다.
5 '더미' Max 플러그인 만들어보기 #
내친김에 간단한 '아무일도 안하는' export 플러그인을 만들어보자. 다음을 따라해라.
- File->New하고 새로운 플러그인을 만든다. 그러면 대화상자가 뜨고 플러그인의 종류를 정하라고 한다. 절라 많은데 그중 File Export를 고르고 next 클릭.
- 클래스 이름을 정한다. 이 클래스 이름이 MAX에서 플러그인 이름이 되어버리므로 신중히(?) 작명한다. 그 아래 SceneExport 라고 되어있는 부분은 고치지도 못하므로 그냥 놔두고, 세번째부분에는 Plugin 분류를 간단히 적고(이건 MAX를 사용할때 Command Panel에 나타나는 분류명이라고 나와있다) 네번째에는 '이 플러그인은 어떠어떠한 Export를 하는 플러그인입니다'라고 적는다. next.
- MAX SDK 경로와 plugin경로를 지정한다. 만일 c:\3dsmax4에 설치되었다면 두 경로는 각각 c:\3dsmax4\maxsdk, c:\3dsmax4\plugins가 된다. ...버튼 누르고 잘 돌아다니면 확인 버튼이 활성화되니깐 잘 지정한다. 소스코드 주석은 달아놓으면 좋으므로 채크한다.
- 이제 다됐다. Finish를 눌러 생성한다.
) 근데 이걸 실행해볼수가 있을까 하는 의문의 든다. 게다가 디버깅까지 되면 좋을텐데... 기쁘게도 된다.
어떻게 하냐면 다음과 같은 설정을 마저 해주면 된다.
- 반드시 디버깅을 할때에는 Build->Active Configuration에서 Win32 Hybrid를 선택한다. 안하면 소스라인 디버깅이 안된다.
- 플러그인은 당연히 스스로 실행할수 없다. 뭘실행하면 될까? 바로 MAX다.
Project->Settings에서 Debug탭을 누른 후 category를 General에 맞춘다. Executable for debug session 항목이 보일거다. ▶버튼을 눌러서 3dsmax.exe를 풀 경로로 찾아 지정한다.
F5 눌러서 Max를 실행해보고 File메뉴의 Export를 선택해본다. 확장자 지정부분에 *.이라고 썰렁하게 되어있는게 있을거다. 저장안되니깐 안심하고 아무 화일명이나 치고 OK한다. 썰렁한 대화상자가 뜨면 성공이다.
(그 대화상자는 wizard가 자동으로 만드는거다.)
(그 대화상자는 wizard가 자동으로 만드는거다.)
(정말 짬이 안나는군요. 지금은 네트워크쪽 작업을 주로 하는 편이라...-_-;)








![[http]](/wiki/imgs/http.png)
