flashの3D開発で、Papervison3DやAway3Dを扱っています。
最近はAway3Dを使用しているのですが、Papervison3Dに比べるとAway3Dって日本語の情報が少ないですね。
最近はAway3Dを使用しているのですが、Papervison3Dに比べるとAway3Dって日本語の情報が少ないですね。
というわけでマリエッタのHPにAway3Dの簡単なサンプルを載せました。
Colladaデータの表示と、テクスチャの色を動的に変えるサンプルです。
Papervision3Dで使用していたColladaデータなのですが、そのままでは使用できませんでした。
daeの中に”library_animations”、”library_animation_clips”というタグが出力されていて、このタグのパース時にエラーが発生しました。
アニメーションとか特に使用していないので、この2つのタグをコメントアウトしてロードの問題は解決です。
で、サンプルの主目的はテクスチャを動的に変えること。
今回は単純にColladaで使用しているテクスチャ画像の色を変換しているだけですが、簡単にポイントを解説です。
ロードしたCollada情報にはmaterialLibraryというをプロパティがあり、この中にテクスチャの情報を持っています。
テクスチャに画像ファイルを使用している場合は、ロード時にBitmapMaterialが生成されているので、マテリアル内のBitmapDataを変更してあげればOKです。
色を変え方は、元画像のBitmapDataをColorTransformで着色しただけです。なので、元画像は白系の画像を使用してます。(元画像と言っているのは初期表示時のです)
そんな感じで処理はそんなに書いてません。
3Dって難しそうって思う方沢山いると思いますが(自分も思ってました)、Away3DもPapervison3Dもライブラリが優秀なので触ってみると結構面白いですよ。