- 2013年02月07日 (木)
- Tweet
Flash Stage3D対応のAway3D作例 – 燃えさかる炎の表現
Flash Player 11のStage3D (GPUを活用できる機能)に対応した3Dライブラリ「Away3D 4.1 alpha」の作例紹介。Away3Dの最新版4.1 alphaのパーティクル機能と、物理演算ライブラリAwayPhysicsを使ってデモを作ってみました。燃えさかる炎の表現です。
このデモは500行ぐらいのコードで表現を作っています。HTML5 & WebGL に比べて Flash & ActionScript は 3D ライブラリが充実しているので、パーティクル機能や3次元の物理演算を比較的容易に実装できるのがいいなと思いました(最近WebGL系のライブラリを触ってみた感想として)。
負荷に対する考察
パソコンによっては動作が重たいかもですが、手元にある2010年のMacBook Proでフレームレートが60fpsで再生できています。Twitterでどのぐらい動作するのか聞いてみたところ次のとおりでした。(ブログに掲載しているデモは、表現を落としてパフォーマンスがでるように調整しています)
Flashで3Dのパーティクルデモを作ってみました。皆さんのPCだとどのぐらいのフレームレートで表示されますか? (左上の◯/60の数値) clockmaker.jp/labs/130205_aw… #Stage3D #Away3D
— 池田 泰延さん (@clockmaker) 2013年2月6日
Adobe Scoutで測定したところ、パーティクルや物理演算はCPU使用率が10%程度なのでCPUへの負荷は少ないのですが、どうやら炎の描画(ブレンドに加算を利用している)のがGPUに負荷がかかっているようです。いずれは最適化をしていきたいところですが、まだまだ時間がかかってしまいそうなので途中版ですがブログで公開(追記:2013/02/10少し最適化しました)。
Away3Dのパーティクル機能
Away3Dのパーティクル機能については次週2/12(火)のStage3D勉強会(第3回)で解説する予定なので、もしよければこちらのイベントにご参加ください。Ustreamも配信する予定です。
2013年05月02日(木) 00:56
Flashの炎表現を探してたので、参考になりました。
ありがとうございます