`
javababy1
  • 浏览: 1230048 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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 模型(线框模式)

分享到:
评论

相关推荐

    JSP版Flash小游戏小偷-jsgame.zip

    3. **EL表达式**(Expression Language):可能被用来简化页面中的数据访问,如`${variable}`,这可以方便地从请求或会话范围获取数据。 4. **JSTL(JavaServer Pages Standard Tag Library)**:可能使用了JSTL...

    El游戏引擎、3ds Max导出插件、Demo源码及资源

    "3ds Max导出插件"是El游戏引擎的一个重要组成部分,允许用户将3ds Max中创建的3D模型和场景无缝导入到El引擎中。3ds Max是一款广泛使用的3D建模、动画和渲染软件,通过这个插件,开发者可以充分利用其强大的3D内容...

    java开源包10

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包3

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包1

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包101

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包11

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包2

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包6

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包5

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包4

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包8

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包7

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    java开源包9

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    Java资源包01

    Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,秒杀当前流行的模板引擎。而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以...

    El Mercante-开源

    开发者可能使用了开源的3D建模工具(如Blender)和游戏引擎(如Godot或Unity)来构建游戏世界。开源游戏通常采用跨平台的编程语言,如C++或Python,以便在多种操作系统上运行。 对于玩家而言,开源游戏的另一个好处...

    vigila-el-cortijo:Gañan策略生存游戏,专为Ludum Dare#46设计

    在"vigila-el-cortijo"中,开发者可能利用Unity的场景管理、物理引擎、动画系统以及渲染功能来创建游戏世界。 3. **游戏循环**:游戏通常包含一个主循环(如Update函数),用于处理玩家输入、更新游戏状态、渲染...

    Element编辑器

    4. **物理引擎**:编辑器集成了一套物理引擎,可以模拟真实世界的物理规则,如重力、碰撞检测等,使得游戏物体的运动更加自然。 5. **关卡设计**:Element编辑器允许用户设计各种复杂的关卡布局,通过设置路径、...

    El_Laberinto:Videojuego OpenGl在体育比赛中的表现

    3. 资源管理:学习如何加载、管理和更新纹理、模型和其他游戏资源。 4. 空间变换:理解如何使用矩阵来实现对象的位置、旋转和缩放。 5. 用户输入处理:学习如何捕获和响应键盘、鼠标等输入设备的事件。 总之,《El_...

    spring-boot-Thymeleaf 模板

    ### Spring Boot Thymeleaf 模板引擎详解 #### Thymeleaf 简介 Thymeleaf 是一种现代的服务器端 Java 模板引擎,它的独特之处在于支持 HTML 原型,这意味着它的文件扩展名为 `.html`,可以直接在浏览器中打开。...

Global site tag (gtag.js) - Google Analytics