Qbz*_*Qbz 5 javascript 3d matrix three.js
我想将一个对象从一个组(或世界/场景)移动到另一个组,但保持其全局转换不变.基本上,我不希望看到对象发生变化.
基本上,这样的事情:
//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 );
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.我想因为世界矩阵总是根据本地位置/旋转/比例属性更新下一帧.我已经尝试将它与matrixAutoUpdate = false一起使用,但这似乎也不起作用.
我想要完成的结果似乎应该很简单,所以我希望我遗漏了一些明显的东西.任何人都可以告诉我这是怎么做到的?
谢谢!
您可以在文件中找到您需要使用的方法Object3D.attach()
.
// add object as a child of parent, while maintaining the object's world transform
parent.attach( object );
Run Code Online (Sandbox Code Playgroud)
研究源代码Object3D.attach()
,并Object3D.attach()
让您了解他们在做什么.
three.js r.96