updated_at: 2025-02-26 03:46

그림자 효과 내기

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
평점을 남겨주세요
평점 : 2.5
총 투표수 : 1

질문 및 답글