是否可以更改任何对象的父级?
例如:
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);
答案 0 :(得分:4)
最简单的方法是使用THREE.SceneUtils对象的分离和附加功能:
THREE.SceneUtils.detach( child, parent, scene );
THREE.SceneUtils.attach( child, scene, parent );