最近在学习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.其实就是动态链接库,只不过改个名而已。