- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
接下来是导入模型了。
由于我对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 = ***e;
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( ***e, 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) |
|