> Frontend/ThreeJS

TIL-2024.03.03 - 3js - Light

Janku 2024. 3. 3. 23:39

 

------- Light

 

    // SECTION:: Light
    const directionalLight = new THREE.DirectionalLight(0xf0f0f0, 1); // MeshBasicMaterial 사용 시, 안보임
    directionalLight.position.set(-1,2,3);
    const ambientLight = new THREE.AmbientLight(0xf0f0f0, 1); // MeshBasicMaterial 사용 시, 안보임
    ambientLight.position.set(-1,2,3);
    scene.add(directionalLight, ambientLight)


// MeshBasicMaterial을 사용할 때 광원이 보이지 않음.
// MeshBasicMaterial은 빛에 대한 반응이 없는 가장 기본적인 재질
// 즉, 빛을 받아들이거나 그림자를 만들지 않습니다. 
// 대신하여, MeshPhongMaterial 또는 MeshStandardMaterial과 같은 다른 재질을 사용 가능.

 

 

  1. Directional Light (직사광):
    • THREE.DirectionalLight 클래스를 사용하여 생성.
    • 일반적으로 해나 태양과 같은 방향에서 빛을 방출합니다.
    • 위치(position) 속성은 존재하지만, 위치에 대한 영향력은 없으며, 방향(direction)을 결정.
    • 세 개의 주요 속성이 있습니다:
      • 색상(color): 빛의 색상을 결정.
      • 강도(intensity): 빛의 밝기를 결정.
      • 위치(position): 빛의 위치를 결정.
  2. Ambient Light (주변광):
    • THREE.AmbientLight 클래스를 사용.
    • 장면 전체를 균일하게 밝히는 역할.
    • 방향이나 위치와 같은 속성이 없습니다.
    • 색상강도로만 정의됩니다.