小编use*_*487的帖子

三个JS - BoundingBox在执行旋转后没有更新

我需要在对其进行旋转后找出几何体的边界框.

旋转代码 - 取自三JS的样本编辑器

object.rotation.x = xRadians;
object.rotation.y = yRdians;
object.rotation.z = zRadians
Run Code Online (Sandbox Code Playgroud)

这可以很好地旋转对象.

现在我需要获取更新的边界框

获取边界框的代码

var minX = parseFloat(object.boundingBox.min.x);
var minY = parseFloat(object.boundingBox.min.y);
var minZ = parseFloat(object.boundingBox.min.z);
Run Code Online (Sandbox Code Playgroud)

无论旋转是什么,我都会在minX-Z中获得相同的值.获取更新的边界框的正确方法是什么?

我正在使用r-66.

我也试过用:

var radians = x * Math.PI / 180;
var axisX = new THREE.Vector3(1, 0, 0);
var matrix = new THREE.Matrix4().makeRotationAxis(axisX, radians);
geometry.applyMatrix(matrix);
Run Code Online (Sandbox Code Playgroud)

此方法执行相对旋转并正确更新边界框但我不希望相对旋转.第一种方法是我正在寻找但不更新对象的边界框.

有任何想法吗?谢谢!

javascript rotation bounding-box three.js

4
推荐指数
1
解决办法
2173
查看次数

标签 统计

bounding-box ×1

javascript ×1

rotation ×1

three.js ×1