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 の演出サンプル

投稿者 : 池田 泰延

BookMark

ブックマークはこちらからどうぞ。

このエントリーをはてなブックマークに追加