ThreeJS shadow stripe BUG

ThreeJS open shadow right approach:

1. renderer enable shadow renderer.shadowMap.enabled = to true;
2. lighting shadows  light.castShadow = to true;
3. Objects shadows  obj.castShadow = to true;
4. shaded display surface obj.receiveShadow = true;

No shadow effect

Shadow effect, it produced many stripes

cause

1. squares arranged not to receive shadow  obj.receiveShadow = false; avoid stripes, squares but there is no effect of the projection.
2. The material of  the let Material's new new THREE.MeshLambertMaterial = ({Color: Color, Side: THREE.DoubleSide}); Side properties may be properly removed.
3. The material of the projection surface or the back surface can also be solved to  let material = new THREE.MeshPhysicalMaterial ({color : color, side: THREE.DoubleSide, shadowSide: THREE.BackSide});

Correct shadow effects

to sum up:

Material Side , shadowSide settings affect the shadows, require special attention;

Guess you like

Origin www.cnblogs.com/zjfree/p/12199783.html