基于Three.js中的父/其他对象坐标系保持对象旋转?

问题描述 投票:2回答:1

我试图保持子对象的旋转与添加到父对象(即相机)之前的旋转相同。

我正在使用Three.js'worldToLocal来保持位置,但由于父母的位置和旋转,旋转会发生变化。

在“拿起”之前和之后:

注意多维数据集如何保持位置(感谢worldToLocal),但旋转会发生变化。

编辑:我希望能够将多维数据集的初始旋转设置为与添加到父级之前相同。之后,我希望孩子正常行动并像父母一样旋转/翻译。

rotation coordinates three.js transform webgl
1个回答
5
投票

要从场景中删除子项并将其添加到新父项,同时保持其世界位置和方向,请执行以下操作:

THREE.SceneUtils.attach( child, scene, parent );

根据我对你想做什么的理解,我相信这是票。

注意:如果parentcamera,你必须记住将相机添加到场景中:

scene.add( camera );

目前并不要求相机是场景的一部分。

要使用此方法,必须将文件/examples/js/utils/SceneUtils.js添加到项目中。

three.js r.96

© www.soinside.com 2019 - 2024. All rights reserved.