0

立方体を作成し、ブレンダー (2.5) でマテリアルとテクスチャを適用しました。しかし、そのモデルを Papervision 3d (2.1) にインポートすると、何も表示されず、何も表示されません。一方、他の .dae モデルを使用すると (たとえば、Papervision3D Essentials の本を参照しているので、それらのサンプルを使用しました)、モデルを見ることができます。どうしたの?Blender からエクスポートしたモデルが機能しないのはなぜですか?

これが私のスクリプトです:

package {

    import flash.events.Event;

    import org.papervision3d.events.FileLoadEvent;
    import org.papervision3d.events.InteractiveScene3DEvent;
    import org.papervision3d.materials.BitmapMaterial;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.objects.parsers.DAE;
    import org.papervision3d.view.BasicView;
    import org.papervision3d.objects.parsers.Collada;

    public class modelTest extends BasicView
    {
        private var model:DisplayObject3D;
        private var distance:Number = 1000;
        private var speed:Number = 0.2;
        private var rangeX:Number = 0.02;
        private var rangeY:Number = 0.02;
        private var rangeZ:Number = 0.05;
        private var targetRotationX:Number = 0;

        public function modelTest()
        {   
            stage.frameRate = 40;

            init();
            startRendering();
        }

        private function init():void
        {
            model = new DAE();
            DAE(model).load("assets/cube.dae");
            scene.addChild(model);

            viewport.interactive = true;
            model.addEventListener(FileLoadEvent.LOAD_COMPLETE, modelLoaded);
        }

        private function modelLoaded(e:FileLoadEvent):void
        {
            trace("Used materials by this model: " + model.materials);
            true).addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, click);
        }


        override protected function onRenderTick(e:Event=null):void
        {   
            super.onRenderTick();
        }
    }
}

そして、これは出力です:

INFO: Papervision3D 2.1 rev920 (August 11th, 2009)

INFO: Viewport autoScaleToStage : Papervision has changed the Stage scale mode. 
INFO: DisplayObject3D: COLLADA_Scene 
INFO: DisplayObject3D: Cube 
INFO: DisplayObject3D: Lamp 
INFO: DisplayObject3D: Camera 
Used materials by this model: Material_001-material

Blender ファイル : http://imageedit.netai.net/cube.blend

DAE ファイル : http://imageedit.netai.net/cube.dae

4

1 に答える 1

0

PV3D は最新の状態に保たれていません。Stage3D (3D シーン用の Flash GPU アクセラレーション) を利用したい場合は、代わりに Away3D またはその他のエンジンを試してください。

そうは言っても、PV3D に触れてからしばらく経ちましたが、Collada ジオメトリをどのように記述したかを非常に具体的に説明する必要があったことを覚えています。Papervision3D のパーサーは、仕様のサブセットのみを読み取ります (完全な仕様を読むと、パーサーは巨大になるでしょう - Away3d がそれをサポートしていない理由の一部)

「Collada Blender export for Papervision」を検索すると、Web 上の役立つ投稿が表示されます。

http://osflash.org/pipermail/papervision3d_osflash.org/2007-February/001726.html

Collada エクスポートには三角形が必要であることがわかります。

または、Collada パーサーを掘り下げて、探しているものを把握することもできます。ローダーが三角形のみを検索し、XML の特定の場所のみを検索していることがわかります。

于 2012-06-15T15:22:07.347 に答える