3DsMax导出插件编写-(1)环境搭建



为3D开发人员,特别是3D引擎开发人员,经常会接触到各种三维模型的数据。虽然说3dsmax已经可以导出很多格式的模型,不过总是不一定合适自己用。所以总有一种想自己写一个导出插件,让3dmax导出自己想要的数据格式。这里为大家介绍一下怎样为3dmax写导出插件的第一步:怎样配置vs和maxSdk。

这里你需要的东西有两个:

1、一个完整版的3dsMax。

2、一个Visual Studio。

为什么是要完整版的3dsMax呢?这是因为完整版本的3dsMax的安装文件自带有maxSdk。这是很重要的。不同版本的3dsMax,带的sdk会不一样。你拿了其他版本的sdk做了的插件,不一定适合你当前的3dsmax使用的。很多人写这个配置教程,会告诉你上网去找maxSdk。其实不需要这么麻烦的。下面会告诉大家怎样安装。我这里拿的是我当前使用的3dsMax2011的64位版来做示范。其他的版本做法是一样的。

那么Visual Studio有什么要求呢?有些人写的教程会告诉你,每个版本的max的sdk会对应不同版本的vs,最好对应。这样说也不算错。不过其实这个对应关系没那么严格的,我下面会告诉大家怎样跨版本配置。比如max2011的sdk对应的是vs2008,我下面将会用vs2010来配置。

好,把上面2样东西准备好之后,3dsmax正常安装,vs也正常安装,准备工作就完成了,接下来阿赵和大家就一起来装这个maxSdk:

运行完整版本的3dsMax安装文件,会看到以下界面,我们选择“安装工具和实用程序”:

在这里选择需要安装的工具,我们需要的是3ds max 2011的sdk:

安装完之后,会在安装目录找到一个howto文件夹,里面有个3dsmaxPluginWizard文件夹,在里面有个readme.txt文档,文档里面说明了怎么去配置这个sdk的。其实在安装完之后,我们可以把这个maxsdk的文件夹随便的移动到我们想要的地方的。不过在配置之前,最好先移动好,开始配置之后,就别动这个文件夹的路径了。

在配置之前,这个文件夹的属性是只读的,我们先把整个文件夹的只读取消,然后开始配置:

使用记事本打开同文件夹下的3dsmaxPluginWizard.vsz,然后找到下图用红线下划的地方。

默认的Wizard=VsWizardEngine.9.0,代表的是对应vs2008版本。我现在需要使用2010版本,所以把它改成了10.0

然后下面的ABSOLUTE_PATH改成当前的3dsmaxPluginWizard文件夹的路径:

改完之后,我们把3dsmaxPluginWizard文件夹下的这三个文件复制:

然后找到vs2010的安装文件夹,找到VC/vcprojects文件夹,把刚才复制的三个文件放到这个文件夹下:

然后我们就可以打开vs2010,创建新项目。这时候会在c++项目里面看到了3dsmax插件的类别,选择它,然后在下面的项目名称和路径里面输入自己想要的名字和路径。

如果你之前的配置正确,将会弹出设置向导,如果没有弹出,则要检查之前的步骤了。我们选择File Export:

这里是插件的详情,直接下一步就行:

这里是项目详情,第一项输入maxsdk的路径,第二项输入插件想输出的路径,比如3dsmax安装目录的plugins文件夹,第三项输入需要调试的3dsmax的安装目录。三项都是可以在项目建立之后修改的。

按finish后,由于这个版本的sdk对应的是vs2008,现在我用的是2010,所以有一个转换版本的过程(我用的vs2013,sdk2012,没有这步)

这时候,项目应该已经创建成功。如果没有创建成功,则检查之前的步骤。通常是因为3dsmaxPluginWizard.vsz里面的vs版本设置错误。如果创建成功后,我们在解决方案资源管理器里面找到你的项目的cpp,打开。

在cpp里面,修改Ext方法里面的返回,这里是你导出的模型的格式后缀名,这里我是改成了”azhao“,再改ShortDesc方法里面的返回,这里是模型的描述,我改成了”阿赵的模型格式“。

