그림자 효과 내기
Three.js에서 그림자 효과를 내기 위해서는
mesh(사물)
,바닥
, 그리고 '빛(light)` 가 필요합니다.
요약
아래와 같이 처리되어야 정상적으로 그림자가 나옮니다.
- renderer
renderer.shadowMap.enabled = true; // 렌더러에 그림자 사용 설정
- mesh(사물)
const mesh = new THREE.MeshStandardMaterial({ color: 0xffffff })
// THREE.MeshBasicMaterial() MeshBasicMaterial은 빛의 영향을 받지 않으므로 cast shadow가 불가능하므로 주의해야 한다.
mesh.castShadow = true; // 그림자를 cast 하기
- mesh(바닥)
plane.receiveShadow = true; // 그림자를 그려주기
- light
light.castShadow = true
옵션
그림자의 강도등은 light에서 처리합니다.
shadow
그림자 해상도 설정, 높을수록 해상도가 높다.
- shadow.mapSize.width
- shadow.mapSize.height
그림자 반경
- shadow.radius