OGRE3D从新手到入门周边工具集

来源:互联网 发布:3d编程基础 编辑:程序博客网 时间:2024/04/29 18:35

经过前边的学习相信大家对ogre的基本的使用都有个清楚的了解了,是不是想试试用ogre做一个自己的3d项目呢,呵呵,我当时的感觉就是尽快的用ogre做一个自己的3d游戏,不过回头又想想,ogre仅仅是个3dt图形渲染引擎,要做3d游戏,还需要的东西很多,比如物理,音效,网络(本教程内将不涉及) ,界面以及输入(这里咱们用ogre自带的cegui和ois),以及AI呵呵,总之一个游戏包含的东西太多,咱们这里仅仅是入门教程,所以一一切从简,但是都会设计到一点哈!对了,还有个很重要的要点,开发游戏前,先要开发辅助工具,比如模型查看器,建模工具了,场景编辑器了,界面编辑等等一系列的工具,这样才会使我们的游戏事半功倍!恩,开始了!

1. 界面库:这里我们使用ogre自带的cegui,ogre已经经cegui很好的整合进了ogre,我们只需要学习完前边的教程,就可以入门了,这里要介绍个cegui的界面编辑器,celayout,这个在cegui的官方网站上可以下载到,同时官网上还有非常具体的英文教程,这是地址http://www.cegui.org.uk/wiki/index.php/Tutorials 对应教程里边的知识,可以很快的上手,很轻易就可以作出很美丽的界面拉!

2. 输入库:输入库我们同样采用ogre的自带库,ois,ois很方便实用,同样他也已经被很好的整合进了ogre,在ogre的wiki中同样也有很多ois的资源。

3. 声音库:声音库这里我们介绍闻名的Fmode ,闻名的魔兽世界,使命召唤用的都是他,可见他有都摸牛X!仔ogre的官方wiki中有对fmod的良好封装,并且附有代码介绍,这里给出地址,相信大家很快就可以上手,所以就不讲了:http://www.ogre3d.org/wiki/index.php/FMOD_SoundManager

4. 物理库:这个可选的东西很多,在ogre的wiki中https://www.ogre3d.org/addonforums/viewforum.php?f=23&sid=9abc70b212ca9b9e01ec4c38c87b23f1这里有很多对ogre 支持的引擎的封装,不过这些物理库都很复杂,所以这里选用了相对简朴的
opcode库作为我们的物理库,基本原理都是差不多的,学会一个,大家可以类推其他的库:http://www.ogre3d.org/wiki/index.php/OgreOpcode这里是ogre对opcode的封装,大家可以自己下载学习。

5. 模型:这个是比较要害的主题,model是我们游戏里边最重要的东西之一,还好ogre支持很多model编辑器哈,下面给出列表:http://www.ogre3d.org/wiki/index.php/Exporters这里包含了所有ogre支持的模型导出工具,这里我们选取了3Dmax + ofusion ,ofusions

的教程在这里,稍后我们会详细介绍二者的结合导出场景和模型。

6 场景编辑器:.对于一个游戏来说,场景编辑器非常的重要,一个好的场景编辑器可以大大方便游戏的开发,这里介绍几个官方的场景编辑器:

Ogitor:是最近ogre社区开发的一款编辑器,功能很强盛,但是目前还没有stableba版本,但是大家可以拿来作为学习使用,编辑小型的场景还是不错的!wiki:http://www.ogre3d.org/wiki/index.php/Ogitor

Artifexterra3d :官方网站http://www.artifexterra3d.com/,和freeworld相似,不过都收费,大家可以看下。

3Dmax : 哈哈,我想这个大家都很认识了,既可以建模又可以作为场景编辑器,很实用,但是3dmax的文件ogre直接读不了,需要用导出插件导出,上边我们已经介绍了ofusion插件,作为3d的到处插件,很好用,pro版本的收费,但是ce版本的free 嘻嘻嘻!!我们的项目的model编辑器,为了学习之用,这里我们决定自己开发一款简单的地图编辑器哈!!

6. 界面编辑器:因为我们要用cegui做界面,所以这里我们用个cegui的celayout作为我们的界面编辑器器,

7.

Ogre游戏引擎鼠标选取物体演示

声明:
  该演示只是起到抛砖引玉的作用,转载请保持本文章完整性,请保持作者信息。
  由于Ogre推出了最新的Release1版,为了适应该版本所以延迟了几天,不过还好问题解决了,主要是(GUI方面的)。
  Ogre是开源的图形渲染引擎见http://www.ogre3d.org,该引擎很有名,在网上可以找到很多相关的信息。
  言归正传,这个演示程序演示了在Ogre中进行鼠标选取物体,而且还能检测出鼠标具体击中了该物体的哪个面,用专业点的说法就是"射线与面(三角型)的碰撞检测"。
  注意:
  该程序采用Esc键退出。
  该演示程序为VC7.1(2003)工程,需要最新的Ogre
  1.0.0
  Release的支持。
  编译前的目录设置:(注意下面目录为我机器目录,请设为你自己的目录)
  包含文件目录(include)
  D:\OgreRc1\ogrenew\Dependencies\include\
  D:\OgreRc1\ogrenew\Dependencies\include\CEGUI
  D:\OgreRc1\ogrenew\OgreMain\include
  库文件设置(lib)
  D:\OgreRc1\ogrenew\OgreMain\lib\debug
  D:\OgreRc1\ogrenew\Dependencies\lib\Debug
  重点函数
  getClickAt函数:该函数主要是调用Ogre的Ray检测判断哪个物体被选中,该函数可以用于在多个物体中判断鼠标选中的物体。
  PickTest函数:该函数用于判断"鼠标是否选中某个物体(调用getClickAt函数),以及选中该物体的哪个面"。
  HJSDK命名空间:我自己仿照Ogreode写的碰撞检测引擎,用来检查碰撞面。
  代码下载(编译后如果不能正常运行,请把可执行文件复制到
  \ogrenew\Samples\Common\bin\Debug\下)
  http://www.hjpdiy.com/docdoc/OgrePickTest.rar
  注意该文件已经针对(OGRE
  1.0.0
  Final
  Feb
  23,
  2005
  -
  03:44
  PM
  by
  sinbad)进行了修正。
  可能的问题:
  对于有骨骼动画的mesh可能不能正常识别。
  其实一开始想写个简单的
  "3d魔方程序"然后发布出来,结果现在突然想学学Cg动画(maya)所以先把这个东西发出来,见笑见笑

0 0