• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,536
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
4
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Away3D 4.1 パーティクル入門 2013-02-12 株式会社ICS 池田泰延
  • 2. Agenda• What’s new Away3D 4.1 alpha• Particle System• Official Examples• How to use• Technical Examples
  • 3. What’s new Away3D 4.1 alpha• Rendering• Materials• Particles• Performance
  • 4. Rendering
  • 5. Materials
  • 6. Particles
  • 7. Performance
  • 8. PARTICLE SYSTEM
  • 9. Official Examples
  • 10. FLINTとAway3D 4.1の パーティクルシステムの比較• FLINTのほうが自由度が高い• FLINTはクロスライブラリ(Away3Dだけでは なく、Alternativa3Dも使える)• FLINTよりもAway3D 4.1のほうが軽量
  • 11. How to Use1. ジオメトリの作成2. アニメーションセットの作成3. アニメーターの作成4. テクスチャの作成5. メッシュの作成6. アニメーションを再生
  • 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. アニメーションセット/ アニメーターの作成// アニメーションセットの作成var animSet = new ParticleAnimationSet(true, true);animSet.addAnimation(…);animSet.addAnimation(…);animSet.initParticleFunc = initParticleFunc;// アニメーターの作成var animator = new ParticleAnimator(animSet);
  • 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. アニメーションセット/ アニメーターの作成// テクスチャの作成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. パーティクルの振る舞い• away3d.animators.nodes.* の「Particle○○○Node」ク ラスで指定• 初期位置 (ParticlePositionNode)• 速度 (ParticleVelocityNode)• 加速度 (ParticleAccelerationNode)• スケール変化 (ParticleScaleNode)• スプライトシート (ParticleSpriteSheetNode)• ビルボード (ParticleBillboardNode)• 色変化 (ParticleColorNode)• 追随 (ParticleFollowNode)• etc・・・
  • 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. ParticlePropertiesModeクラス• パーティクルのプロパティをどのように設定 するかを指定• GLOBAL – Nodeクラスのコンストラクタもしくはアニメー ションステートで設定する• LOCAL_STATIC – パーティクルのプロパティをアニメーションセッ トの初期化関数で設定する• LOCAL_DYNAMIC – パーティクルのプロパティをアニメーションス テートで設定する
  • 19. Technical Examples
  • 20. 参考資料• http://away3d.com/tutorials/Introduction_to_ Particles