zoukankan      html  css  js  c++  java
  • OgreMax的使用

    目前开发的IM游戏平台主要用Ogre制作,开发了一段时间,其中3ds max导出插件比较好用就oFusion和OgreMax,但是oFusion因为免费版的因素,有功能限制几乎没法儿用来做真正的开发。因此大部分时间就是用oFusion在3ds max中的即时预览功能,而OgreMax就用来做真正的导出。经过一段时间的使用及网上的一些资料,总结了一些OgreMax的使用经验,经常使用的菜单部分的一些介绍:

    自定义数据

    使用OgreMax很重要的一点就是导出自定义数据。要做到这一点首先需要自己写一个xml文档来说明自定义数据的类型,在OgreMax文档的"Custom User Data Types"页面中有很详细的例子,比如下面的一段:

    在OgreMax->Object Settings->User Data中载入以后就可以在type中选择"角色"类型了,并且会按照xml中定义的数据显示。

    导出以后在.scene文件中会有类似如下的xml块:

    上面这一段CDATA可能包含在一个Entity或者Node节点中,具体取决与你在OgreMax中的设置。

    物体属性设置

    前面也提到了,在OgreMax->Object Settings中可以对导出物体的属性进行设置。这里介绍一下其中比较重要的一些选项。

    General

    Type 这一项决定了导出物体在.scene文件中的类型。最常用的是Entity/Mesh,这个类型在导出以后会生成一个node以及挂载在该node上面的entity,同时会把3ds
    max中的该物体导出为一个.mesh文件。然后就比较常用的就是Empty,这种类型会导出为一个没有挂任何东西的node。比如说我用一个box来代表NPC出现的位置,那么这个box就可以设置为Empty类型。
    Rendering 在这里设置物体的可见性、渲染顺序、shader参数等等
    Node Animation

    在这里设置物体的Node动画,即位置、旋转、缩放上的动画。物体模型本身变化的动画在Mesh Animation中设置。具体的用法还没有仔细研究。

    User Data

    自己游戏所需要的自定义数据就在这里设置了。点Configure...按钮添加上面所说的userdatatypes.xml文件以后,User Data Class中就会出现自定义的数据类型。这样就可以直接把3ds
    max作为一个关卡编辑器来使用了。虽说还是没有专门的编辑器那么方便,不过大多数情况下还是够用了。

    Mesh

    Mesh Name和Skeleton Name可以制定输出的模型和骨骼的文件名,如果不指定的话则会以3ds max中物体的名字命名。

    Mesh Animation

    这里用来设置顶点动画或骨骼动画。可以把整个场景中物体的任意某一段动画制定某个名字以供程序调用。点击Add..会弹出Animation Settings窗口。通常其中的Track类型已经设置好了,骨骼动画是Physicue,
    定点动画是Morph。只需要制定动作的起始帧号就可以了。要注意的是一个场景中某个物体的骨骼动画只能导出为一个skeleton文件,如果你需要把不同的动作导出为不同的动画的话,需要把骨骼动画保存为不同的max文件然后飞别导出。

    自定义文件的读取

    OgreMax提供了从3ds max中导出为.scene文件的机制,然是我们还是缺一个读取它的程序。虽然OgreMax中自带了一个Viewer程序,但是要处理自定义数据显然还是得自己动手写一个。这里可以参考Ogre
    Wiki中的一个.scene文件读取程序的例子,在它的基础上进行修改:

    http://www.ogre3d.org/wiki/index.php/New_DotScene_Loader

    但是这个程序在很多地方都只是写了一个函数名而没有实现,并且对场景文件的处理和OgreMax导出的格式还是有所区别,需要自己进行大量修改。

  • 相关阅读:
    Spring 事务管理
    016 sleep,wait,yield,join区别
    013 GC机制
    011 CountDownLatch,CyclicBarrier和Semaphore
    012 public等关键字可见性
    010 JVM类加载
    009 JVM内存结构以及GC机制
    008 BlockingQueue理解
    python3 正则表达式
    python django
  • 原文地址:https://www.cnblogs.com/ainima/p/6331133.html
Copyright © 2011-2022 走看看