可以说,自从2000年开始接触Flash以来,我就一直期望有一天能在Flash里面自由地运用3D模型,原因是当时我在上海交大同时学习Flash 4和Maya 3。多少年后,两个软件的版本伴随着我的年龄一起增长,在Flash领域我也渐行渐深,但是在3D领域一直没有什么建树,因为我一直没有在工作上进入这个领域。不过一些主流的3D软件依旧是我硬盘中的常客,因为在内心深处,其实我还是偏爱3D技术多一些。

因为这个原因,期待3D引擎成为Flash Player标准配置成了我脑海中一根若有若无却永远挥之不去的游丝。每一次Flash新版本的发布都会翘首以望,但遗憾的是每次都以失望收场。而令人意 外的是在Macromedia/Adobe公司对Flash内置3D引擎一再保守(他们的官方理由是:增加3D模块会使Flash Player体积大大增加,而他们的理念是做世界上最小的播放器)的同时,外部的Flash 3D插件的开发却如火如荼。近年来光本人研究使用过的就有Blaze 3D, PaperVision 3D, Away 3D。但是,由于Flash Player本身并不包含3D解析模块,这些外部插件都很难归入到真正的3D引擎阵营中去。因为Flash Player不支持硬件加速,所有的数据都靠CPU运算,所以像D3D,OpenGL等都无法得以运用。基于此,这些3D插件的前景不管开发者如何鼓吹都 好不到哪里去,因为离开了显卡的硬件加速支持,这些Flash 3D引擎所能渲染三角面是非常有限的,只能做做像网站之类3D模型比较简单项目,要应用到游戏之类的项目,那是蚂蚁拉牛车,实在太难为它们了。

记得当时CS4发布之前传出Adobe将推出Flash 3D引擎的消息,着实让我激动了一把,并因此一度中断对PaperVision3D的探究,及至发布日,发现那个3D引擎竟是如此3D法,不由得大骂 Adobe误人子弟。而现在CS5又将发布,从目前已有的消息来看,3D引擎依旧没有进入Adobe的发布日程表。这种太监急煞皇帝悠闲的现象显得有些奇怪,不能不引起我们的思考。

我之所以一直认为Adobe会推出Flash 3D的引擎,是因为我觉得3D应用是未来网络的发展方向,Adobe收购Macromedia的主要目标就是要从平面媒体发布垄断拓展到网络媒体发布垄 断,那么花了那么多钱买来得网络优势它不可能白白地看着它被别人侵消,也不会白白浪费Flash Player近乎100%的装机率,所以它一定会推出Flash 3D引擎模块。但近来我的这种信念渐渐地产生了动摇,其原因是网络上出现了另一种东西,那就是Unity 3D。

Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓。但是今年推出了2.5版,同时发布了PC版 本,并将其发布方向拓展到手持移动设备。几乎像当初的Flash一样,一下子就火爆了起来。我试用了一下,感觉是:被彻底镇住了。试用时所感受到的那种冲 击力,和我当初第一次使用Flash的感觉是一样的:超简单的使用方法,方便的可视化创作环境,完美的工作流程,高效的工作效率……但同时它比当时的 Flash有一个无可比拟的优势:它已经有成熟的并广为人知的脚本语言:C#和Javascript。这些特点可以归结到一点:可以让无数水平不等的使用 /开发者轻松上手,而这正是一款软件能够迅速流行起来的主要因素。我只试用了十几分钟,就产生一种强烈的感觉:Flash 3D永远没戏了。

网络上的3D应用,除了游戏之外,目前比较有前景的是3D虚拟社区,此外还有一些3D场景的虚拟展示。作为一个从3D游戏引擎发展起来的软件(其实它目前 还只是个游戏引擎而不是通用软件),用Unity 3D做这些事情自然是举重若轻。一些用Flash开发需要“高高手”才能完成的项目,用Unity 3D只要稍微设置一下,加一点控制脚本就能轻松完成,而运行速度方面Flash根本不在一个数量级。而它的web player插件也只有4M多一点点,和Flash Player差不多。
等了那么多年,总算搞明白的两件事:一是对Flash内置3D引擎的期待本来就是我们的一厢情愿,而Adobe早就不是一个有创意的公司了。

现在回过头来看,其实在Flash技术里面添加真正的3D引擎几乎是不可能的。首先是Flash Player里面已经有两套虚拟机同时工作,第一套虚拟机解释AS1.0和AS2.0,第二套虚拟机解释AS3.0,这时它的体积已经是4M多了。如果要 解释真正的3D程序,势必要再增加一套虚拟机,因为Flash是基于矢量图形的运算的,所以想和3D解释引擎合二为一可能性不大。这样的话播放器的体积就 可能会超过8M,而且2D虚拟机和3D虚拟机如何协同工作还是个问题。其次Flash的目标市场本来就是2D市场,指望它同时兼容3D就像指望把 Photoshop和Maya合二为一一样。