现在按调试,会弹出错误:

这是因为调试的目标没有设置正确,可以找到项目属性修改:

在配置属性里面的调试,修改命令项为你的3dsmax.exe路径:

按道理,现在我们再开始调试,你的3dsmax就会启动了。如果你是为32位的3dsmax做配置,那么整个配置过程已经完成了。

但我这里3dsmax启动后报错了,这是因为我的3dsmax是64位的,刚才调试生成的32位插件不能用。

接下来我们将要把项目改成64位的。先打开项目属性,在配置管理器里面,把Win32改成x64:

改完之后,之前我们的所有配置都没了,需要逐个去配置:

先配置调试程序路径:

然后配置输出路径

配置生成程序数据库文件的路径

好了,64位修改完成,我们再次进行调试,3dsmax应该就能正常打开了。

这里我编译有问题,提示error MSB8009:答题内容就是我的vs2013不能打开2008的东西,就是说plaeform tools不对,解决如下:

1、打开工程。

2、右击工程并选择 ‘Properties(属性)‘。在属性窗口的左边面板, 展开‘(Configuration Properties)‘ 并选择‘(General)‘.

3、右边面板中, 将“(Platform Toolset)”的值从v90 改为 v120(改成自己支持的就可以) ,点击(OK)。

4、在Solution Explorer(解决方案资源管理器)”中,打开“StdAfx.h”文件,将“_WIN32_WINNT”的值从0x0400改为0x0501,。

我们随便在场景里面建立一个茶壶,然后导出。现在我们可以在选择导出格式的地方,找到我们刚才指定的格式了,就是”阿赵的模型格式“,后缀名是”azhao“。

确定保存,会打开一个对话框,不过里面都是一些默认的东西,没有任何内容的,因为我们只是完成了配置的步骤,没有开始写导出的实际内容。

在vs里面找到DoExport方法,在里面打一个断点。再次去选择导出我们的格式,vs应该就能进入断点了。DoExport方法就是导出方法的入口了。

如果你途中发现出现问题,很有可能是以下几种问题:

1、下载的MaxSdk有问题,建议使用完整版3dsMax自带的sdk。

2、忘记取消maxSdk文件夹的只读属性,这样在新建项目或者编译的时候都会出错。

3、3dsmaxPluginWizard.vsz里面设置的vs版本不对。9.0对应的是vs2008,10.0对应的是vs2010,11.0对应的是vs2012.

4、调试的时候出错,有可能是没有设置对调试对象,要设置为3dsMax的exe。

5、调试的时候没有报错,却没有出现导出的选择。有可能是导出保存的路径不对,要保存在3dsmax的安装路径里面的插件文件夹,比如plugins或者stdplugs文件夹。

6、调试的时候3dsmax启动了,但在启动的途中报错。这有可能是使用的sdk和3dsMax版本不对应,或者是32位插件和64位软件不对应。

这个过程虽然简单,不过却会遇到很多默默奇妙的小问题,网上虽然相关的教程不少,但起码我自己对着很多个教程都没有配置成功,所以才把自己的配置过程记录下来,希望能给以后需要配置的人一个参考。

时间: 2024-10-05 22:34:37

3DsMax导出插件编写-(1)环境搭建的相关文章

3DsMax导出插件编写(二)——常规SDK方法进行信息获取和保存文件

之前已经把配置vs和maxSdk的方法介绍过了,如果不懂怎样配置的朋友请参考: http://liweizhaolili.blog.163.com/blog/static/162307442013117731953/ 下面来介绍一下导出插件的具体写法.不过这不是一个容易说的很详细的问题.因为我们要写导出插件,通常都是因为想根据自己想要的信息来导出,所以就算我把我整个工程都公开,意义也不大的,因为那是根据我自己需要的数据写的业务,估计不太可能和你想要的一样的.所以我也只能简单的说明一些几个关键获取

3DsMax导出插件编写(一)——vs2010和3dsmax2011(64位)的配置方法

