
UV_test.swf(要:FlashPlayer9)
PV3Dと同じネタをAway3Dでもやってみた。
今回はflvをテクスチャにしてみた。Away3Dの場合 VideoStreamMaterial が無いんで、初期のPV3Dと同様に BitmapMaterial をマテリアル指定しておいといて、毎フレーム BitmapData.draw(video) で対処した。
UV定義の理屈は [Papervision3D2.0] geometry.faces[n].uv で書いたのと全く一緒。UV定義にアクセスする手段が違うんで一応メモ。
var mat:BitmapMaterial = new BitmapMaterial( BitmapData );
var objPlane:Plane = new Plane({material:mat, width:100, height:100});
scene.addChild(objPlane);
objPlane.faces[0].uv0 = new UV(0.5, 0);
objPlane.faces[0].uv1 = new UV(1, 0);
objPlane.faces[0].uv2 = new UV(0.5, 0.5);
objPlane.faces[1].uv0 = new UV(1, 0.5);
objPlane.faces[1].uv1 = new UV(0.5, 0.5);
objPlane.faces[1].uv2 = new UV(1, 0);
PV3Dは、VerticesとFaceを束ねる Geometry3D オブジェクトを経由するけど、Away3Dだと Geometry3D が排除されてるのでスッキリした印象。Geometry3Dって無駄としか思えんなぁ。
今回のデモとは全く関係ないけど、Away3Dのsvnリポジトリに FlashPlayer10対応版のブランチができてた。
http://away3d.googlecode.com/svn/branches/3.0.0/src/away3d/
Astro版を「Away3D 3.0」と位置づけてるみたいだ。
現状は、新しいビルトインクラスと名称がカブってた Matrix3D とかのクラス名変更のみで、最適化されてたりビルトインクラスへの置き換えがされてるわけじゃなく、FlashPlayer10向け開発環境でもコンパイル出来るようになったっていうだけっぽい。
とはいえAway3Dの開発チームは Astro 時代もライブラリの拡張を進めてくれそうで楽しみ。