Away3d學習筆記 1

2022-06-24 03:09:14 字數 1059 閱讀 1483

為了做一些較複雜的3d應用,打算學習下3d引擎。pv3d早已停止更新,away3d看上去是個不錯的起點,一來因為它開源免費,而且 相關的資料比較豐富。通過比較,發現推薦較多的是這本:《the essential guide to 3d in flash》。

第二章包括一些簡單的例子,通過敲打這些demo,可以摸索出away3d的些許脾氣和秉性。

最簡單的away3d檔案中,只存在乙個view3d(視窗)物件。view3d直接繼承自sprite,可以在顯示列表上進行新增刪除 操作。它的render()函式,用來渲染其中的三維場景。常規的做法是在enterframe偵聽函式中呼叫render函式,以實現逐幀重新整理。 另外,view3d的位置除了代表視窗位置之外,還指定了滅點(vanishing point)的方位。

往三維空間裡面新增物體十分方便。away3d最大程度上沿用了flash原生api規範,能減少生詞數量。三維空間的根節點是scene(場景), 屬於scene3d類。新增刪除子元素的函式分別是:addchild(), removechild()。

另外乙個好訊息是,當建立了view3d物件後,away3d會免費贈送乙個scene3d物件。放在view3d的scene屬性裡。這個貼心的設計,體現了 設計者無微不至的關懷。

cube類,作為最簡單的三維模型之一,它的建立相當簡單:

var cube:cube = new cube();

預設的材質是wirecolormaterial,很樸素的材質。如果你想讓它色彩豐富,可以試試bitmapmaterial材質:

var bmp:bitmapdata = new bitmapdata(200, 200);

bmp.perlinnoise(200, 200, 2, math.random(), true, true);

var mat:bitmapmaterial = new bitmapmaterial(bmp);

var cube:cube = new cube();

Away3D學習筆記 物體位置和移動

為了看清楚away3d裡物體的位置關係,首先來建立座標系和三個平面。座標繫在away3d裡已經封裝為trident類,直接呼叫即可 var tri trident new trident 400,true scene.addchild tri 建立引數第乙個是座標軸長度,第二個是要不要座標軸字母。再...

編譯away3d例程式記

記不住是在哪一篇文章上看到flash player 11之後支援3d,並且是使用顯示卡來繪製,速度相當可觀,我身為 flex鐵桿粉絲 的程式設計師怎麼能不嘗試一下呢?立馬試之。2 建立乙個actionscript專案 我吃虧在這裡,建立的是flex專案,檢視了很多教程都沒有說清楚這個,唉 3 將目錄...

away3d顯示Plane(基礎 二)

我們直接說新增的 下面定義了乙個away3d自帶的幾何體plane也就是乙個 板子 var plane planegeometry new planegeometry 100,100 定義乙個plane,也就是乙個平面物件 var color colormaterial new colormater...