开源引擎:OGRE、Novodex介绍

真是不错!国外廉价引擎评价最好的两个是 Turque 、Truevision3D,免费开源引擎评价最好的是 OGRE 和 IrrLicht ,综合考虑起来, OGRE 还不是个完整的游戏引擎,它首先只是个图形渲染引擎,用着也比较麻烦;IrrLicht 易用性最强,但是功能比较落后,因为作者现在只是一个人在开发;Turque 商业气氛太浓,不掏钱搞不到 SDK ;相比之下 Truevision3D 是相当合适的一个,可以免费搞到他的 SDK ,并且无限版商业授权也才 500 美元。并且,拿到这个引擎之后最关心的,当然是它能不能显示中文,不像 OGRE 现在还需要特别给他挂中文包

1.真是不错!国外廉价引擎评价最好的两个是 TurqueTruevision3D,免费开源引擎评价最好的是 OGRE 和 IrrLicht ,综合考虑起来, OGRE 还不是个完整的游戏引擎,它首先只是个图形渲染引擎,用着也比较麻烦;IrrLicht 易用性最强,但是功能比较落后,因为作者现在只是一个人在开发;Turque 商业气氛太浓,不掏钱搞不到 SDK ;相比之下 Truevision3D 是相当合适的一个,可以免费搞到他的 SDK ,并且无限版商业授权也才 500 美元。并且,拿到这个引擎之后最关心的,当然是它能不能显示中文,不像 OGRE 现在还需要特别给他挂中文包。Truevision3D 引擎官方网站

2.OGRE 在免费、开源的引擎中评价最高,一个原因是作为一个图形渲染引擎,它支持的图形特性最多,所以渲染质量也不错;另一个原因是设计模式的清晰;最后,速度也不错。看下面的截图,100个飞龙,200000个三角形,能跑60FPS。这个还没有应用到 LOD 层次细节技术,已经能跑这么快了,况且它有模型和场景的 LOD 支持。LOD 在制作复杂宏大的游戏的时候,实在是最受欢迎的一个特性。

3.Quake III Arena (简称 Q3A )由于 ID 公布了它的关卡编辑器的源代码,使得它的 BSP 关卡文件格式能够被大多数开源、免费或廉价的 3D 引擎所支持。在我摸过的引擎中,TrueVision3D 、Irrlicht 、NeoEngine 都能够读取 Q3A 的 BSP 关卡,但是,它们都不能像 OGRE 这样对 BSP 的特性有相当全面的支持。TrueVision3D 对 BSP 的读取尚存在 BUG ,它提供的示例在我的机器上不能读取 BSP ;Irrlicht 对 BSP 的特性支持非常贫乏,在读取的场景中,没有了天空、没有了粒子构成的火焰只剩下被火焰照亮的墙壁,没有了材质的高级属性:动态贴图、纹理混合和特效,只剩下死气沉沉的关卡,NeoEngine 相对 Irrlicht 似乎要好些,但是仍然不及 OGRE 这样强大。在 OGRE 中, BSP 场景的天空穹、粒子特效、高级材质属性,乃至 BSP 的空间分割规则,也就是当镜头处在一个分区,该看到哪几个分区、不该看到哪几个分区,都会被正确识别、自动实现,而在另外几个引擎中, 部分 BSP 分割规则似乎被无视。

4.NovodeX 和 Havok 一样是一个久负盛名的商业物理 (Physics) 引擎。《半条命 2 (Half-life 2) 》用的是 Havok ,《虚幻竞技场 (Unreal Tournament) 》的最新版本将使用 NovodeX 。

NovodeX 的官方主页在这里:

NovodeX – game development technology

你可以去下载它的技术演示 Demo (需要安装 DirectX 9c ):

 NovodeX Rocket v 1.1 BETA (August 18, 2004)

你还可以下载它的 SDK ,这个 SDK 可以自由应用于非商业版的作品:

NovodeX Physics SDK v 2.1.1 (August 9, 2004) 

