Sandy引擎学习笔记:颜色材质
2008-10-11 20:36
375 查看
第二个问题:创建了一个立方体后,怎样为为这个立方体添加材质?
首先最简单的材质,我们会想到颜色,颜色是最容易理解。因此我们在这里应该学会如何为我们的物体添加材质。
package
{
import flash.display.Sprite;
import flash.events.*;
import sandy.core.Scene3D;
import sandy.core.scenegraph.*;
import sandy.primitive.*;
import sandy.core.data.*;
import sandy.materials.*;
import sandy.materials.attributes.*;
public class My3D2 extends Sprite
{
private var scenne:Scene3D;
private var camera:Camera3D;
private var ranY:Number=0.5;
private var box:Box;
public function My3D2()
{
camera=new Camera3D(400,400);//设定摄影机大小和位置
camera.z=-300;
var root:Group=createScene();
scenne=new Scene3D("scene1",this,camera,root);//创建带摄像机的场景
addEventListener(Event.ENTER_FRAME,Run);
}
private function createScene():Group
{
var g:Group=new Group();
box=new Box("box",100,100,100);
var materialAttr:MaterialAttributes = new MaterialAttributes(
new LineAttributes( 0.5, 0x2111BB, 0.4 ),
new LightAttributes( true, 0.1)
);//创建材质属性,线性光,
var material:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr );//创建颜色材质
material.lightingEnable = true;
var app:Appearance = new Appearance( material );//为物体创建材质表面
box.rotateX=10;
box.rotateY=0;
box.appearance = app;//指定材质表面
g.addChild(box);
return g;
}
private function Run(event:Event):void
{
scenne.render();
box.rotateX+=1;//让立方体会在x轴上旋转
box.rotateY+=1;//让立方体会在y轴上旋转
}
}
}
说明:创建了立方体后,我们可以为我们的立方体添加材质或者指定立方体的颜色属性,这时候我们需要使用到显示颜色材质的类和函数,sandy为我们提供了一个类。
var materialAttr:MaterialAttributes = new MaterialAttributes(
new LineAttributes( 0.5, 0x2111BB, 0.4 ),
new LightAttributes( true, 0.1)
);//创建材质属性,线性光,
var material:Material = new ColorMaterial( 0xFFCC33, 1, materialAttr );//创建颜色材质
material.lightingEnable = true;
var app:Appearance = new Appearance( material );//为物体创建材质表面
ColorMaterial( 0xFFCC33, 1, materialAttr );//创建颜色材质,
参数一,指定颜色, 透明度,材质属性,这个参数默认为null,我们为这个立方体制作一个可见光和线性光
ColorMaterial | () | constructor |
public function ColorMaterial(p_nColor:uint = 0x00, p_nAlpha:Number = 1, p_oAttr:MaterialAttributes = null)
Creates a new ColorMaterial.
创建了颜色的属性,为了指定物体,这时候还要制作一个表面赋给立方体。
var app:Appearance = new Appearance( material );//为物体创建材质表面
box.appearance = app;//指定材质表面,
最后场景渲染;
scenne.render();
这里就创造出一个具有颜色的立方体了
相关文章推荐
- Sandy引擎学习笔记:颜色材质
- Sandy引擎学习笔记:颜色材质
- Sandy引擎学习笔记: 三维效果初试
- sandy引擎学习笔记: 创建一个立方体
- Sandy引擎学习笔记:纹理贴图
- Sandy引擎学习笔记:导入3dsmax模型
- Sandy引擎学习笔记:多维贴图
- OSG学习笔记20——光照和材质的设置(正确绘制出想要的颜色)
- Sandy引擎学习笔记:纹理贴图
- unity学习笔记~材质金属颜色对照表
- Sandy引擎学习笔记:导入3dsmax模型
- Sandy引擎学习笔记:导入3ds模型纹理
- Sandy引擎学习笔记:多维贴图
- Sandy引擎学习笔记:swf影片剪辑纹理贴图
- Sandy引擎学习笔记:导入3ds模型纹理
- Sandy引擎学习笔记:摄影机
- Sandy引擎学习笔记:摄影机
- Sandy引擎学习笔记:导入3dsmax模型
- Sandy引擎学习笔记:摄影机
- Sandy引擎学习笔记:Mode7