AS3Dmod之入门篇---Noise
大致3步
1: new ModifierStack(new LibraryPv3d(), plane);
2: mstack.addModifier(noise);
3: mstack.apply();
文档类如下,配置好类库后只需要在库中建立一个Mc链接
- package
- {
- import com.as3dmod.ModifierStack;
- import com.as3dmod.plugins.pv3d.LibraryPv3d;
- //这里我们是演示PV3D的所以导入PV3D插件库
- import com.as3dmod.modifiers.Noise;
- //我们先来运用一个澡波
- import org.papervision3d.cameras.CameraType;
- import org.papervision3d.materials.MovieMaterial;//贴图采用库中MC
- import org.papervision3d.objects.primitives.Plane;
- import org.papervision3d.view.BasicView;
- import org.papervision3d.view.layer.ViewportLayer;
- import flash.events.Event;
- import flash.filters.DropShadowFilter;
- public class MainWaft3DPlane extends BasicView
- {
- private var plane:Plane;
- private var mstack:ModifierStack;//核心堆栈
- public function MainWaft3DPlane()
- {
- super(550, 400, true, false, CameraType.FREE);
- var mat:MovieMaterial=new MovieMaterial(new Mc(),false,true);
- mat.doubleSided=true;
- plane=new Plane(mat,285,400,4,4);//建议切面尽量小
- scene.addChild(plane);
- camera.moveForward(450);
- viewport.getChildLayer(plane).filters=[new DropShadowFilter(4.0,45,0x333333)];
- //添加阴影
- mstack = new ModifierStack(new LibraryPv3d(), plane);
- //ModifierStack(lib3d:Library3d, mesh:*);把这个ModifierStack和PV3D 以及其plane捆绑
- var noise:Noise = new Noise(20);
- mstack.addModifier(noise);
- //添加澡波
- startRendering();
- }
- protected override function onRenderTick(event:Event = null):void
- {
- mstack.apply();//最后一步实施渲染
- super.onRenderTick(event);
- }
- }
- }