接下来是导入模型了。 由于我对3DMAX一窍不通,所以这里照搬官方的例子了。 导入模型之前需要做准备工作呢?
- 为 3DS MAX 安装插件
- 建模
- 导出模型并保存为 Sandy AS 格式。
这里有个英文的教程,比较清楚的介绍了如何导出AS格式,浏览教程 本节的难点在建模上,导入、渲染其实都很简单。 代码:
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() { //先创建摄像机 camera = new Camera3D( 300, 300 ); camera.y = 30; camera.z = -200; camera.lookAt(0,0,0); //创建 Group var root:Group = createScene(); //创建场景 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设计与应用版块参加讨论
|