« Papervision3Dをやってみた33 | トップページ | 気になった記事 11 »

2008年8月 2日 (土)

Papervision3Dをやってみた34

P_2






















バージョンアップにともなって、多少エフェクトの書き方が変わったみたいなので。

以前作成したものを書き直し。

こんな感じです。

以前作ったエフェクト関係も全部書き直しました。









以下、ソースです。

package {
import flash.display.BlendMode;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;

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.materials.ColorMaterial;
import org.papervision3d.materials.special.ParticleMaterial;
import org.papervision3d.materials.utils.MaterialsList;
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;

[SWF(backgroundColor="#000000")]
public class Papervision3D_sample40 extends Sprite
{
  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 cube:Cube;
  private var valx: Number = 0;
  private var valy: Number = 0;
 
  public function Papervision3D_sample40()
  {
   stage.frameRate = 40;
   stage.quality = StageQuality.MEDIUM;
   stage.align = StageAlign.TOP_LEFT;
   stage.scaleMode = StageScaleMode.NO_SCALE;
   stage.addEventListener(Event.RESIZE, onResize);
   
   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 = 30;
   camera.focus = 200;
   camera.target = DisplayObject3D.ZERO;
   
   bfx = new BitmapEffectLayer(viewport, stage.stageWidth, stage.stageHeight, true, 0, BitmapClearMode.CLEAR_PRE);
   bfx.addEffect(new BitmapLayerEffect( new BlurFilter(3,3,1)));
   bfx.addEffect(new BitmapColorEffect(0.99, 0.98, 0.98, 0.98));
   bfx.drawCommand = new BitmapDrawCommand(null, new ColorTransform(1, 0.2, 0.1, 0.45), BlendMode.ADD);
   bfx.drawLayer.blendMode = BlendMode.OVERLAY;
   viewport.containerSprite.addLayer(bfx);
   
   var materials:MaterialsList = new MaterialsList({all: new ColorMaterial(0xffffff,0.7,true)});
   cube = new Cube(materials,30,30,30,4,4,4);
   rootNode.addChild(cube);
   
   bfx.addDisplayObject3D(cube);
   
   var particle:ParticleMaterial = new ParticleMaterial(0xffffff,1,ParticleMaterial.SHAPE_CIRCLE);
   var particles:ParticleField = new ParticleField(particle,1000,0.3,500,500,500);
   scene.addChild(particles);
  }
 
  public function onResize(e:Event):void
  {
   container.x = stage.stageWidth/2;
   container.y = stage.stageHeight/2;
  }
 
  public function onFrame(e:Event):void
  {
   valx += mouseX / 150;
   valy += mouseY / 150;
   
   cube.rotationX = valx;
   cube.rotationY = valy;
   
   renderer.renderScene(scene, camera, viewport);
  }
}
}

|

« Papervision3Dをやってみた33 | トップページ | 気になった記事 11 »

ActionScript」カテゴリの記事

Papervision3D」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1040194/22733490

この記事へのトラックバック一覧です: Papervision3Dをやってみた34:

» Papervision3D演出サンプルNo.02:打ち上げ花火 [ClockMaker Blog]
もう夏も終わろうとしていますが、Papervision3D 2.0 alphaで打ち上げ花火(Fireworks)を作ってみました。せっかくなので打ち上げ花火、下から見るか?横から見るか?をやっています(クリックでア... [続きを読む]

受信: 2008年8月26日 (火) 01時11分

» Recent Links Tagged With Papervision3d [JabberTags - Find New Sites and Explore the Internet]
Bookmarked your site as papervision3d at JabberTags! [続きを読む]

受信: 2009年2月27日 (金) 02時49分

« Papervision3Dをやってみた33 | トップページ | 気になった記事 11 »