flash3D引擎对比分析

flash 3D引擎简介
    flash3D引擎有不下10款,在使用的时候真的是会让人犯难,我个人曾经使用过一段时间PV3D,感觉PV3D的创建时间,用户规模等等相对都要更加成熟,因此我自己更加推荐PV3D 。
 结论:目前我在用PaperVision。如果Away3D能修复问题,提高执行效率,我会换用A3D。如果GreatWhite (PV3D2)继续出错不断,Away3D的问题解决不了,我会考虑Alternativa。

Flash 3D 基础
http://flash3d.esojourn.org/cn/Flash-3D-Basics
本教程适用于电脑3D图形新手。教程中将介绍常用术语并解释如何在Flash中实现3D。如果你不知道什么是网格(mesh),贴图(texture)或都着色引擎(shader)(译者注:参见什么是shader? - 文章未完成) ,那么本文可以在你准备使用Papervision3D, Away3D 和 Sandy这些引擎制作3D Flash之前,为你讲解一些必要的基础知识。因为本教程只涉及一般电脑3D基础知识,所以不需要编程基础。
本教程是为刚刚入门的新手编写的,不过你也可以在教程中找到其他一些信息。所有示例都是使用Away3D实现的,你也可以随意下载示例源代码。直接研究代码是学习Flash 3D的最好办法。在这里(文章未完成)有如果使用这些代码的说明。最后提醒一下,每个例子都需要用鼠标指向才会运行。如果所有Flash文件都一起运行,你的浏览器马上就会挂掉。下面也会讲到这是为什么。
好了,进入主题。3D很简单。就象你每天用双眼看到的一样,是你非常习惯的东西。因此你的大脑对3D世界很了解。在电脑中的3D与在现实中十分类似。区别只是在电脑中,你看到的一切是某些人设计出来的,而且只显示在平面的显示器上。(译者注,现实世界也不是凭空变出来的)

flash 3d常用引擎
Alternativa 3D引擎;Away3d引擎;CopperCube引擎;Flare 3D 引擎;Sandy 3D引擎; 
papervision3d引擎;NewX3D引擎;Sharikura 3D引擎;Alchemy3D引擎等。

flash 3d引擎学习资料
    国内目前知名的几个flash3d爱好者可以找资料的地方: 
  Flash3d官方网站 - 拥有最新最全的Flash3d引擎学习资料,是flash3d爱好者研究学习的家园。 
  Flash3d研究所 - 代表国内flash3d最高技术团队,QQ群涵盖大部分flash3d业内高手。 
  天地会3d应用区 - 天地会凭借其海量flash人员,此3d区拥有很多flash3d爱好者。  

Flash 官方3D引擎:Stage3D

Papervision3D
算是最老牌最流行的3d引擎了,as2时代就有。性能算是十分的不错(DEMO),支持 ASE 和 DAE 格式的3d模型,其中 DAE 格式的贴图支持得非常的不错。支持的材质方式十分之多,几乎我们所能想到的方式基本都有。但是相对来说,模型却不多,而且Camera也不是很好用,没有默认的控制器。并且我发现他最近更新不快,很多功能没有陆续增加,实在是可惜。如果你需要做一个需要高性能,不需要动态灯光,碰撞检测等的项目,pv3d是不错的选择。许可:MIT MIT License。
Papervision 3D.  我非常喜欢这个引擎。和Away 3D很类似。但我发现PV3D的性能要好一些,也没有三角型丢失的问题。如果PV3D能尽快出一个稳定版就好了。现在很多东西还在修改中。还有过时的文档也会带来一些问题。

Alternativa 3D
一个商业性的3d引擎,支持3DS格式模型,支持碰撞检测。有一个类似Counter-Strike的控制器,操作镜头是十分的方便。但是如果你希望动态的设置个别模型的位置什么的,那就惨了,性能十分的差。由于他不是开源项目,所以你是做商业应用,就得好好考虑了。许可:Alternativa3D License。

Alternativa,这个引擎比较完善。因为版权协议的问题,我没有深入研究过这个引擎。如果他们在商业开发版权协议中,加入针对个人开发者的免费协议条款,我肯定会考虑这个引擎。版权费用是个大问题。

在Molehill出来之前,用此引擎开发的Tanki Online就让大家惊艳。去年Adobe MAX大会上的3D赛车让大家印象深刻,这个游戏就出自Alternativa3D引擎。

引擎相关特性:
•支持加载大多数流行3D文件,如Collada, OBJ 等

•拥有3ds MAX 2010输出插件

•可以类似DisplayObject方式方便的管理3D对象

•高效的三维深度排序

•光照系统、鼠标交互、多摄像机系统等。

