heishuijingCG 发表于 2010-6-29 10:24:50

OSG爱好者技术交流讨论组中对OGRE、OSG、Delta3D、Unity3D的讨论

本帖最后由 heishuijingCG 于 2010-6-29 10:28 编辑

昨天,osg线下讨论组有关3d开发包:OGRE,Delta3D,Unity3d,展开了激烈的讨论,主要针对的是他们的局限性,非常感谢讨论组的zhuwan老师和阿Ray,通过大家的讨论,把大家都这几个开发包的理解和经验总结分享一下,另外也希望有经验的其他人进一步跟帖,参与到这个讨论中来。   OGRE:优点:                  1)类似OSG,也是个开源项目,并且有自己的文件格式OGREMesh
   2)支持DX和Opengl,这个比OSG要好些,OSG仅支持Opengl
   3)本身带很多例子和效果不错的Shader,还有相对完善的动画系统
   4)效果不错的阴影系统,有多光源的阴影例子和软阴影例子
缺点:
   1)效率上要比osg差(没有自己的场景管理系统)
   2)除非是实力很强的游戏公司(比如国内使用OGRE开发的天龙八部),因为他们本身就要做引擎,否则,使用OGRE开发价值不是很大。目前它的相关产品商业化程度远低于osg。
   3)OGRE 3dmax Plugin 项目也不再维护了,OGRE的ofusion最近好像基本上不发展了
   4) 可能由于DX支持的问题,目前只支持windows下面的渲染,而且Opengl模式的渲染速度比较慢,对ATI的Radeon显卡支持的不好。
   5)就源码来说,OGRE的架构设计要比OSG复杂的多   Delta3D:
优点:
   1)Delta3d设计理念与虚幻引擎都非常象的,包括最新出现的可视化脚本之类
   2)Delta3d给人的感觉是做个军事仿真的项目还不错,这东西至今最终文件之类的结构看上去还是面象项目型的,他的主要好处是支持HLA之类吧,至少比multigen先进(专业功能模块除外),或者适合其他专业领域的仿真或者虚拟现实。
缺点:
   1)Delta3d的效果用的是GLSL,这样基本上会失去通用性,因为市场上还有很多显卡,包括FX级别的,并不支持GLSL或者支持的不好,特别是Delta3d的阴影也是用GLSL实现的,而且,还不是OSG中的阴影算法,对显卡的要求很高,基本上在差的显卡上就不用指望可以运行了,很多Intel显卡的上网本更加不可能运行了。
   2)实在是太大,封装了好多第三方包,如物理引擎,多媒体,网络,人工智能等库。   Unity3D:
优点:
   1) 它目前占据 Web 3d 和嵌入式 3d领域的很大市场份额
首先Web3d方面,目前做Web3d主要3种途径(有一个Native Client开源项目,号称可以将桌面程序改成IE应用,而且是微软认证的,不会弹出警告框,但是还没有用过):开发插件,Flash引擎,HTML5开发。其中插件方式,用户往往需要安装,这个会让很多人头疼;Flash方面,目前Adobe官方还没有发布FLash的3d开发接口,常见的基本上都是第三方开发的,如PV3d,away3d,Sandy,Alternatia3d,sharikura3d等,而且这些效率都很低,无法渲染中等规模场景;HTML5方面,很多公司都开发了应用,包括还可以见到基于HTML5的Quake游戏,不过HTML5还不成熟,正式标准要在2012年才能出现,还有很长一段路。而Unity3d属于第一种方式,就是也要安装插件,但是它的好处是,只需要安装一次,以后使用Unity3d开发的不同应用都能在同一个机器上运行。
      另外嵌入式3d方面,目前Unity3d已经出最新版3.0版,支持Apple的Iphone和google的Android。
缺点:
   1)Unity3d目前可以下载与发布的基本上就是一个基于脚本的编辑器,您甚至连自己加个定制的图形绘制的功能都很难,除非能够买到Unity3d源码完整版,不过这个版本的价格也不是一般规模的公司可以支付的起。好多公司都是看到Unity3d的效果,决定使用它,结果做出来的东西看起来,效果很好,但是其实并不能达到用户的需求,使得最终结果很悲惨。
   2)目前使用Unity3D开发,门槛高,基本上都是通过脚本和Shader编写来实现特效。
   3)Unity3d由于是用CG的一些特性,是NV专用的功能,后来虽然有ARB的版本,但基本上极大多数用户的显卡是不可能会支持的,就算他们的显卡有这功能,用户也不见得会去更新显卡驱动,毕竟他们只是普通的用户
   4)象现在的版本只能用他提供的功能制作内容,但面象客户的专业市场是需要有满足客户要求的东西,这样就会造成Unity3d制作的东西,基本上是不专业的,从而不是客户的需要,直接导致的就是完全损害与伤害了Unity3d的用户
   5)从技术的层面上来说Unity 3d的开发模式是完全将渲染引擎、GUI、AI、脚本、编辑器等等所有的东西都集成为一家公司在提供,这样由于Unity3d的开发模式,基本上会扼杀所有中间件厂商介入的可能,这样导致的后果,长期以往对Unity3d不是很有利的
   6)效率上来讲,目前Unity3d开发的大型网游很少,一些大型的用Unity3d做的游戏之类,他们的性能很低,特别是面对大型场景的时候,这些因素会决定Unity3d今后的走向,基本上就是些小型的游戏与初级的应用之类,市场上的客户并非是游戏用户,所以,Unity3D就表面上看上去很好很强大,但真正给您的机会就很少

tianxiao888 发表于 2010-6-29 21:52:38

了解不少啊~

StackSnow 发表于 2010-7-2 19:51:59

又多了一个版块,加油

OSG_COOL 发表于 2010-12-28 22:08:13

这个不错~~ 学习了

lumin824 发表于 2011-7-14 13:37:34

缺点:
   1)效率上要比osg差(没有自己的场景管理系统)
这个说的好牵强。。。Ogre有SceneManager来管理场景,有插件支持八叉树,bsp

lumin824 发表于 2011-7-14 13:41:42

3)OGRE 3dmax Plugin 项目也不再维护了,OGRE的ofusion最近好像基本上不发展了

有OgreMax插件的,
官网:http://www.ogremax.com

阿威 发表于 2013-2-2 01:54:41

为了表示一下我对此文的不满,不得不回帖了。
(具体内容请付费后观看)

ganjuwei 发表于 2013-10-25 10:01:48

我想问一下 这三个游戏引擎可不可以兼容 有个c++代码可以在OGRE、Unity3D上用 ,那可不可以在delta3D上用啊?
作为初学者 情大家指教:):D

obuil 发表于 2013-11-12 16:45:20

7个字:胡说八道 不犯法
页: [1]
查看完整版本: OSG爱好者技术交流讨论组中对OGRE、OSG、Delta3D、Unity3D的讨论