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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Three.js中的父/其他对象坐标系保持对象旋转?相关的知识,希望对你有一定的参考价值。

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

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

在“拿起”之前和之后:

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

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

答案

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

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

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

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

scene.add( camera );

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

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

three.js r.96

以上是关于基于Three.js中的父/其他对象坐标系保持对象旋转?的主要内容,如果未能解决你的问题,请参考以下文章

如何在three.js中的位置半径内获取其他3D对象

使用 bufferGeometry 获取 THREE.js Points 对象中顶点的屏幕坐标

THREE.js:计算物体上一点的世界空间位置

Three.js用相机选择对象,没有鼠标

three.js_sence(场景)

Three.js 会自动剔除在其他对象后面不可见的对象吗?