官方网址: http://www.alternativaplatform.com/

授权方式:免费但不开源,今年4月就将推出支持Molehill的最新免费版本。

开发环境:Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。

演示案例:
•http://www.alternativaplatform.com/en/demos/maxracer/

•http://www.alternativaplatform.com/en/demos/metro2033online/

•http://tankionline.com/

•http://war.q1.ru/art/screenshots/

更多采用此引擎的游戏展示: http://www.alternativaplatform.com/en/showcase/

Away3d
这是一个功能很强大的3d引擎,支持多种(ASE, DAE, KMZ, 3DS, Md2, Obj)模型格式,支持3D动画,支持动态灯光等,不过性能貌似不怎么样,一个1024*1024的立方体都跑得够呛,不知道是不是我没有设置好。许可:Apache License2。

Away3D是个很好的3D引擎,有很好的社区支持,结构清晰不断改进的文档。使用Away3D,你可以选择一种你所喜爱的开发工具,开始进行3D Flash开发。

我喜欢Away3D,因为他的API最清楚,文档和示例做得最好。但是三角型消失的问题让人头疼。

值得一提的是,Away3D具有一个可视化编辑场景及模型的工具- Prefab3D ( http://www.closier.nl/prefab/),这个运用Adobe AIR开发的工具功能相当强大,开发者和设计人员可以方便的对三维场景进行材质贴图,编辑光照及设置动画等,并输出为Away3D使用的文档。

在Adobe Molehill公布的当天,他们也发布了最新支持Molehill的4.0 Alpha版本。

引擎相关特性:
•支持加载大多数流行3D文件,如Collada, OBJ 等

•拥有可视化编辑场景及模型的免费工具Prefab3D

•功能全面的资源加载、事件处理、光照、摄像机、骨骼动画及音效处理等

官方网址: http://www.away3d.com/

授权方式:开源且免费

开发环境:Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。

演示案例:
•http://infiniteturtles.co.uk/projects/away3d/broomstick/ShallowWaterDemo.html

•http://www.ringo.nl/projects/away3d/broomstick/LoaderOBJTest.html

•http://not-so-stupid.com/clients/not-so-stupid/away4/duck/

•http://infiniteturtles.co.uk/projects/away3d/broomstick/LoaderMD5Test.html

更多采用此引擎的游戏展示:http://away3d.com/projects-using-away3d

 

Sandy 3D
看上去十分象PV3D,实际上我觉得他比PV3d好用,结构更加清晰,性能也十分不错。不过我觉得他还不够成熟,所以选择时需要谨慎。许可:Mozilla Public License 1.1 。

我下载过,但是不喜欢他的文档和示例。后就没再多在这上面多费时间。

Sharikura 3D
一个日本人写的,相信大家都看过 pictaps,那是相当的不错。在MAX会上演示的 ECO ZOO更是叹为观止。十分流畅的3D动画,都怀疑是否是flash做的。不过我们目前还只能看看这些漂亮的demo。

Zero3D
zero3d是一款完全由国人自主研制开发,基于Flash Player 10 的Flash 3D完全开源引擎. 官方网站是:www.zero3d.cn 开源地址:zero3d.googlecode.com

目前最新版本为v1.3. 目前功能支持几乎所有的主流Flash 3D内容.并且具有特色的物理,粒子,刚体,精灵系统. 全中文的文档.全中文的代码注释.为从使用到开发上都提供了方便和完整的技术支持. 最重要的,这是一款我们中国人自己的引擎.

Flare3D
Flare3D是一个 创建Flash 3D游戏的引擎。其最大特色是具有较完整的Flash 3D游戏开发工作流程。

引擎相关特性:
•支持导入3ds MAX模型

•可视化的对场景及模型进行编辑、贴图等

•光照系统、骨骼、摄像机系统等

•比较直观的开发流程

官方网址: http://www.flare3d.com/

授权方式:商业授权,30天试用版本 。

开发环境:Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。

演示案例:
•http://www.flare3d.com/games/AlmaxRace/

•http://www.beyond-reality-face.com/demo

•http://www.flare3d.com/demos/animations/

更多采用此引擎的游戏展示:http://www.flare3d.com/showcase

比较和分析
Papervision 3D的效率要稍微高那么些。

我用away3d生成的swf至少也在100k左右,但是同样的效果用pv3d却能减小到20k。但是占用的CPU差不多。

Papervision 3D 用的人最多,可以问的人也多,学习资料多。

Alternativa 3D 效率应该更高些把?但是没开源。

结论:先上手 Away3D实例,再研究Papervision 3D。

posted @ 2012-04-12 15:38  鉲鉲  阅读(3234)  评论(0编辑  收藏  举报