作为3D开发人员,特别是3D引擎开发人员,经常会接触到各种三维模型的数据.虽然说3dsmax已经可以导出很多格式的模型,不过总是不一定合适自己用.所以总有一种想自己写一个导出插件,让3dmax导出自己想要的数据格式.这里为大家介绍一下怎样为3dmax写导出插件的第一步:怎样配置vs和maxSdk. 这里你需要的东西有两个: 1.一个完整版的3dsMax. 2.一个Visual Studio. 为什么是要完整版的3dsMax呢?这是因为完整版本的3dsMax的安装文件自带有maxSdk.这是很重要

QLGame 2D Engine编写环境搭建

QLGame 2D Engine编写 (win7环境搭建) 广州麒麟网络工作室,计划制作一款2d game engine,基于opengl(es)平台,暂时支持android,以后考虑支持linux,ios! 开发环境: os:win7 64bit design tool:vs2012 eclipse ndk-r9d 开发原理: 采用c++开发,可以方便的移植到android,ios平台!目前正在一步一步的开发之中,源码将放到github上! 开发讲解: 首先在win平台下,进行opengl编程

scala学习环境搭建和第一个scala程序

一.安装JAVA JDK,本地电脑已经装有了JDK.如图: 二.下载IDE也就是集成开发环境scala eclipse 网址:http://scala-ide.org/  下载后解压如图: 三.运行eclipse: 直接解压后运行eclipse会提示错误信息:failed to create the java virtual machine. 打开eclipse.ini将MaxPermSize由256修改为128保存后重新打开即可运行eclipse,详情可参考: http://blog.csdn

HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)

步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, 然后,编写pom.xml,这里不多赘述.见 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 完成之后呢,编写好代码,对吧. 步骤二  HBase 开发环境搭建后的一些步骤(export导出jar包方式  或 Ant 方式) 这里,不多说,玩过大数据一段时间的博友们,

Struts2环境搭建以及helloworld编写

Struts是一个经典的Java Web开发框架.现在我们编写一个简易的helloworld界面.   Struts的环境搭建比较简单,加载相应的jar包即可. 我这里的开发环境是windows7 + Myeclipse10.0 Struts2采用的是2.2.1.1版本   1.加载Struts2的必备jar包,我这里是6个,还有另外的两个jar文件. 这六个分别是: 1.commons_fileupload-1.2.1.jar 2.commons-io_1.3.2.jar 3.commons-

spring4学习:环境搭建和编写HelloWorld

spring4环境搭建: 1.创建一个java project: 2.创建lib目录:导入下图的jar包,其中common-logging.jar不是spring本身包含的包: 3.把jar包 add to build path; 4.建立一个HelloWorld类: package com.ksk.spring; public class HelloWorld {     private String userName;          public void setUserName(Str

elk5.x环境搭建与常用插件安装

ELK 5.X 环境搭建与常用插件安装 环境介绍: ip: 192.168.250.131 os: CentOS 7.1.1503 (Core) 内存不要给的太低,至少4G吧,否则elasticsearch启动会报错. 软件及其版本 这里软件包都解压在了/opt下,注意! logstash-5.4.0.tar.gz elasticsearch-5.4.0.tar.gz kibana-5.4.0-linux-x86_64.tar.gz jdk-8u92-linux-x64.tar.gz 安装前准备

前端工程师养成记:开发环境搭建(Sublime Text必备插件推荐)

为了让自己更像一个前端工程师,决定从开发环境开始武装自己.本文将介绍前段工程师开发的一些利器的安装步骤,主要包括了: 1.Node.js的安装 2.Grunt的安装及常用插件 3.Sublime Text的安装及必备插件 一.Node.js的安装 Node.js就是一堆前端工程师捧红的,所以装上这个嘛,主要不是自己需要使用Node.js而是一堆工具对他的依赖. Windows下安装步骤很简单: 1.去到http://nodejs.org/下载最新的安装包,安装. 2.在CMD下运行,node和n