Away3D 4.1 パーティクル入門

3,381 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,381
On SlideShare
0
From Embeds
0
Number of Embeds
1,059
Actions
Shares
0
Downloads
7
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

×