Demo 酷到极致!自己看,我就不贴截图了,下面我要贴的是 OGRE 外挂 NovodeX 的效果截图。OGRE 强大的扩展性,使得它可以外挂多种第三方物理引擎,包括 Tokamak 、 ODE 以及这个最酷的 NovodeX 。作为一个商业品质的物理引擎, NovodeX 花样多、速度快、运行稳定。你在 NovodeX 里面可以放上上千个刚体速度都不会有影响, ODE 是最负盛名的免费物理引擎,它甚至被应用到 Softimage 这样的大牌 3D 动画工具,但是它的实时运算能力没有那么强,放两三百个物体,就卡得进行不下去了。有个老外制作了 OGRE 和 NovodeX 的接口,你可以去他的主页下载 Demo 和 Source :http://rocketman.f2o.org/nogredex/也怪酷的,只是因为添加了材质的表现,它比 NovodeX 本体的例子运行要慢一些。如果关闭阴影 (按 Ctrl 键) ,速度会有很大提升。

5.CEGUI ,全称 “Crazy Eddie’s GUI System” ,是一个专门的用户界面库,开源并且免费,它支持 DirectX8 、 DirectX9 ,除了可以作为 OGRE 的界面外挂,还支持另一个免费开源的 3D 引擎 Irrlicht 。由于它功能的相对强大和灵活, OGRE 的开发团队一直在推荐 OGRE 用户使用这个 CEGUI 来开发用户界面,逐渐抛弃 OGRE 本身过于简陋的 GUI 插件。尤其是在行将到来的新版本 OGRE 1.5 的声明中特别强调了这一点,尽管这个版本仍然暂时保留内置 GUI 系统,但 OGRE 1.5 将会是最后一个保留内置 GUI 的版本。 OGRE 看来似乎将专注于向一个纯粹的、然而富于协作和扩展性的图形引擎发展,这应该得益于它的庞大的社群支持,使得很多事情可以通过外挂一些更专业的引擎来实现,物理引擎使用 ODE 、 Tokamak 、 NovodeX ,网络引擎使用 openTNL 、 RakNet 、 eNet ,声音引擎使用 FMod 、 OpenAL ,以及这个界面引擎,使用 CEGUI 。外挂现成模块的好处就是可以专注于一个方面,开发一个五脏俱全的游戏引擎并不是个容易的事情,市面上最负盛名的几个商业引擎的开发, Unreal 、Renderware 、 Lithtech ,往往要耗费数百人年,并且在这些商业引擎中同样会使用外挂的商业库,在这个年代,没有人可以从头创建一切。CEGUI 基于 Unicode ,所以它支持中文字体的显示, 但是对中文字符的输入现在尚未解决,因为不断有来自中国的 OGRE + CEGUI 用户的质询和申请,对中文输入的支持可能已在考虑中。CEGUI 的官方主页在这里:Crazy Eddie’s GUI System

6**.OGRE 是一个专业的图形渲染引擎,它在相当程度上“专注”于图形处理,确实,拿来做演示 Demo 很方便很强大,但是如果拿来做游戏,必须给它外接各种各样的第三方功能库,用这一个最底层的图形引擎,加上物理、网络、 AI 、 UI 、脚本、场景、角色、等等的各种模块,历尽千辛万苦来“组装”成一个可用的游戏引擎。很累。 Nebula 则是一个真正的 3D Game Engine ,具有专业品质,而且各种模块比较全面包括网络和物理、界面、脚本,它设计出来就是为了做游戏,使用会更加方便,但是,上手不太容易。

7.自学的话,有两个游戏的关卡编辑器一定要学,就是 Unreal Unreal Tournament 和 Quake III Arena ,这两个游戏的编辑器是现今一切全 3D 游戏的 Level Editor 典范,当年就有一个 3D 大牛,叫 puzzy3d ,对我说:“你学好这两个编辑器,将来找工作不用发愁,如果实在没人要,来我这里,我要!”很多 3D 游戏的基本概念,都体现在这两个编辑器里,前者几乎是万能的,后者偏重室内 (BSP) 。基本上一个月就能初步掌握。

本文为GameLook原创文章,如若转载,请注明出处:http://www.gamelook.com.cn/2009/08/1880

关注微信