Adobe公司发展到现在,已经是个很成熟的软件公司了,而成熟型公司的共同特点是不再擅长技术创新,而是擅长资本运作和市场投放。他会总是怀里揣着巨款 眼睛搜寻着市场,一旦市场上出现了一项新技术,就会立刻评估它的价值和未来对公司业务带来的影响。如果这项技术对公司未来的发展有利,那么就等它差不多成 熟的时候收购它,如果它以后会对公司的业务带来损害,那就用巨款毁灭它。这是典型的富二代行事方式。所以,我可以在这里做一个大胆的预测:如果Unity 3D在未来的两年里发展的好(开发群体迅速扩大,web player装机率快速上升),那么Adobe公司会在一个适当的时候复制收购MacroMedia那一幕。即使是现在,要说Adobe的那些头头头脑里 一点这种念头都没有,那是打死我也不会相信的。到那时,在Adobe的产品线里,Flash继续统治2D Web,而Unity 3D则统治3D Web。

所以,不要再对所谓的Flash 3D抱有什么希望,也不要再去花心思学习那些杂七杂八的Flash 3D插件,赶紧学习Unity 3D才是正经。

关于Flash3D和Unity 3D相关推荐

  1. (转)stage 3d or unity 3d

    这个是这样子的.stage3d如果不使用flascc的话,性能会卡在as上面.你没卡是因为你用的效果还不够高级.往深了走的高端应用就是卡as性能上.这不是你代码能优化了的.我们后来都改用flascc写 ...

  2. Unity 3D学习视觉脚本无需编码即可创建高级游戏

    在本课程中,您将学习如何在Unity中使用可视化脚本(以前称为Bolt)以及如何在不编写一行代码的情况下创建自己的高级游戏所需的一切.本课程将教你如何掌握可视化脚本,即使你以前没有任何关于unity或 ...

  3. Unity三维游戏开发C#编程大师班 Masterclass In C# Programing Unity 3D Game Development FPS

    本课程采用现代游戏开发(Unity 2021)的最新内容和最新技术 学习任何东西的最好方法是以一种真正有趣的方式去做,这就是这门课程的来源.如果你想了解你看到的这些不可思议的游戏是如何制作的,没有比这 ...

  4. Unity 3D为策略游戏创建地图学习教程

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:30节课(7h 42m) |大小:5 GB 含项目文 ...

  5. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

  6. 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...

    版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...

  7. 《Unity 3.x游戏开发实例》一1.5 欢迎来到Unity 3D

    本节书摘来异步社区<Unity 3.x游戏开发实例>一书中的第1章,第1.5节,作者: [加]Ryan Henson Creighton 译者: 师蓉 责编: 陈冀康,更多章节内容可以访问 ...

  8. Unity 3D:在现有的Android游戏场景中显示AdMob的横幅

    2019独角兽企业重金招聘Python工程师标准>>> 关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的Android JAR文件 ...

  9. Unity 3D 离线协议

    在联网状态下,获得离线协议,然后导入到Untiy的协议管理器里. 以后在断网的情况下,也能离线使用Unity. 步骤: 1.生成 Request 文件.(Unity_v5.3.1f1.alf) 1) ...

最新文章

  1. 2020秋季人工神经网络作业登记与批改
  2. Struts 2常用的Ajax标签
  3. excel中$、、^、/、*等各种符号的使用
  4. how is group implemented for navigation list
  5. 03 Oracle分区表
  6. 《C语言程序设计》第三章练习与习题答案
  7. java经典问题算法大全_10道java经典算法!每一题都能提升你的java能力!
  8. linux mysql tomcat_Linux下安装Tomcat,Linux下安装Mysql
  9. 机器学习之密度聚类(DBSCAN)
  10. 计算机程序设计实验报告总结,c语言实验总结(大一c语言实验报告总结)
  11. STM32内部FLASH使用简易流程
  12. 旧台式电脑改软路由过程记录
  13. 语文默写的决斗(YZOJ-1069)
  14. 用计算机投屏图片,手机投屏Windows7电脑图文教程
  15. 五种方法安装Windows 7 64位系统
  16. Exchange Server 2013 共享邮箱
  17. 泛型中extends和super的区别
  18. NS2网络仿真的过程
  19. elementUI 导航栏 鼠标移入改变背景色
  20. Android_学习安卓必备网址

热门文章

  1. windows环境nodejs卸载与安装
  2. qtwebapp库的编译及简单使用
  3. python:实现二进制转十进制算法(附完整源码)
  4. Pygame实战:慎点|虐单身狗的最高境界是…【附源码】
  5. MybatisPlus使用Wrapper实现增删改查功能
  6. matlab 保存为矢量图,将绘图保存为图像或向量图形文件
  7. Cumulative Flow Diagram for Best Process Stability
  8. 【Quiz】IoT产开 2018/19 Paper A 评测小结
  9. Processing 教程(7) - 平移、旋转、放缩
  10. python加密解密 sha256_如何在python上使用RSA私钥和SHA256解密