Unity 3D、Three.js&OGRE浅析

更新时间:2015-09-09 20:35:47点击:116 企业动态

一、就综合体量而言:unityu > OGRE > three.js


1、Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型引擎工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布至Windows、Mac、Linux、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。和OGRE都是大型的综合开发引擎。
2、OGRE能(实际上就是)被用于开发游戏,但是OGRE被设计成只提供一个世界级的图形解决方案;对于其他的特性,如:音效、网络、人工智能、碰撞检测、物理等子系统,你则需要将其整合到OGRE中,在这些子系统中,已有一些成熟的库可供选择,在发布的SDK中。那为什么OGRE不是一个游戏引擎呢?原因之一是:不是每一个需要3D引擎的人都想用其来做游戏,我们并没有假设你要将OGRE用于游戏开发、模拟、商业应用、或是其他用途。有大量现存的采用OGRE提供完整解决方案的综合库可供使用。然而,需要明白的是OGRE自身总是保持足够地独立和灵活,以致能够与任何其他库融为一体。“与其他库协作和整合,而不是实现他们”的原则是面向组件设计的标准原则。 因此,灵活开源开放是OGRE给大多数开发者的印象。
3、three.js是新兴的运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精彩的演示。不过,这款引擎目前还处在比较不成熟的开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏)three.js的代码托管在github上面。


二、就方便程度:OGRE > unity > three.js


1、由于OGRE是免费开源的,而且就脚本语言体系而言,说实在的,长期进行相关项目开发的工程师总会有些OGRE情节。因此这里纠结于情节,还是把OGRE排在前面

2、unity是与时俱进的一个开发引擎,它的升级换代一年都出好几个版本,自动笔者解除了之后,一年到头总在学些新的模块,unity固化了好多系统成体系的功能,让开发可以立竿见影的快快快快!而且大量的开发者使用,有海量资料可以参阅,唯一的缺点就是收费滴!但价格相对unreal\UDK来说,还是比较亲民,但是总之收费即意味着门槛,特别是在天朝!

3、Three.js的优势在于小巧轻便,跨平台性良好,有Java开发经验的程序员可以快速入手。但它毕竟是是一个运行在浏览器里的控件性引擎。而且没有固定的编辑窗口,需要接触浏览器刷新,好尴尬啊,功能有很多局限性,相比成体系的3D引擎,在处理复杂的集成系统应用时,往往就无从下手,没有合适的解决方案了。而且,由于Java的根本性质,在一些特殊的系统安全要求下,根本无法做到完全加密,这就注定敏感项目中无法应用。


三、怎样选择适合自己的开发环境


1、如果你是临时项目用用,那就选择three.js或者unity3D,毕竟好入手。

2、如果您是企业,长期从事海量的相关项目开发,那就选用unity3d或者OGRE!

3、如果您从事非游戏大型商业综合项目,特别是涉及到底层较深的技术层面,建议可以了解一下OGRE!

4、做跨平台,图方便节省人力,当然unity3d.毕竟内置的MONO编译器还是很炸天的。



推荐阅读