我正在尝试保持子对象的旋转与添加到父对象(即相机)之前的旋转相同。
我正在使用Three.js'worldToLocal
来保持位置,但由于父级的位置和旋转,旋转会发生变化。
之前和之后“拿起”:
注意多维数据集如何保持位置(感谢worldToLocal
)但旋转发生了变化。
编辑:我希望能够将多维数据集的初始旋转设置为与添加到父级之前相同。之后,我希望孩子正常行动并像父母一样旋转/翻译。
答案 0 :(得分:5)
要从场景中移除子项并将其添加到新父级,同时保持其世界位置和方向,请执行以下操作:
THREE.SceneUtils.attach( child, scene, parent );
根据我对你想做什么的理解,我相信这是票。
注意:如果parent
是camera
,则必须记住将相机添加到场景中:
scene.add( camera );
目前并不要求相机是场景的一部分。
要使用此方法,必须将文件/examples/js/utils/SceneUtils.js
添加到您的项目中。
three.js r.96