我想将一个对象从一个组(或世界/场景)移动到另一个组,但要保持其全局转换不变。基本上,我不想看到对象发生变化。
基本上,是这样的:
//store current world transformation
var origWorldMatrix = myObject.matrixWorld.clone();
//move object to a group (that is positioned and rotated arbitrarily)
someGroup.add( myObject );
//restore previous world transformation
myObject.matrixWorld.copy( origWorldMatrix );
但是,这似乎行不通。我猜是因为世界矩阵总是根据本地位置/旋转/缩放属性在下一帧更新。 我尝试将它与 matrixAutoUpdate = false 一起使用,但这似乎也不起作用。
我试图完成的结果看起来应该很容易做到,所以我希望我遗漏了一些明显的东西。谁能告诉我如何做到这一点?
谢谢!
最佳答案
编辑:您可以使用内置方法Object3D.attach()
:
// add object as a child of parent, while maintaining the object's world transform
parent.attach( object );
three.js r.109
关于javascript - Three.js 将对象添加到组中但保持全局位置/旋转/比例不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364409/