Casting Shadows

     ...
     temple = new THREE.Group();        
     temple.add(plinth);
     temple.add(ramp);
     ...
     temple.castShadow = true;            
     temple.receiveShadow = true;			

It seems that .castShadow and .receiveShadow are not properties of a Group despite
a statement somewhere that the properties of Groups are the same as those of Objects.

Am I correct here? And do I have to use Object and or .merge?

Object3D.castShadow and Object3D.receiveShadow only affect the own object but not its children. If you want that all descendants of temple cast and receive shadows, you have to do this:

temple.traverse( function( child ) {

    child.castShadow = true;
    child.receiveShadow = true;

} );
1 Like

Thank you, That works. One day I might understand how.