AS3Dmodで「はためく布」や「北斗神拳を受けた人の頭」を実現。

  • このエントリーをはてなブックマークに追加
  • 0

以下が、改造したPv3dDemo.asのソース。改造したのは、コンストラクタ内の変更開始?変更終わりまでの間。
で、実際にコンパイルするのは「DemoBase.as」なので注意。

ActionScript

  1. package {
  2.    
  3.     import com.as3dmod.modifiers.Bend;
  4.     import com.as3dmod.modifiers.Noise;
  5.     import com.as3dmod.ModifierStack;
  6.    
  7.     import com.as3dmod.plugins.pv3d.LibraryPv3d;
  8.     import org.papervision3d.core.proto.MaterialObject3D;
  9.     import org.papervision3d.materials.ColorMaterial;
  10.     import org.papervision3d.materials.special.CompositeMaterial;
  11.     import org.papervision3d.materials.WireframeMaterial;
  12.     import org.papervision3d.materials.utils.MaterialsList;
  13.     import org.papervision3d.objects.DisplayObject3D;
  14.     import org.papervision3d.objects.primitives.Sphere;
  15.     import org.papervision3d.view.BasicView;
  16.     import flash.events.Event;
  17.     import com.as3dmod.util.ModConstant;
  18.  
  19.     public class Pv3dDemo extends BasicView {
  20.        
  21.         private var c:DisplayObject3D;
  22.         private var m:ModifierStack;
  23.         private var base:DemoBase;
  24.         public function Pv3dDemo(base:DemoBase) {
  25.             this.base = base;
  26.             var mt:CompositeMaterial = new CompositeMaterial();
  27.             mt.addMaterial(new ColorMaterial(0x27590e));
  28.             mt.addMaterial(new WireframeMaterial(0x49a51c));
  29.             mt.doubleSided = true;
  30. //変更開始
  31.             var mt2:CompositeMaterial = new CompositeMaterial();
  32.             mt2.addMaterial(new ColorMaterial(0xff0000));
  33.             mt2.addMaterial(new WireframeMaterial(0x27590e));
  34.             mt2.doubleSided = true;
  35.  
  36.             c = new Sphere(mt, 200, 16, 16);
  37.             var q:Sphere = new Sphere(mt2, 100, 16, 16);
  38.             q.z = -200;
  39.             c.addChild(q);
  40. //変更終わり
  41.             c.rotationX = 60;
  42.             c.rotationY = 45;
  43.             scene.addChild(c);
  44.            
  45.             m = new ModifierStack(new LibraryPv3d(), c);
  46.             base.setupStack(m);
  47.  
  48.             startRendering();
  49.                
  50.         }
  51.        
  52.         protected override function onRenderTick(event:Event = null):void {
  53.             base.onRender();
  54.             m.apply();
  55.             super.onRenderTick(event);
  56.         }
  57.     }
  58. }
スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク