Three.js - 导入Blender JSON模型的错误边界框

时间:2013-07-21 18:48:15

标签: javascript three.js

我在操作从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 );
    });

这就是结果: (红色边界框应该围绕绿色外星人但是在场景的中心)

enter image description here

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您需要致电bbHelper.update()

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

three.js r.59