接下來是導入模型了。 由于我對3DMAX一竅不通,所以這里照搬官方的例子了。 導入模型之前需要做準備工作呢?
- 為 3DS MAX 安裝插件
- 建模
- 導出模型并保存為 Sandy AS 格式。
這里有個英文的教程,比較清楚的介紹了如何導出AS格式,瀏覽教程 本節(jié)的難點在建模上,導入、渲染其實都很簡單。 代碼:
package { import flash.display.Sprite; import flash.events.*; import flash.ui.*; import sandy.core.Scene3D; import sandy.core.data.*; import sandy.core.scenegraph.*; import sandy.materials.*; import sandy.materials.attributes.*; import sandy.primitive.*; import sandy.parser.*; /** * ... * @author ever5u */ public class fuxi extends Sprite { private var scene:Scene3D; private var camera:Camera3D; private var pot:Teiera; public function fuxi() { //先創(chuàng)建攝像機 camera = new Camera3D( 300, 300 ); camera.y = 30; camera.z = -200; camera.lookAt(0,0,0); //創(chuàng)建 Group var root:Group = createScene(); //創(chuàng)建場景 scene = new Scene3D( "scene", this, camera, root ); scene.rectClipping = true; addEventListener( Event.ENTER_FRAME, enterFrameHandler ); } private function createScene():Group { var g:Group = new Group(); pot = new Teiera("pot"); //著色設置 var materialAttr:MaterialAttributes = new MaterialAttributes( new LineAttributes( 0.1, 0x2111BB, 0.1 ), new LightAttributes( true, 0.1) ); var material01:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr ); material01.lightingEnable = false; var app01:Appearance = new Appearance( material01 ); //應用著色 pot.appearance = app01; //組合到組 g.addChild(pot); return g; } private function enterFrameHandler( event : Event ) : void { pot.pan += 2; scene.render(); } } }
效果:
附上(茶壺)Teiera.as:Teiera.rar (17.33 KB)
出處:藍色理想
責任編輯:bluehearts
上一頁 Flash3D學習——Sandy學習筆記 [11] 下一頁 Flash3D學習——Sandy學習筆記 [13]
◎進入論壇RIA設計與應用版塊參加討論
|