전통적인 스카이박스는 정육면체 여섯 면에 하늘 사진을 붙이는 방식이지만, three/addons/objects/Sky.js는 사진 대신 물리 기반 대기 산란(Preetham 모델)을 셰이더로 계산합니다. 태양 방향(sunPosition) 하나만 넣어주면 레일리 산란(파란 하늘)과 미 산란(태양 주변 뿌연 후광)을 함께 계산해서, 태양이 낮으면 붉게, 높으면 파랗게 자동으로 바뀝니다.
sky.scale.setScalar(N)으로 크기를 정한 커다란 정육면체(BoxGeometry) 안쪽 면(side: BackSide)에 이 셰이더가 입혀지므로, 카메라가 그 박스 안에만 있으면 항상 하늘로 보입니다. 태양 위치는 구면 좌표로 넣습니다: elevation(고도각)과 azimuth(방위각)를 THREE.MathUtils.degToRad로 라디안으로 바꾼 뒤 Vector3.setFromSphericalCoords로 방향 벡터를 만들어 sky.material.uniforms.sunPosition.value에 넣습니다.
이 데모는 시간에 따라 elevation을 8~32도 사이로 흔들어 노을 진 하늘에서 한낮 하늘로 서서히 바뀌는 걸 보여줍니다. turbidity(대기 혼탁도)·rayleigh(하늘색 강도)·mieCoefficient/mieDirectionalG(태양 후광 형태) 네 값으로 맑은 날부터 뿌연 날까지 다양한 하늘을 튜닝할 수 있습니다.
언제 쓰나
외부 HDRI 없이 빠르게 하늘 배경이 필요할 때, 낮/밤·일출/일몰 전환을 연출할 때.