package { // import flash.display.BlendMode; import flash.display.Sprite; import flash.events.*; // import flash.display.Loader; import flash.net.URLRequest; import flash.system.Security; // import flash.events.IEventDispatcher; // //import flash.filters.BlurFilter; //import flash.geom.ColorTransform; //import flash.geom.Point; import org.papervision3d.cameras.Camera3D; //import org.papervision3d.core.effects.BitmapColorEffect; //import org.papervision3d.core.effects.BitmapLayerEffect; //import org.papervision3d.core.effects.utils.BitmapClearMode; //import org.papervision3d.core.effects.utils.BitmapDrawCommand; import org.papervision3d.objects.parsers.DAE; import org.papervision3d.objects.DisplayObject3D; //import org.papervision3d.objects.primitives.Cube; //import org.papervision3d.objects.special.ParticleField; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; //import org.papervision3d.view.layer.BitmapEffectLayer; //シェーダー import org.papervision3d.materials.shadematerials.*; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.ColorMaterial; //import org.papervision3d.materials.special.ParticleMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.materials.shaders.CellShader; import org.papervision3d.materials.shaders.EnvMapShader; import org.papervision3d.materials.shaders.FlatShader; import org.papervision3d.materials.shaders.GouraudShader; import org.papervision3d.materials.shaders.LightShader; import org.papervision3d.materials.shaders.PhongShader; [SWF(width="400", height="320", backgroundColor="0x000000", frameRate="40")] public class jelly_shader extends Sprite { private var loader:Loader; // ローダ private var diceObj:DAE; // private var container:Sprite; private var viewport:Viewport3D; private var scene:Scene3D; private var camera:Camera3D; private var renderer:BasicRenderEngine; private var rootNode:DisplayObject3D; //private var bfx:BitmapEffectLayer; // //private var ct:ColorTransform; // private var light:PointLight3D; private var material:*; // public function jelly_shader() { // light=new PointLight3D(false); // material=new PhongMaterial(light,0xFF0000,0x0000ff,0); //var mts=new MaterialsList({all:material}); // // Security.loadPolicyFile('http://5ivestar.org/proxy/crossdomain.xml'); loader = new Loader(); loader.contentLoaderInfo.addEventListener("complete", loadingComplete); loader.load(new URLRequest("http://5ivestar.org/proxy/http://www.artyandlp.net/PV3D/dae/jelly_01.dae")); diceObj = new DAE(); diceObj.load("loader",new MaterialsList({all:material})); //diceObj.load("jelly_01.dae",new MaterialsList({all:material})); diceObj.load("http://www.artyandlp.net/PV3D/dae/jelly_01.dae",new MaterialsList({all:material})); container=new Sprite(); addChild(container); container.x=stage.stageWidth/2; container.y=stage.stageHeight/2; viewport=new Viewport3D(0,0,true,true); scene=new Scene3D(); camera=new Camera3D(); renderer=new BasicRenderEngine(); rootNode=scene.addChild(new DisplayObject3D("rootNode")); addEventListener(Event.ENTER_FRAME, onFrame); addChild(viewport); camera.zoom=10; camera.focus=100; camera.target=DisplayObject3D.ZERO; rootNode.addChild(diceObj); //キーボードのリスナー stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); } public function loadingComplete(event:Event):void { trace("読み込んだ"); } // キーボード public function keyDownHandler(event:KeyboardEvent):void { //trace('event:'+event); switch (event.charCode) { case 49 : diceObj.replaceMaterialByName(new ColorMaterial(0xFF0000, 100), "shde"); break; case 50 : diceObj.replaceMaterialByName(new CellMaterial(light, 0x1133dF, 0x000000, 100),"shde"); break; 2; case 51 : diceObj.replaceMaterialByName(new FlatShadeMaterial(light, 0x0e101F, 0xdddd00, 0), "shde"); break; case 52 : diceObj.replaceMaterialByName(new PhongMaterial(light,0xFF0000,0x0000ff,3), "shde"); break; case 53 : diceObj.replaceMaterialByName(new GouraudMaterial(light, 0xFFc00, 0x0000aa, 0), "shde"); break; } } public function onFrame(e:Event):void { diceObj.rotationX++; diceObj.rotationY++; renderer.renderScene(scene, camera, viewport); } } } DAEモデルの読み込みできてないなぁ。