max导出模型插件

首先,需要做好如下的准备工作:
1. 安装一个完整版本的3D MAX与Visual Stdio。
我安装的是3D MAX 2012,最好是找一个完整的版本,因为完整的版本中有很多的学习资料与sdk供学习,很省事。3D MAX的二次开发对VS的要求是有一个对应关系的,在SDK文档中可以找到,3D MAX 2012对应的VS开发版本应该是VS 2010,确保电脑上已经安装了VS 2010,我用的是vs2012,不过一样。
2.定制3D MAX plug-in向导。
a.找到安装目录的3dsmaxPluginWizard文件夹(我的安装目录是C:\Program Files\Autodesk\3ds Max 2012 SDK

\maxsdk\howto\3dsmaxPluginWizard
),
b.打开此目录下的MaxPluginWizard.vsz 文件,编辑ABSOLUTE  PATH参数为:

Param="ABSOLUTE_PATH=C:\Program Files\Autodesk\3ds Max 2012\SDK\maxsdk\howto\3dsmaxPluginWizard"

c.将3dsmaxPluginWizard文件夹下的三个文件3dsmaxPluginWizard.ico、3dsmaxPluginWizard.vsdir、3dsmaxPluginWizard.vsz拷贝到VS 2005安装目录的 VC  Projects 目录下,我电脑上的目录是C:\Program Files\Microsoft Visual Studio 12\VC\vcprojects。
d.启动VS 2012,File-New Project,选择Visual C++就可以看到3ds max Plugin Wizard选项,说明定制成功。
以上只是开发前的一些准备工作,都可以直接在3D MAX SDK的文档中直接找到,不过文档可都是英文的哦,要耐心的读下去。
在以上准备工作做好以后,就可以开始开发一个插件了,由简单到复杂,先做一个简单的插件程序。插件程序的编写有两种方法,一是用插件向导,就是刚才上面所说的;另一种是通过手工创建一个插件项目,在这里暂时只讨论用插件向导来开发,比较便捷,手工开发以后在补上。
1.第一步,生成一个插件程序的工程,具体如下:
a. 打开File —>New Project —>选择3ds max Plugin Wizard,输入project名字,如 “MyExport”。
b. 进入Welcome to the 3ds max Plugin Wizard 画面,选择plugin type如图所示:

c.这里显示各种插件类型,目前要做的是一个文件的导出插件,所以选择FileExport类型。
d.下一步,再出现一个对话框

max sdk的目录里面的框架放到vs目录下,然后新建项目就max的工程选项,方便建工程,少了配置步骤

选择file export,然后 配置路径

class MeshEnumProc : public ITreeEnumProc {
public:

    MeshEnumProc(const char *name,IScene *scene,Interface *i,DWORD options);
    ~MeshEnumProc();

    int callback(INode *node);
    void export(INode *node,TriObject *tri);

    FILE *file;
    IScene *scene;
    Interface *i;
    int selected;

    int num_surfaces;
};

写一个类继承自 ITreeEnumProc,这个类有一个EnumTree方法,遍历所有的max场景节点,会调用callback方法

int MeshEnumProc::callback(INode *node)
{
    if(selected && node->Selected() == FALSE) return TREE_CONTINUE;
    Object *obj = node->EvalWorldState(i->GetTime()).obj;
    if(obj->CanConvertToType(Class_ID(TRIOBJ_CLASS_ID,0))) {
        TriObject *tri = (TriObject*)obj->ConvertToType(i->GetTime(),Class_ID(TRIOBJ_CLASS_ID,0));
        export(node,tri);
        if(obj != tri) delete tri;
    }
    return TREE_CONTINUE;
}

export方法写保存顶点数据和法线,贴图uv

doexport里面写这个类导出

int    Exp1::DoExport(const TCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts, DWORD options)
{
    //#pragma message(TODO("Implement the actual file Export here and"))
    /*
    if(!suppressPrompts)
        DialogBoxParam(hInstance,
                MAKEINTRESOURCE(IDD_PANEL),
                GetActiveWindow(),
                Exp1OptionsDlgProc, (LPARAM)this);
                */

    MessageBox(0,"abc","Enter MeshEnumProc",MB_OK);
    MeshEnumProc mesh(name,ei->theScene,i,options);

    return true;
}
const TCHAR *Exp1::Ext(int n)
{
    //#pragma message(TODO("Return the ‘i-th‘ file name extension (i.e. \"3DS\")."))
    return _T("MiMesh");
}

