0

1つのDisplayObject3Dから.DAEファイルを作成する必要がありますが、その方法がわかりません。DAEのインポート方法に関する情報を見つけたのは私だけです。どのようにそれをエクスポートするかについては決してありません。

ありがとう。


単純に「メッシュ」を「コンテナ」に変更することはできません。

私はこの行をよく理解していません:

mesh = scene.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));

私がこれを行う場合:

mesh = container.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));

次に、紙面を使用してdaeを作成しますが、紙面のみを使用し、「コンテナ」に存在する他のオブジェクトは作成しません。

DisplayObject3D「コンテナ」のオブジェクトを使用してdaeを作成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

ExportColladaexport()静的メソッドを使用して .DAE ファイルを作成できます。

trace(ExportCollada.export(yourDisplayObject3D));

ここに非常に基本的な例をまとめました:

PV3D DAE エクスポート

テストを実行し、ステージをダブルクリックして、平面を .dae ファイルとしてディスクに保存します。

アップデート

ここでわかるように、オブジェクトのネストも機能します。

PV3D DAE 複数のネストされたオブジェクトをエクスポート

あなたはこの行に言及しました:

mesh = scene.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));

これは、1 行で複数のことを行う怠惰な方法です。

  1. 新しい PaperPlane オブジェクトを作成する
  2. シーンに追加する
  3. PaperPlane オブジェクトをメッシュ変数に割り当てます

おそらく、次のようにするとより理にかなっています。

var mesh:DisplayObject3D = new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3);
scene.addChild(mesh);

変更されたスニペット:

mesh = container.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));

メッシュは、紙飛行機であるコンテナーに紙飛行機を追加することによって返される DisplayObject3D に等しいと述べているため、メッシュをエクスポートする場合は、平面のみをエクスポートします。コンテナーをエクスポートする場合は、コンテナーが持つすべての子要素を含むデータを取得する必要があります。

この行を変更する方が簡単かもしれません:

data.writeUTFBytes(ExportCollada.export(mesh));

これに:

data.writeUTFBytes(ExportCollada.export(container));//assuming container is visible here
于 2011-08-10T23:30:26.477 に答える