2010年02月21日

大鳥居なAR @ Flash

img1

某所で開催された昨日、一昨日のイベントで紹介されていたFlashを使ったAR作品のソースを公開します。

序でに、少し開発に関して書いておきます。

開発環境としてはFlex Builder 3です。それから、FLARToolkit(スターターキット)を使ってます。形状データはShade 11(Pro.)を使って作り、形状の書き出しには自作のプラグイン「PV3D Exporter」(非公開)を使いました。

実は当初DAE(Collada)で読み込んでPapervision3Dで表示するつもりだったのですが、Shadeで書き出す場合、形状データを全てユニークな名前にしなければならないなど使い勝手が悪い。それにDAEで書き出してしまうと後でチューニングがし難い。XMLなので読み込みに時間が掛かるなどなど、気に入らない点がありました。

って事で、Shade用プラグイン「PV3D Exporter」の登場。実は1年半以上前に作ったまま放置していたプラグインです。当然Papervision3Dのバージョン的には1.xの対応。現在の2.1とは記述方法が違う。両者を見比べてみると比較的簡単に書き換えが出来ると分かり、プラグインの更新作業を行いました。以前作ったモノは、書き出したAS(Actionscirpt 3)ファイルをmxmlで簡単にコンパイルできるように作ってましたが、今回は形状データをクラスとして扱える様に、スタイルを変更しました。年賀状でARをやった時にこの方が使いやすい事が分かり、変更しました。お陰で簡単にFLARToolkitで表示出来る様になりました。

ただ、現時点ではポリゴンメッシュのみの対応で、Shadeのパートに対応してないので、全てルートに形状を置く必要があります。この辺は徐々に対応の予定です。仕事で必要になればですが・・・。

それから、今回プラグインを作ったのですが、これを使えば何でも簡単にPapervision3Dで表示出来るかと言えばそうでもありません。自分としてもそうなると良かったのですが、Papervision3D自体の問題もあり、モデリングの時点で注意して作る必要があります。面が近いモノに関して不得意なので、その辺を上手く処理できるようにしてあげないと、ポリゴン欠けを起こします。交差しているモノもちらつきの原因になってしまったりするので、この辺の処理にはShadeのブーリアンモデリングで予めポリゴンメッシュ自体が交差しない様に処理しました。

もう少し具体的な事を書くと、鳥居の屋根付近の部分ですが、形状としては単純なので、特に問題無さそうですが、横に長い面が重なり合いそうになる部分、Papervision3Dでは面が不正に表示される事がありました。これは横に長い面は幾つかに分割する事で、正しく表示される様に成りました。他のポリゴンと重なり合わない様に、注意しつつ、法線の向きも気にして作るのは結構面倒だった。(法線の向きを気にしてモデリングしたのはパフォーマンスの為に、片面表示にしたからです。実際には両面になっているところもあります。これは敢えて後でソースを書き換えました。)

ちなみにプラグイン「PV3D Exporter」はShade 9のSDKを使ってます。今時のXcodeでビルド出来るのか心配だったのですが、問題ないようです。更にShade 11で動くのかも心配でしたが、これも問題無さそうです。他のプラグインは分かりませんが、エクスポーター系はあまり変更がないのかも。

今後に関しては、当然テクスチャも出力したいですし、パフォーマンスの為にShadeのリンク機能も反映する様にしたい。同様の理由でマスターマテリアルも。さらにポリゴンメッシュ以外の他の形状も出力される様に出来るだけ対応したいです。全ては希望なので、いつになる事か・・・。

今回のプラグインで書き出したソースコード(Actionscirpt 3)は下記のファイルに同梱してますので、見たい人はどうぞ。FLARToolKitのライセンスに基づきGPLでの公開ですが、形状データのクラスを再利用する場合は、連絡を貰えると嬉しいな。

>>関連リンク

閲覧数: 4016 / はてなブックマークusers

関連商品

amazon.co.jp・詳細ページへ

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト