最近在学习3ds max sdk,主要用于3ds max插件开发
一开始装了3ds max9,发现里面并没有sdk,后来网上查了才知道只有完整版的才有,于是到网上找了个2009版的,以为有sdk,结果装了之后又没有。。。
后来就找单独的3ds max sdk,终于找到sdk里的include和lib文件,不过不知道怎么配置。
再后来加了一个群,得到热心网友指点,还传了sdk里的howto跟samples文件给我。
然后参考网上教程
开始配置开发环境:(其实很简单,具体可以参见howto\3dsmaxPluginWizard\readme.txt)
我使用的环境为vs2005,下面是配置步骤:
1、用记事本打开howto\3dsmaxPluginWizard\3dsmaxPluginWizard.vsz文件,可以看到里面内容如下:
VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.8.0
Param="WIZARD_NAME = 3dsmaxPluginWizard"
Param="ABSOLUTE_PATH = C:\3dsmaxPluginWizard"
Param="FALLBACK_LCID = 1033"
把上面红色标注内容改为你的howto\3dsmaxPluginWizard目录并保存。
2、把3dsmaxPluginWizard.ico,3dsmaxPluginWizard.vsz,3dsmaxPluginWizard.vsdir这3个文件复制到VC\vcprojects目录,如我的目录是D:\Program Files\Microsoft Visual Studio 8\VC\vcprojects。
好了,配置完成。你可以打开vs2005-> 新建->项目,选visula c++,看里面是不是多了一个3ds max plugin wizard,如有说明配置成功。
接下来开始开发我们第一个3ds max插件hello world!
1、新建->项目->visual c++->3ds max plugin wizard,输入名字,下一步
2、选择File Export,下一步
3、输入类名,这里我们输入MyExport,下一步
4、Enter your MAXSDK path:输入你的MAXSDK路径
Enter your Plugin output path:插件输出路径,为调试方便,我直接把输出目录设为3ds max插件目录Autodesk\3ds Max 9\plugins
5、Enter your 3dsmax.exe path:3dsmax.exe路径(我想这里设置应该是调试插件用的吧,可是我设置了之后,运行时还会跳出对话框让你选择调试程序),Finish!
6、找到const TCHAR *MyExport::Ext(int n)函数,把MyExport改成你对应的类名。该函数用来显示导出文件的扩展名。修改return _T("");为return _T("My3D");
7、找到const TCHAR *MyExport::ShortDesc()函数,该函数用来显示插件的描述信息,具体作用等接下来运行后你就会清楚了。把return _T("");改为return _T("MyExportPlugin");
8、找到int maxProject3::DoExport(const TCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts, DWORD options),
这是导出程序的入口函数。我们在这里显示一个控制台界面并输出"hello world!"。
在里面加入
AllocConsole();
_cprintf( "hello world\n" );
注意要包含头文件#include <conio.h>,不然会编译出错。
9、生成并调试,会跳出一个对话框,选择3dsmax.exe,系统会调用3dsmax.exe去运行,打开后选择文件->导出,如果你看到MyExportPlugin (*.My3D)的选项,那说明插件开发成功,随便输个名字选择MyExportPlugin (*.My3D)保存,你会看到命令行显示hello world!
大功告成。
最后说明一下,生成的插件在输出目录下,扩展名为dle.其实就是动态链接库,只不过改个名而已。