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()

如果对象正在移动,请在渲染循环中进行调用。

三.js r.59

于 2013-07-21T20:50:28.830 回答