【发布时间】:2016-05-23 17:01:34
【问题描述】:
我想将一个对象从一个组(或世界/场景)移动到另一个组,但保持它的全局转换不变。基本上,我不想看到对象发生变化。
基本上是这样的:
//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 一起使用,但这似乎也不起作用。
我试图完成的结果似乎应该很容易做到,所以我希望我遗漏了一些明显的东西。谁能告诉我如何做到这一点?
谢谢!
【问题讨论】:
-
查看stackoverflow.com/questions/24441223/… 研究
attach()和detach()的源代码,以便了解它们在做什么。 -
非常感谢,正是我想要的。你会认为在我所有的搜索中,我都会偶然发现这个答案:)
标签: javascript matrix 3d three.js