This is a checklist to refer to if your Three.js scene doesn’t cast shadow as intended.
- Renderer’s 
shadowMapmust be enabled. 
renderer.shadowMap.enabled = true
- Use lights that support shadow casting, which currently are 
DirectionalLight,PointLightandSpotLight. - The light’s 
castShadowmust be set totrue. - The 
castShadowproperty of the object to cast a shadow must be set totrue. - The 
receiveShadowproperty of the object to receive a shadow must be set totrue. - If all above are set and there’s still no shadow, check your light’s 
shadowCamera's view frustum and make sure shadow casters and receivers are all inside the frustum. 
Based on Three.js version r107.