我需要在对其进行旋转后找出几何体的边界框.
旋转代码 - 取自三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)
此方法执行相对旋转并正确更新边界框但我不希望相对旋转.第一种方法是我正在寻找但不更新对象的边界框.
有任何想法吗?谢谢!