是否可以更改任何对象的父对象?
例如:
scene.add(Object);
Object.Add(OtherObject);
OtherObject.parent = scene; // <-- Something like this
我只知道我可以删除该对象并在新的父对象中再次创建它,但我希望还有另一种方法。我有一些在飞机上的物体,如果我点击它们,我想将它们固定到相机上,这样我就可以一直看到相机前面的东西。如果我再次单击它们,我想再次将父级设置为飞机。
为什么这不起作用?
var obj = clicked.clone();
camera.add(obj);
obj.position.set(0,0,-20);
最简单的方法是使用 THREE.SceneUtils 对象的分离和附加功能:
THREE.SceneUtils.detach( child, parent, scene );
THREE.SceneUtils.attach( child, scene, parent );
这对我有用
parent.attach(child);
父级是您想要为其设置父级的网格体,子级是要设置父级的网格体。
您可以先将孩子添加到场景中,也可以不添加到场景中。
信用:@pythonjsgeo (我只是将其作为实际答案放在这里,以便更容易看到) 更改 Three.js 中的对象父级?