3

Blender からロードしたオブジェクトの操作に問題があります。ピボット ポイントは、現在のオブジェクトの位置ではなく、常に 0,0,0 に設定されていると思います。Blender シーンでオブジェクトを正しく配置してインポートしましたが、回転に問題があります。

BoundingBoxHelper を使用して何が起こっているかを確認しましたが、境界ボックスはオブジェクトの周囲に表示されませんが、ワールドの中心に 1 単位のサイズで表示されます (これがデフォルトだと思います)。

これは、エイリアンをロードするために使用するコードです。

texture6 = THREE.ImageUtils.loadTexture('images/alien1.png', {}, function() {
        renderer.render(scene, camera);
    });

    loader = new THREE.JSONLoader();
    loader.load( "models/alien1.js", function( geometry ) {
        geometry.computeFaceNormals();
        geometry.computeCentroids();
        geometry.computeBoundingBox();

        var mat = new THREE.MeshBasicMaterial({map: texture6,transparent: true, color:0x00FF00} );
        var mesh = new THREE.Mesh( geometry, mat );
        scene.add(mesh);

        bbHelper = new THREE.BoundingBoxHelper( mesh, 0xff0000 );
        scene.add( bbHelper );
    });

結果は次のとおりです: (赤いバウンディング ボックスが緑のエイリアンを取り囲んでいるはずですが、シーンの中心にあります)

ここに画像の説明を入力

助言がありますか?

4

1 に答える 1

3

に電話する必要がありますbbHelper.update()

オブジェクトが動いている場合は、レンダリング ループで呼び出しを行います。

three.js r.59

于 2013-07-21T20:50:28.830 に答える