- 2010年12月16日 (木)
- Tweet
PV3D演出サンプルNo.10: 3D Physics
先日紹介した ActionScript 3.0 の 3D 物理演算ライブラリ「jiglibflash」を使って、Flash のデモを作成しました。球体と地面の衝突で、リズムに合わせた音を発したり、地面が発光する感じの演出にしています。
この作品のポイントは次のようなところ。ちなみに 3D エンジンには定番の Papervision3D を使用しています。
- 加速度センサーと 3D 物理演算の重力を同期(Android)
- 3D 物理シミュレーションの衝突を、動的サウンドライブラリ「SiON」と同期
- ライブラリ「Stardust」 によるパーティクル演出
以下、技術的な解説です。
加速度センサー
jiglib による 3D 空間の重力を、Flash Player 10.1 からの新機能であるデバイスの加速度センサーと対応させています。加速度センサーは Accelometer クラス から扱うことができ、Android などの端末で利用することができます。Accelometer クラスの使い方は次の記事が参考になります。
やろうと思えば、加速度センサーの3軸を3D空間のXYZ全ての重力と全て合わすこともできたのですが、今回は2軸だけを重力に合わせています。
※Android 2.2 (Froyo)の Flash Player 10.1 で再生、加速度センサーに応じてボールが移動する。デバイスは Adobe MAX 2010 で無料配布された Motolola 社の DROID2。
動的サウンド
今回のテーマの一つに、物理シミュレーションと動的サウンドの連動を試したいというのがありました。これは次のセッションや記事にインスパイアされたものです。
動的な音の生成は、SiON というSpark project のライブラリを使用しています。SiON の扱い方については、次の書籍が参考になります。
パーティクル
当ブログでは何度か紹介していますが、AS3 パーティクルエンジン「Stardust」が便利なので、今回もそれを使ってパーティクルの演出を組み込んでいます。Stardust については次の記事を参考ください。
この Papervision3D サンプルシリーズも 10 回目を迎えました。次世代 3D API (Moilehill) の登場が気になりますが、Papervision3D は 高速な上に、Flash Player 9 でも動作し(Flash CS3でも使える)さらに解説記事も豊富なので、Tweener のように長く使っていく感じになりそうです。
その他の Papervision3D の演出サンプル
- PV3D演出サンプルNo.09:Spiral Particles
- PV3D 演出サンプルNo.08:カスタムフラットシェーディング
- PV3D 演出サンプルNo.07:クリスマスメッセージ
- Papervision3D 演出サンプルNo.06:フォトプリント改
- Papervision3D 演出サンプルNo.05:Shadow Cubes
- Papervision3D 演出サンプルNo.04:細切れフォトグラフ
- Papervision3D 演出サンプルNo.03:フォトプリント
- Papervision3D 演出サンプルNo.02:打ち上げ花火
- Papervision3D 演出サンプルNo.01:羽ばたく蝶々
投稿者 : 池田 泰延
BookMark
ブックマークはこちらからどうぞ。