SlideShare a Scribd company logo
1 of 20
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 Use
1.   ジオメトリの作成
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 < 20000; i++) // ①
       geometrySet.push(plane);
var geometry = ParticleGeometryHelper
       .generateGeometry(geometrySet);
アニメーションセット/
          アニメーターの作成
// アニメーションセットの作成
var animSet = new ParticleAnimationSet(true, true);
animSet.addAnimation(…);
animSet.addAnimation(…);
animSet.initParticleFunc = initParticleFunc;

// アニメーターの作成
var animator = new ParticleAnimator(animSet);
パーティクルのプロパティ
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));
}
アニメーションセット/
          アニメーターの作成
// テクスチャの作成
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();
パーティクルの振る舞い
• away3d.animators.nodes.* の「Particle○○○Node」ク
  ラスで指定
• 初期位置 (ParticlePositionNode)
• 速度 (ParticleVelocityNode)
• 加速度 (ParticleAccelerationNode)
• スケール変化 (ParticleScaleNode)
• スプライトシート (ParticleSpriteSheetNode)
• ビルボード (ParticleBillboardNode)
• 色変化 (ParticleColorNode)
• 追随 (ParticleFollowNode)
• etc・・・
パーティクルの振る舞い
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));
}
ParticlePropertiesModeクラス
• パーティクルのプロパティをどのように設定
  するかを指定
• GLOBAL
  – Nodeクラスのコンストラクタもしくはアニメー
    ションステートで設定する
• LOCAL_STATIC
  – パーティクルのプロパティをアニメーションセッ
    トの初期化関数で設定する
• LOCAL_DYNAMIC
  – パーティクルのプロパティをアニメーションス
    テートで設定する
Technical Examples
参考資料
• http://away3d.com/tutorials/Introduction_to_
  Particles

More Related Content

What's hot

【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフローUnity Technologies Japan K.K.
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)Shoji Haraguchi
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類Shuzo Kashihara
 
非同期処理の基礎
非同期処理の基礎非同期処理の基礎
非同期処理の基礎信之 岩永
 
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術Kohsuke Yuasa
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッドKohsuke Yuasa
 
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能Unity Technologies Japan K.K.
 
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Ryosuke Okuta
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)Satoshi Yamada
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習Motoya Wakiyama
 
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章Haruki Eguchi
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイドTakahiro Itagaki
 
Jubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatusJubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatusJubatusOfficial
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張Ryota Murohoshi
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたRyo Sakamoto
 

What's hot (20)

【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
【CEDEC2018】ココが変わる!Unityの新しいエディタワークフロー
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
非同期処理の基礎
非同期処理の基礎非同期処理の基礎
非同期処理の基礎
 
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
 
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能
 
Jubaanomalyについて
JubaanomalyについてJubaanomalyについて
Jubaanomalyについて
 
Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能Chainer v1.6からv1.7の新機能
Chainer v1.6からv1.7の新機能
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
 
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイド
 
Jubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatusJubatus使ってみた 作ってみたJubatus
Jubatus使ってみた 作ってみたJubatus
 
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみた
 

Similar to Away3D 4.1 パーティクル入門

Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatusOfficial
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動Shinichi Kozake
 
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3Tomoyuki Sato
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
人狼知能セミナー資料2017(案)0.4.5対応版
人狼知能セミナー資料2017(案)0.4.5対応版人狼知能セミナー資料2017(案)0.4.5対応版
人狼知能セミナー資料2017(案)0.4.5対応版Fujio Toriumi
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIAdvancedTechNight
 
Perlと出会い、Perlを作る
Perlと出会い、Perlを作るPerlと出会い、Perlを作る
Perlと出会い、Perlを作るgoccy
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会Yoshihisa Ozaki
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門伸男 伊藤
 
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~Fujio Kojima
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。Satoshi Mimura
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分けるKazuaki Tanida
 

Similar to Away3D 4.1 パーティクル入門 (20)

Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニックJubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
 
Xtend30分クッキング やきに駆動
Xtend30分クッキング   やきに駆動Xtend30分クッキング   やきに駆動
Xtend30分クッキング やきに駆動
 
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
人狼知能セミナー資料2017(案)0.4.5対応版
人狼知能セミナー資料2017(案)0.4.5対応版人狼知能セミナー資料2017(案)0.4.5対応版
人狼知能セミナー資料2017(案)0.4.5対応版
 
Stormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPIStormの注目の新機能TridentAPI
Stormの注目の新機能TridentAPI
 