这个是后缀名

编译完成后生成.dle文件,把它拷贝到max目录下的pugines文件夹 如:D:\Program Files\Autodesk\3ds Max 2012\plugins

3dmax里面编辑模型

导出选择

保存好文件,使用自己的框架加载显示

时间: 2024-10-31 16:29:14

max导出模型插件的相关文章

万圣节福利:红孩儿3D引擎开发课程《3ds max导出插件初步》

红孩儿3D引擎开发课堂 QQ群:275220292 国内最详尽教授怎样开发3D引擎的地方!揭开3D引擎开发最不为人知的秘密! 万圣节福利,国内最详尽的3ds max导出插件编程指南0基础篇免费发放!            前言:今天网易的<乱斗西游>上线AppStore ,将继完美世界<黑暗黎明>后再次证明自研引擎的实力!假设你想成为引擎研发高手,那么,一切,将从3ds max导出插件起步~ 第九章课程<3ds max导出插件初步> 一.3ds max导出插件简单介绍:

SP3D导出模型方法

SP3D导出模型方法 SP3D是后台驱动的三维设计软件,所有的三维模型以数据的形式存在数据库,模型文件只能使用只带的功能或者接口进行输出.目前只支持VUE/SAT/DGN的格式. 本文以SAT为例子介绍SP3D内部设计的三维模型导出. 打开Drawing and Reports专业: 在Drawungs模块选择右键New 菜单: 选择新建的类型为3D Model Data: 新建完毕后可以将配置名称修改: 对新建的配置右键选择Setup操作: Setup弹出的界面如下: 1)        选择

导出Excel插件——Export-CSV ---20150610

出处:http://bbs.hcharts.cn/thread-99-1-1.html 导出Excel插件——Export-CSV 一.插件信息 插件名:Export-CSV(导出Execl文件) 插件地址:https://rawgithub.com/highslide-software/export-csv/master/export-csv.js 插件使用:在页面引入export-csv.js即可,详见在线演示平台<导出Excel表格> 二.原理解析通过分析源码,其原理是遍历Highcha

3DS MAX 导出FBX到Unity3D设置

3DS MAX 导出FBX到Unity3D设置

学习笔记TF022:产品环境模型部署、Docker镜像、Bazel工作区、导出模型、服务器、客户端

产品环境模型部署,创建简单Web APP,用户上传图像,运行Inception模型,实现图像自动分类. 搭建TensorFlow服务开发环境.安装Docker,https://docs.docker.com/engine/installation/ .用配置文件在本地创建Docker镜像,docker build --pull -t $USER/tensorflow-serving-devel https://raw.githubusercontent.com/tensorflow/servin

ER模型插件(ERMaster)

ER模型插件(ERMaster)

JS导出PDF插件(支持中文、图片使用路径)

原文:JS导出PDF插件(支持中文.图片使用路径) 在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfmake,很好地解决了此问题.它的效果可以先到http://pdfmake.org/playground.html查看.在使用过程中,还发现图片的插入是相对繁琐的一件事. 针对这些问题,本文的主要内容可分为三部分: pdfmake的基本使用方法: 如何解决中文问题; 如何通过指定图片地址插入图片. pdfmake的基本使用方法 1.包含以下两个文件

panda插件介绍-3DS MAX导出x模型文件骨骼动画蒙皮等

1.about选项卡 2.X File Settings选项卡 3.Textures & .fx files选项卡 4.Animation选项卡 5.Mesh选项卡 6.3DS Max Objects

bodymovin for Mac(AE动画导出json插件)

bodymovin for Mac是非常优秀的AE动画导出json工具,可以将动画导出到json文件和png.动画可以通过bodymovin播放器在网络上播放,也可以通过Lottie在iOS和Android中播放.要播放动画,请在扩展程序面板中获取播放器,然后将其加载到浏览器中.是一款非常好用的插件,赶快来下载吧. 用于导出Web动画的After Effects扩展.动画导出为.json文件,使用随插件附带的bodymovin.js播放器.您可以在svg,canvas和html上在浏览器中渲染动