El游戏引擎-3. 模型

3. 模型

         游戏引擎提供了一套绘制三角形的解决方案,而这些三角形将如何被组织,绘制时采取何种参数,则需要美术人员在模型编辑器(3ds max等)里给出定义。

         在硬盘上如何将这些三角形和渲染参数组织为文件,这些文件又如何加载,由此催生出诸多模型文件格式(.x.mesh.nif等),基本上各大公司都有自己的格式文件,并提供整套由编辑器(3ds max)格式到自己文件格式的转换方法。

         看似简单的规则,却产生了诸多方的诸多诠释版本。竞争导致冗余,同时催生发展,行业乃至社会进步全仗于此。如果要编写一个像样的引擎的话,我们也将加入这个诠释行列中。

         也就是说我们需要开发自己的3ds max导出(甚至导入)插件。

 

3.1 配置插件开发环境(3ds max2008+vs2008

         3ds max2009为例,安装时确保同时安装了3ds max sdk

3ds max2009默认支持visual studio2005,按照max安装目录Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard下的readme.txt中的说明步骤,可以配置出一个vs2005向导(wizard)用于快速建立max插件工程。该文档为英文书写,在下述网址中则可以找到中文教程,该教程在指导建立配置之余同时演示了如何建立一个空的插件项目。

http://www.cnblogs.com/csyisong/archive/2009/09/01/1558051.html

注意,如果你使用的是visual studio2008,那么在配置时需要做出额外更改:在根据教程复制3dsmaxPluginWizard.ico3dsmaxPluginWizard.vsdir3dsmaxPluginWizard.vszVS 2005安装目录的VCProjects之前,你需要:

1. max安装目录Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard3dsmaxPluginWizard.vcproj文件及Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard/Templates/1033root.vcproj文件里的Version="8.00"改为Version="9.00"

2 max安装目录Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard3dsmaxPluginWizard.vsz文件中Wizard=VsWizard.VsWizardEngine.8.0改为Wizard=VsWizard.VsWizardEngine.9.0

这三个文件直接用文本编辑器打开编辑即可。其余与配置vs2005无异。

 

3.2 插件开发

         3dsmax插件开发可参考潘李亮《游戏程序中的骨骼插件》一文,这篇文章前部分细述了模型文件的导出,后部分讲解骨骼动画的导出,阐述十分透彻。建议在自行编写的同时参考max sdk自带的实例代码,相信很快就能轻驾就熟,达到应用层面的水平。

         http://www.cppblog.com/lai3d/archive/2009/07/11/89768.html

 

3.3 ElMaxPlugin

         El目前支持导出模型(含动画)为ELM格式文件,导出骨骼为ELS格式文件,导出骨骼动画为ESA格式文件,并提供在游戏中加载、使用上述格式文件的方案。

         对于模型的支持,作者以为在各个引擎中占据大部分比重。围绕模型产生的技巧也是数不胜数,例如模型LOD,模型拆分、组装(换装系统),模型渲染参数(是否含Alpha通道、是否投射阴影)等,都需要在设计之初给予考虑。

大家可以从一个简单的模型导出和载入开始,逐步学习3ds max插件开发及游戏网格模型系统的设计,相信对大家进阶游戏深层开发会大有裨益。

 

Model

3.1 模型

Model_W

3.2 模型(线框模式)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值