Threejs旋转后如何获得模型中心

时间:2016-08-20 15:01:49

标签: javascript three.js

最近我开始学习threejs并在threejs.org/editor的基础上尝试编写一个函数,将所选模型放到场景的中心,并且出现了问题:

如果模型旋转,

模型的中心将被计算错误,因此我无法以正确的方式放置模型

我的alignCenter功能代码

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,我是外国学生;(

1 个答案:

答案 0 :(得分:0)

你可以分别指定轴的旋转参数, cube.rotate.x + = 0.1; cube.rotate.y + = 0.1;旋转。这里是立方体平均几何或网格,或者尝试计算边界框并围绕它的中心旋转。