Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Away3D 4.1 パーティクル入門      2013-02-12    株式会社ICS 池田泰延
Agenda•   What’s new Away3D 4.1 alpha•   Particle System•   Official Examples•   How to use•   Technical Examples
What’s new Away3D 4.1 alpha•   Rendering•   Materials•   Particles•   Performance
Rendering
Materials
Particles
Performance
PARTICLE SYSTEM
Official Examples
FLINTとAway3D 4.1の  パーティクルシステムの比較• FLINTのほうが自由度が高い• FLINTはクロスライブラリ(Away3Dだけでは  なく、Alternativa3Dも使える)• FLINTよりもAway3D 4.1のほう...
How to Use1.   ジオメトリの作成2.   アニメーションセットの作成3.   アニメーターの作成4.   テクスチャの作成5.   メッシュの作成6.   アニメーションを再生
ジオメトリの作成var plane = new PlaneGeometry(10, 10, 1, 1, false);var geometrySet = new Vector.<Geometry>();for (var i:int = 0; i...
アニメーションセット/          アニメーターの作成// アニメーションセットの作成var animSet = new ParticleAnimationSet(true, true);animSet.addAnimation(…);a...
パーティクルのプロパティfunction initParticleFunc(prop:ParticleProperties):void{         prop.startTime = 0;         prop.duration = 4...
アニメーションセット/          アニメーターの作成// テクスチャの作成var texure = Cast.bitmapTexture(new BitmapData(2, 2));var material = new TextureM...
パーティクルの振る舞い• away3d.animators.nodes.* の「Particle○○○Node」ク  ラスで指定• 初期位置 (ParticlePositionNode)• 速度 (ParticleVelocityNode)• ...
パーティクルの振る舞いvar animSet = new ParticleAnimationSet(true, true);animSet.addAnimation(            new ParticleVelocityNode(  ...
ParticlePropertiesModeクラス• パーティクルのプロパティをどのように設定  するかを指定• GLOBAL  – Nodeクラスのコンストラクタもしくはアニメー    ションステートで設定する• LOCAL_STATIC  ...
Technical Examples
参考資料• http://away3d.com/tutorials/Introduction_to_  Particles
Upcoming SlideShare
Loading in …5
×

Away3D 4.1 パーティクル入門

3,539 views

Published on

  • Be the first to comment

Away3D 4.1 パーティクル入門

  1. 1. Away3D 4.1 パーティクル入門 2013-02-12 株式会社ICS 池田泰延
  2. 2. Agenda• What’s new Away3D 4.1 alpha• Particle System• Official Examples• How to use• Technical Examples
  3. 3. What’s new Away3D 4.1 alpha• Rendering• Materials• Particles• Performance
  4. 4. Rendering
  5. 5. Materials
  6. 6. Particles
  7. 7. Performance
  8. 8. PARTICLE SYSTEM
  9. 9. Official Examples
  10. 10. FLINTとAway3D 4.1の パーティクルシステムの比較• FLINTのほうが自由度が高い• FLINTはクロスライブラリ(Away3Dだけでは なく、Alternativa3Dも使える)• FLINTよりもAway3D 4.1のほうが軽量
  11. 11. How to Use1. ジオメトリの作成2. アニメーションセットの作成3. アニメーターの作成4. テクスチャの作成5. メッシュの作成6. アニメーションを再生
  12. 12. ジオメトリの作成var plane = new PlaneGeometry(10, 10, 1, 1, false);var geometrySet = new Vector.<Geometry>();for (var i:int = 0; i < 20000; i++) // ① geometrySet.push(plane);var geometry = ParticleGeometryHelper .generateGeometry(geometrySet);
  13. 13. アニメーションセット/ アニメーターの作成// アニメーションセットの作成var animSet = new ParticleAnimationSet(true, true);animSet.addAnimation(…);animSet.addAnimation(…);animSet.initParticleFunc = initParticleFunc;// アニメーターの作成var animator = new ParticleAnimator(animSet);
  14. 14. パーティクルのプロパティfunction initParticleFunc(prop:ParticleProperties):void{ prop.startTime = 0; prop.duration = 4; // 1秒間に移動する距離(速度) prop[ParticleVelocityNode.VELOCITY_VECTOR3D] = new Vector3D( 200 * (Math.random() - 0.5), 200 * (Math.random() - 0.5), 200 * (Math.random() - 0.5));}
  15. 15. アニメーションセット/ アニメーターの作成// テクスチャの作成var texure = Cast.bitmapTexture(new BitmapData(2, 2));var material = new TextureMaterial(texure);// メッシュの作成var mesh = new Mesh(geometry, material);mesh.animator = animator;this.scene.addChild(mesh);// アニメーションを再生animator.start();
  16. 16. パーティクルの振る舞い• away3d.animators.nodes.* の「Particle○○○Node」ク ラスで指定• 初期位置 (ParticlePositionNode)• 速度 (ParticleVelocityNode)• 加速度 (ParticleAccelerationNode)• スケール変化 (ParticleScaleNode)• スプライトシート (ParticleSpriteSheetNode)• ビルボード (ParticleBillboardNode)• 色変化 (ParticleColorNode)• 追随 (ParticleFollowNode)• etc・・・
  17. 17. パーティクルの振る舞いvar animSet = new ParticleAnimationSet(true, true);animSet.addAnimation( new ParticleVelocityNode( ParticlePropertiesMode.LOCAL_STATIC));animSet.initParticleFunc = initParticleFunc;function initParticleFunc(prop:ParticleProperties):void{ prop.startTime = 0; prop.duration = 4; // 1秒間に移動する距離(速度) prop[ParticleVelocityNode.VELOCITY_VECTOR3D] = new Vector3D( 200 * (Math.random() - 0.5), 200 * (Math.random() - 0.5), 200 * (Math.random() - 0.5));}
  18. 18. ParticlePropertiesModeクラス• パーティクルのプロパティをどのように設定 するかを指定• GLOBAL – Nodeクラスのコンストラクタもしくはアニメー ションステートで設定する• LOCAL_STATIC – パーティクルのプロパティをアニメーションセッ トの初期化関数で設定する• LOCAL_DYNAMIC – パーティクルのプロパティをアニメーションス テートで設定する
  19. 19. Technical Examples
  20. 20. 参考資料• http://away3d.com/tutorials/Introduction_to_ Particles

×