2007.07 Monthly archives

Papervision3Dメモ #21

2007.07.31

新しくなったCube.as

Rev.115でCubeクラスが新しくなって、今までのCubeクラスに相当するものはOldCubeクラスに名称変更になった。かなり忘れそうなのでメモっとく。

OldCubeは名前が変わっただけで、これまでと同様の扱い方でオッケー。

new OldCube( MaterialObject3D, width, depth, height, segmentsS, segmentsT, segmentsH, initObject )

obj_OldCube.swf(要:FlashPlayer9)

新Cubeクラスは、マテリアルオブジェクトをMaterialsListで渡す必要あり。

var materials:MaterialsList = new MaterialsList(
{
front: Material1,
back: Material2,
right: Material3,
left: Material4,
top: Material5,
bottom: Material6
});

new OldCube( MaterialsList, width, depth, height, segmentsS, segmentsT, segmentsH, initObject )

これで各面ごとに異なるマテリアルが割り当てできる。以前取り上げたパッチがオフィシャルに吸収されたと。

obj_NewCube.swf(要:FlashPlayer9)

オフィシャルリリース版には反映されてない変更内容なので、今後まだ変わるのかも。

Papervision3Dメモ #20

2007.07.31

BitmapColorMaterialってどうなのよ

PV3D1.5から追加されたマテリアルクラスの一つBitmapColorMaterial。
単色オンリーのBitmapMaterialって感じで今一つ存在意義が良くわかんない、速かったりするの?という、Aquiouxさんのエントリー「Papervision3D 1.5 のマテリアル:閃光的網站・弛緩複合体」を読んで全く同意だったんで、速度比較してみた。

・ColorMaterialを使ったもの

・BitmapColorMaterialを使ったもの
(要:FlashPlayer9)

圧倒的にColorMaterialが速い。体感的にはColorMaterialのほうがBitmapMaterialより速いと感じていたので予想通りの結果。ますます使いどころがわからん。オブジェクトの表面にリアルタイムに色塗ったり絵描いたりするようなもの作る時に使うのかなぁ。

テストの副産物として、BitmapColorMaterialにalphaのパラメータが反映されないバグを見つけた。
BitmapColorMaterial.as 23行目

bitmap = new BitmapData(BITMAP_WIDTH,BITMAP_HEIGHT,fillAlpha > 1,0×00000000);
fillColor = color;
fillAlpha = alpha;

これを以下に書き換える

fillColor = color;
fillAlpha = alpha;
bitmap = new BitmapData(BITMAP_WIDTH,BITMAP_HEIGHT,fillAlpha < 1,0x00000000);

Papervision3D関連のソースコード修正

2007.07.26

忙しさにかまけてblogの更新サボってる間にPapervision3D 1.5がリリースされちゃって、ヤバいなーと思いつつほったらかしてたこのblogのPV3D関連ソースコードを、PV3D 1.5使ってもちゃんとmxmlcを通るように修正した。

修正したコードを含むエントリ

とりあえず、晒してるソースについてはPV3D1.5でも問題なく動くようになった。正式リリースを機にPV3D始める方の参考になれば幸いでございます。
一点だけ、動作確認には新svnリポジトリの最新リビジョン使ってるので、公式サイトから落とせるリリース版だとどうなるかわかんないです。この頃毎日のようにリビジョンが上がってるので、正式リリースになったとはいえこれまで通りsvn経由がよさげだとオレは思う次第。

にしてもOfficial Release版、Face3Dを筆頭にMaterial周りが随分と様変わりしてるなぁ。Away3Dとの統合に向けての布石か、あるいは例のシェーダー実装に向けての準備なのか真意は定かじゃないけど、いずれにしても「だんだんややっこしくなってまいりました」って感じ。こうなってくると、統合までの間はAway3D使ってたほうがいいのかも、とかこのごろ思う。あっちのが高機能で速いし。最近だとFIVe3Dも面白そう。