摘 要:為了能將日益應用廣泛的Papervision3D、能在Flash Player中播放的目的,采用較為新穎的3D引擎方法,做了三維到二維的轉換、Flint粒子系統實驗,實現了平滑拉近物體從遠處拉近及噴泉的效果。通用開源Flash 3D渲染引擎中Papervision3D是基于ActionScript的開源項目,而Flash在3D領域的應用相對貧乏,在Flash Player中播放,則具備體積小、與用戶交互能力強、效果逼真的3D Web應用程序特點。
關鍵詞:Flash 3D; Papervision3D; 3D引擎方法; 開源項目
0 引 言
在Flash中實現3D的效果有很多種方法,一些傳統的完成Flash三維顯示的方法是通過光影效果、遮罩和使用Actionscript。光影效果比較簡單,主要是利用明暗對比來達到一種視覺欺騙,大多用在繪制靜態場景或物體上。遮罩法是指在Flash中,遮罩層的作用就是一扇鏤空的窗戶,在該層中畫出圖形后,當它在其他層上移過時,只有遮罩層上面有圖形的區域才能看到后面層中的圖形,從而產生一些特殊的效果\[1\]。關于使用Actionscript,此法原理是將三維坐標轉換為二維坐標。首先將三維坐標值保存在數組里,根據一定規則對這些數組進行計算轉換為二維坐標,并對這些二維坐標渲染,以實現模擬三維的效果。面對這些老牌的方法,采取較為新穎的3D引擎方法,運用和以往不同的手法,創建出美妙的視覺感受。在眾多的3D引擎中,選擇了較為成熟的PV3D引擎。
通過PV3D引擎,實現了3D場景中兩個玩家交互,通過相機的平滑拉近實現了物體從遠處拉近的效果,除此之外還通過Flint粒子系統實現了噴泉效果。