note.x

[PV3D][Away3D] Metasequoiaクラス

e_negimiku.jpg

はちゅねミクことネギミクをPV3Dで読み込んでみた。
メッシュデータは七葉の保管庫から拝借(作者はズサさん)、ありがたいことでございます。メタセコで作られたデータなので、rch850さんによるMetasequoiaクラスを使ってみた。

あっさりおしまい、かと思ったらMetasequoiaクラスが PV3D1.5用みたいで、PV3D1.7だと使えない。何事も修業ってことで、1.7に対応させてみた。

208行目

var materialName:String;
↓
var materialName:MaterialObject3D;

208行目

var materialName:String;
↓
var materialName:MaterialObject3D;

298行目

materialName = mMaterialNames[parseInt(mstr)];
↓
materialName = materials.getMaterialByName(mMaterialNames[parseInt(mstr)]);

321行目

face = new Face3D([a, b, c], face.materialName, face.uv);
↓
face = new Face3D([a, b, c], face.material, face.uv);

331行目

materialName = mMaterialNames[parseInt(mstr)];
↓
materialName = materials.getMaterialByName(mMaterialNames[parseInt(mstr)]);

あと、これまでPV3D触ってきた経験上
162行目の

material.doubleSided = true;

はコメントアウトした。doubleSidedプロパティは基本的にfalseで、どーしても必要な場合のみtrueが無難、ってのがオレの考え。

以上でめでたくPV3D1.7で使えるようになった。メタセコ派のPapervisionalistはお試しあれ。
Face3Dの仕様変更が原因なので1.5と1.7両対応ってのは面倒そう。
以下が結果。

ネギミクPV3D版(要:FlashPlayer9)

うーん。重いのはまぁしょーがないとして、左右が反転してるのは何で?Metasequoiaクラスの改造がマズかったかな。

07/11/12追記
↑の疑問を太郎日記’79Jさんが見事に解決してくださいました。つーか、自分で調べた座標系の事をスッポリ忘れて何というイノセントな感想を語っているのかオレ…orz。

それよかやっぱり複雑なメッシュだとポリゴン欠けが目立つなぁー。Z-Sortなんとかなんねーのか。
とかなんとか、ひとしきりグチったとこでポリゴン欠けが円形脱毛症に見えてしょーがねーのでついカッとなって、MetasequoiaクラスをAway3D用に移植、CORRECT_Z_ORDERレンダラ使ってやってみた。

ネギミクAway3D版(要:FlashPlayer9)※デンジャラス重いです

おげぇー!重いーっつーか動いてねぇ(笑)ポリゴン欠けはウソみたいに無くなったけど…ねぇ。CORRECT_Z_ORDERレンダラって重いんだなぁ。これじゃネギ振るなんてムリだ。

mqoから一旦Blenderにコンバートして、もっとローポリ化しないとダメか。
Metasequoiaクラス移植した意味無ぇなぁ(笑)とりあえず面白かったけど。

追記:
太郎日記’79Jさんとネタかぶった…orz。
しかもつい2時間前のエントリ。でもむしろ同志がいてくれてウレシイ。


Trackback URL : http://blog.r3c7.net/as3-software-rendering/117/trackback/

Leave a Reply