【发布时间】:2018-03-02 04:39:39
【问题描述】:
我正在计算 Object3D 的高度,如下所示:
let obj = ... ; // An Object3D instance. Could be a Mesh, Group, etc.
let boundingBox = new THREE.Box3().setFromObject(obj);
let height = Math.abs(boundingBox.min.y - boundingBox.max.y);
当obj 旋转(在X 和/或Z 轴上)时,boundingBox.min.y 和boundingBox.max.y 之间的差异会增加/减少,从而导致高度与未旋转时不同。
但我想计算obj 的高度,就好像它根本没有旋转一样。我该怎么做?
我猜我需要根据旋转角度来转换boundingBox 的尺寸,但我不知道该怎么做。
旋转前:
旋转后:
(红色 = obj,蓝色 = boundingBox)
【问题讨论】:
-
为什么在计算前不能保存旋转并将旋转设置为零?
标签: javascript three.js rotation