|
2004년 01월 22일
2. Hello World
_______________________________________________ 이제 직접 간단한 Plug-in을 하나 만들어 보면서 API에 대하여 좀 더 알아보도록 하겠습니다. 우리가 만들 최초의 Maya Plug-in은 “Hello World”입니다. 대부분, Windows에서 Maya를 사용하시리라 생각하고, MS Visual C++를 사용할 경우를 기본으로 설명하겠습니다. 1) Maya Plug-in Wizard _______________________________________________ MS Visual C++가 설치된 상태에서 Maya를 설치하시면, DevKit을 설치할 때, Maya Plug-in Wizard가 설치가 됩니다. 그렇지 않은 경우엔, 자료실에 있는 Maya Plug-in Wizard를 다운받으시고 압축을 풀어 C:Program FilesMicrosoft Visual StudioCommonMSDev98Template에 Copy하세요. 이제 MS Visual C++을 실행시키고, File > New를 선택하시고, Projects 탭에서 Maya Plug-in Wizard를 선택하세요. 그리고, Location부분엔 Project를 만들 위치를, Project name 부분엔 helloWorld라고 입력하세요. ![]() 그 다음, OK를 누르면 아래 그림과 같은 화면이 나옵니다. 여기서 해당 Maya 버전을 선택하시고, Plug-in 개발자 이름을 입력한 뒤, Next를 누릅니다. ![]() 이번엔 어떤 종류의 Plug-in을 만들지를 고르는 화면입니다. 이번에 만들 Hello World는 간단한 MEL Command이므로, MEL Command를 선택하고, Maya type name란에 helloWorld라고 입력합니다. 그리고, Next를 누릅니다. ![]() 마지막으로, Plug-in에 포함될 Library를 선택하는 화면입니다. Hello World는 간단한 Command이므로 가장 기본이 되는, Foundation과 OpenMaya만 선택하면 됩니다. 이제 Finish를 누르면 Plug-in 개발의 기본이 되는 세팅과 코드가 자동으로 만들어 집니다. ![]() 화면 왼쪽의 Workspace 윈도우에서 FileView 탭을 선택하고 Source Files에서 helloWorldCmd.cpp를 더블클릭하면 아래와 같은 코드가 보여집니다. (주석문은 삭제했습니다.) #include <maya/MSimple.h> DeclareSimpleCommand( helloWorld, "Gyedo Jeon", "4.0"); MStatus helloWorld::doIt( const MArgList& args ) { MStatus stat = MS::kSuccess; setResult( "helloWorld command executed! " ); return stat; } 이제 setResult 구문 윗줄에 아래와 같이 오늘의 핵심코드(^^;)를 입력하세요. printf("Hello, World! "); 2) MSimple.h, DeclareSimpleCommand _______________________________________________ Maya API를 사용해서 만들 수 있는 MEL Command에는, Undo/Redo가 지원되지 않는 간단한 Command와 Undo/Redo가 지원되는 복잡한 Command가 있습니다. MSimple.h는 간단한 MEL Command를 만들 때 사용되는 Header 파일입니다. DeclareSimpleCommand등의 Function에 대한 정보가 여기에 기록되어 있습니다. DeclareSimpleCommand는 이런 간단한 MEL Command를 만들 때만 사용되는 Function입니다. helloWorld class를 만들고, 입력된 개발자 정보, 버전을 등록합니다. MStatus는 Maya Plug-in 내부 함수의 실행 결과등을 담아두는 Class입니다. MS::kSucess, MS::kFail 등의 값이 담겨지게 되지요. doIt함수는 모든 MEL Command Class에서 실제 수행을 담당하는 함수입니다. 우리의 helloWorld class에서도 이 doIt함수가 그 역할을 합니다. MargList는 MEL Command에 전달되는 argument list입니다. 이번 helloWorld에선 argument가 필요없으므로 선언은 되었지만 사용되진 않았습니다. 3) Compile, Plug-in Load _______________________________________________ 이제, Build > Set Active Project Configuration에서 helloWorld – Win32 Release를 선택하고 OK를 누르세요. Win32 Debug로 두고 컴파일하게 되면 Debug 정보가 포함되어 용량이 큰 Plug-in이 만들어지게 됩니다. 이번 코드는 Debug할 일이 없으므로, Win32 Release로 컴파일하는거지요. Debug에 대하여는 다음에 좀 더 자세히 ^^; 이제, F7을 누르거나, Build > Build helloWorld.mll을 선택해서 컴파일하면 우리가 프로젝트를 만든 helloWorldRelease에 helloWorld.mll이 만들어 집니다. Maya를 실행시켜 Plug-in Managaer에서 이 file을 load하고 Script Editor에서 helloWorld라고 입력하고 키보드 오른쪽의 Enter를 누르세요. Output Window에서 Hello, World!라고 우리의 첫 Maya Plug-in으로부터의 인사말이 나타나 있을 겁니다. _______________________________________________ 2강은 여기까지입니다. 프로그래밍 경험이 없는 분들을 위해서 좀 자세히 설명했습니다. 질문들 하세요. |
최근 등록된 덧글
Maya Plug-in Wizard 는 여기..
by 해커킬러 at 10/28 잘봤습니다. 친절하게 잘 설명해.. by 랄프 at 05/26 강좌 완전 친절해요 ㅠ_ㅠb 정말.. by 문 at 03/19 이글루 파인더
카테고리
MEL Tips
Maya API on Rendering CG | VFX Java | JSP | DB from Gyedo Scraps Belief Book Movie Game Gadgets for fun Japanese June 라이프로그
이전블로그
2008년 04월
2008년 03월 2008년 02월 2008년 01월 2007년 11월 2007년 10월 2007년 08월 2007년 06월 2007년 05월 2007년 04월 2007년 03월 2007년 02월 2007년 01월 2006년 12월 2006년 09월 2006년 06월 2006년 05월 2006년 03월 2006년 02월 2006년 01월 2005년 12월 2005년 11월 2005년 10월 2005년 09월 2005년 07월 2005년 06월 2005년 05월 2005년 04월 2005년 03월 2005년 02월 2005년 01월 2004년 12월 2004년 11월 2004년 10월 2004년 09월 2004년 08월 2004년 07월 2004년 06월 2004년 04월 2004년 03월 2004년 01월 |