0

我绝对尝试了所有方法,这是第二天我无法在其中心周围移动子网格。

https://github.com/mrdoob/three.js/issues/1219 - 这对我不起作用。

我认为我无法正确创建子中心点和父中心点之间的位置矩阵。

我想将对象中心点设置在对象在场景中的位置,并沿任意轴旋转并使其保持在原位。

任何帮助都是最受欢迎的......我对此感到沮丧;/

4

1 回答 1

0

如果要更改位置,则必须设置属性位置。

如果要旋转子对象,则必须选择轴和度数。对象将围绕其中心旋转(点 [0,0,0])

obj.rotateOnAxis(new THREE.Vector3(0,0,1), 90*Math.PI/180); 
// rotate 90 degrees around Z axis

但是如果你想旋转子对象并确保特定的子顶点将保持在同一个地方,这并不容易。我这样做 - 准备子对象并将其中心 (0,0,0) 顶点放置在您想要“做”旋转的位置。如果您以这种方式更改子对象,您可以平移它,然后围绕您想要的轴旋转它。并且它的中心点在旋转过程中将保持在同一位置。

于 2013-12-18T17:05:20.460 回答