最近我开始学习threejs并在threejs.org/editor的基础上尝试编写一个函数,将所选模型放到场景的中心,并且出现了问题:
如果模型旋转,模型的中心将被计算错误,因此我无法以正确的方式放置模型
editor.selected.geometry.center();
var box = new THREE.Box3().setFromObject(editor.selected);
var newPosition = new THREE.Vector3(0, box.size().y/2, 0);
editor.execute(new SetPositionCommand(editor.selected, newPosition));
这是它的工作原理 - http://lexsandbox.netne.net/editor/ - (标签对齐 - AlignCenter)
如果模型被旋转是怎么回事 - http://joxi.ru/EA41k31HqVQ0rb(随机角度,box.size()。y = 105.89974660644481,position.y = 52.95)并且因为错误的中心位置它以错误的方式工作
我如何解决这个问题?
PS:我的英语是sory,我是外国学生;(
答案 0 :(得分:0)
你可以分别指定轴的旋转参数, cube.rotate.x + = 0.1; cube.rotate.y + = 0.1;旋转。这里是立方体平均几何或网格,或者尝试计算边界框并围绕它的中心旋转。