【问题标题】:Three.js - Wrong Bounding Box importing Blender JSON modelThree.js - 导入 Blender JSON 模型的错误边界框
【发布时间】:2013-07-20 11:40:12
【问题描述】:

我在处理从 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 );
    });

结果如下: (红色边界框应该在绿色外星人周围,但在场景中心)

有什么建议吗?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    您需要致电bbHelper.update()

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

    three.js r.59

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 2017-08-10
      • 2013-04-16
      • 2019-03-07
      • 2016-04-22
      • 2017-03-09
      • 2023-03-24
      • 2018-08-31
      相关资源
      最近更新 更多