Can a mesh has two Object3D parent?

var aMesh = new THREE.Mesh(), bMesh = new THREE.Mesh(), cMesh = new THREE.Mesh()
var aObj = new THREE.Object3D(), bObj = new THREE.Object3D()
aObj.add(aMesh, bMesh)// Easy to change their color
cObj.add(bMesh, cMesh)// Easy to change their positions

Look up, bMesh has two parent, is that right? How can I group them?

normally not, by adding it it will call remove on its previous parent.

But I want to change aMesh’s color and bMesh’color at the same time and change bMesh’s positions and cMesh’s positions at the same time

i dont understand why you wouldn’t be able to do that without binding each object to multiple parents.

what’s the problem doing this?


you can also put both into a group and scale it that way

const g = new Group()
g.add(a, b)
// scale both at the same time

and you can also give them the same material

a.material = foo
b.material = foo
// set color for both at the same time