Unityで覚えるC#
Unityで覚えるC#Unityで覚えるC#
Unityで覚えるC#
 
Perlと出会い、Perlを作る
Perlと出会い、Perlを作るPerlと出会い、Perlを作る
Perlと出会い、Perlを作る
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
Prosym2012
Prosym2012Prosym2012
Prosym2012
 
Boost tour 1_40_0
Boost tour 1_40_0Boost tour 1_40_0
Boost tour 1_40_0
 
FlexUnit4とMockitoFlex
FlexUnit4とMockitoFlexFlexUnit4とMockitoFlex
FlexUnit4とMockitoFlex
 
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
 
Boost Fusion Library
Boost Fusion LibraryBoost Fusion Library
Boost Fusion Library
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分ける
 

More from Yasunobu Ikeda

JavaScriptとWebGLで取り組む
クリエイティブコーディング
JavaScriptとWebGLで取り組む
クリエイティブコーディングJavaScriptとWebGLで取り組む
クリエイティブコーディング
JavaScriptとWebGLで取り組む
クリエイティブコーディングYasunobu Ikeda
 
クリエイティブの視点から挑戦するPWA
クリエイティブの視点から挑戦するPWAクリエイティブの視点から挑戦するPWA
クリエイティブの視点から挑戦するPWAYasunobu Ikeda
 
CreateJSの概要 + Animate CC 2018の新機能
CreateJSの概要 + Animate CC 2018の新機能CreateJSの概要 + Animate CC 2018の新機能
CreateJSの概要 + Animate CC 2018の新機能Yasunobu Ikeda
 
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発Yasunobu Ikeda
 
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマ
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマデザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマ
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマYasunobu Ikeda
 
クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性Yasunobu Ikeda
 
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料Yasunobu Ikeda
 
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料Yasunobu Ikeda
 
Toolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツToolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツYasunobu Ikeda
 
Stage3D勉強会「Away3D 4.0 GOLD 入門」
Stage3D勉強会「Away3D 4.0 GOLD 入門」Stage3D勉強会「Away3D 4.0 GOLD 入門」
Stage3D勉強会「Away3D 4.0 GOLD 入門」Yasunobu Ikeda
 
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」Yasunobu Ikeda
 
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashインタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashYasunobu Ikeda
 

More from Yasunobu Ikeda (12)

JavaScriptとWebGLで取り組む
クリエイティブコーディング
JavaScriptとWebGLで取り組む
クリエイティブコーディングJavaScriptとWebGLで取り組む
クリエイティブコーディング
JavaScriptとWebGLで取り組む
クリエイティブコーディング
 
クリエイティブの視点から挑戦するPWA
クリエイティブの視点から挑戦するPWAクリエイティブの視点から挑戦するPWA
クリエイティブの視点から挑戦するPWA
 
CreateJSの概要 + Animate CC 2018の新機能
CreateJSの概要 + Animate CC 2018の新機能CreateJSの概要 + Animate CC 2018の新機能
CreateJSの概要 + Animate CC 2018の新機能
 
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発
AngularとElectronやIonicで挑戦した
デスクトップ・モバイルアプリ開発
 
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマ
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマデザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマ
デザイナーこそ覚えておきたいCSS最新事情! あなたの知らないfont-familyのイマ
 
クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性クリエイティブの視点から探るAngular 2の可能性
クリエイティブの視点から探るAngular 2の可能性
 
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
 
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
CreateJS最新情報〜Adobe MAX 2013より〜 / CreateJS勉強会(第3回)発表資料
 
Toolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツToolkit for CreateJSで作るリッチコンテンツ
Toolkit for CreateJSで作るリッチコンテンツ
 
Stage3D勉強会「Away3D 4.0 GOLD 入門」
Stage3D勉強会「Away3D 4.0 GOLD 入門」Stage3D勉強会「Away3D 4.0 GOLD 入門」
Stage3D勉強会「Away3D 4.0 GOLD 入門」
 
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
 
インタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlashインタラクティブコンテンツにおけるHTML5とFlash
インタラクティブコンテンツにおけるHTML5とFlash
 

Away3D 4.1 パーティクル入門

  • 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
  • 10. FLINTとAway3D 4.1の パーティクルシステムの比較 • FLINTのほうが自由度が高い • FLINTはクロスライブラリ(Away3Dだけでは なく、Alternativa3Dも使える) • FLINTよりもAway3D 4.1のほうが軽量
  • 11. How to Use 1. ジオメトリの作成 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 – パーティクルのプロパティをアニメーションス テートで設定する