在Three.js中更改对象父级?

时间:2014-12-19 07:52:01

标签: three.js

是否可以更改任何对象的父级?

例如:

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);

1 个答案:

答案 0 :(得分:4)

最简单的方法是使用THREE.SceneUtils对象的分离和附加功能:

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