- 2013年01月07日 (月)
- Tweet
Stage3D対応のAway3D – 物理演算とStarling連携
年末・年始の休みに、Stage3D対応のフレームワークAway3D 4.1 alphaと物理演算エンジンAwayPhysicsと2DフレームワークStarling 1.2を使ったデモを作ってみました。回転する箱のなかで数個の球体がハネたりする感じのものです。
AwayPhysicsについて
AwayPhysicsは以前ブログの記事で紹介しましたが、3Dの物理演算ができるFlasCC製のライブラリです。C++で作られたBulletエンジンをFlasCCを使ってコンパイルしているので、ActionScriptで3Dライブラリを作るよりも高速に動作すると考えられます。
StarlingとAway3Dの連携について
またAway3D 4.0 GOLDからは2DフレームワークのStarlingと連携できるようになっているので、Starlingとの組み合わせを試してみました。3D空間内の球体のプロジェクション座標を2DのStarling側に送信してパーティクルを表示させています。パーティクルは3D空間上に表示されているように見えるかもしれませんが、実際は3Dの描画プレーンの上に重ねられた2Dの描画プレーンにパーティクルを表現しています。
Away3DとAwayPhysicsのシンプルなデモ
もう一つデモを紹介します。上述のデモのプロトタイプですが、Starlingのパーティクルを使わずAway3D 4.0 GOLDとAwayPhysicsを組み合わせたものです。シンプルなのでソースコードが読みやすいと思います。
3D空間上のパーティクルエフェクトを3D上で表現すると
3D空間上のオブジェクトから発生するパーティクルを2D上で表現したのは演出が良いためで、3D上でそれを表現すると正確すぎて面白みのない仕上がりとなりました。必ずしも3Dで表現することが正しいわけではなく、特にStarlingのパーティクルエフェクトが優れているので、これと組み合わせほうが見栄えがよかったという感想です。
ただ、Away3D 4.1 alphaに搭載されたパーティクルエフェクトが実に優れているので、次回のブログ記事ではパーティクル機能を紹介したいと思います。
投稿者 : 池田 泰延
BookMark
ブックマークはこちらからどうぞ。