我最近做的flash的3D表现,都是基于Stage3D的。但由于Stage3D的表现不稳定,导致一直没有使用在项目上面。于是我开始思考不依靠Stage3D来做3D表现,于是我就自己写了使用原生as3的绘制api来绘制3D效果的小引擎。
写这个小引擎,目的是为了能在不依靠Stage3D的情况下表现一些3D的小效果,比如用在界面上面的小表现之类。不过这种事情其实在Flash的发展中早就已经出现过不少了,比如PV3D,或者Away3D的早期版本,都是使用这种方式来表现3D的。
由于性能的问题,我最后还是下载了Away3D的3.6版本来参考,发现它的效率会比我的高,大概高一倍吧,也就是说,它能表现的面数会比我多,但也达不到大规模使用的需要。不过在看它自带的例子的时候,我不禁感慨,人的想象力真是无限的,在没有Gpu支持,纯cpu计算的年代,Away3D居然也已经能做出这么多的效果了,这些效果在今天看来固然是有点不堪入目,但却很好的体现了作者在有限条件下的灵活运用技术来表现多种效果。相比之下,现在的很多所谓的技术人员,使用着封装得十分好的完整引擎,比如Unity3D之类,都还做不出相同的效果,那真是说不过去了。
今天的Flash,在有了Stage3D的支持后,3D的表现性能可以是同屏数百万三角面,也算非常厉害。但我却还在研究抛开Stage3D来表现3D的技术,这可以说是一种讽刺。做Flash的技术人员从来没有停止过追求3D的表现力,民间开发出来的优秀的flash的3D引擎也不在少数,可惜却因为官方提供的底层的脆弱,让这些技术难以实际的运用起来,如果官方再不抓紧一点,推出靠谱的底层技术,Flash3D的未来将会令人担忧了
评论