SketchUpのCollada読み込み関連

| コメント(0) | トラックバック(0)

どうもpapervision3d関連のネタはリソースが少なく、需要があるっぽいので、
たまには人の役にたちそうなことを書くだけ書いておきます。

■material関連
Google SketchUpのcolladaを読み込むと
SketchUpの書き出しが下手なのか、
Colladaクラス内のパース処理がうまくいっていないのかわからないけれど
materialが反映されないかった。
なので以下のように手動でmaterial(今回はColorMaterial)を割り当てた。

var colladaObj:Collada; //すでに読み込み済みのColladaオブジェクト
var material:ColorMaterial = new ColorMaterial(myColor); //myColorは任意の色
var myMaterials:MaterialsList = new MaterialsList();
for each(var child in colladaObj.children){
for each(var grandchild in child.children){
for ( var materialName in grandchild.materials.materialsByName){
myMaterials.addMaterial(material, materialName);
}
grandchild.materials = myMaterials;
}
}

■z-sort関連
Google SketchUpのcolladaを読み込むとz-sortがメチャメチャになった。
DisplayObject3Dクラスのproject()関数内をtraceしてみると
"Camera"という名前のオブジェクトが返す値(おそらくscreenZの値)がNaNになってしまっている。
この"Camera"はいったい何に使われるのかよくわからないが、
なくなっても大丈夫っぽかったので、削除した。

for (var childName in colladaObj.children){
if(childName=="Camera"){
colladaObj.removeChild(colladaObj.getChildByName(childName));
}
}

まだ制作途中なので、以上のことで何か不具合おこったら追記します。

トラックバック(0)

トラックバックURL: http://www.horned.org/mt-tb.cgi/20

コメントする

このブログ記事について

このページは、hornedが2007年7月 2日 22:59に書いたブログ記事です。

ひとつ前のブログ記事は「Flash Badge」です。

次のブログ記事は「macのマウスホイール for as3」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。