javascript - Three.js:缩放几何后错误的 BoundingBox

标签 javascript three.js

在我的场景中,我有一个简单的立方体:

var test = new THREE.Mesh(new THREE.CubeGeometry(10,10,10), new THREE.MeshBasicMaterial());
scene.add(test);

这个立方体正在通过用户使用 THREE.TransformControls 遍历/缩放。我需要的是这些交互之后立方体的边界框。所以我在做

test.geometry.computeBoundingBox();
var bb = test.geometry.boundingBox;
bb.translate(test.localToWorld( new THREE.Vector3()));

但我总是得到一个错误的边界框!翻译计算正确,但比例不正确。边界框的宽度和高度始终为 10 ...

这是错误还是功能?如何获得立方体的正确边界框?

最佳答案

您可以像这样计算对象(包括其子对象)的世界轴对齐边界框:

var box = new THREE.Box3();
box.setFromObject( object );

查看源代码,了解它在做什么。

three.js。 r.60

关于javascript - Three.js:缩放几何后错误的 BoundingBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461480/

相关文章:

javascript - 从单个组合框中导出多个值? (Adobe Acrobat)

javascript - three.js 如何缓存(本地存储)3d 模型和纹理?

javascript - 管理 threejs Geometry 的元数据

javascript - 如何优化 three.js 中多个 sphereGeometry 的渲染?

javascript - Textarea 返回值始终为 null

javascript - 当我复制到本地计算机时,jQuery 上传插件不起作用

javascript - 如何切换这个元素?

没有节点的javascript导入语句

javascript - Three.js-闪光灯 "Ring"效果

javascript - Three.js 将正方形定位在圆中