Three.js로 시작하는 인터랙티브 웹 3D
0 / 20 (0%)

3D 공간에 안개 효과 적용하는 방법

안녕하세요. 이번에는 Three.js로 만든 3D 공간에 안개를 추가해볼게요.
3D 엔진의 안개는 일반적으로 카메라로부터의 거리에 따라 특정 색상으로 페이드 하는 방식입니다. 별거 아니지만, 막상 적용하면 깊이감을 표현할 수 있습니다.

*디자인 베이스 강좌는 Mac OS를 기준으로 해서 윈도우 사용자와 일부 차이가 있을 수 있습니다. 윈도우 사용자분들은 영상에서 커맨드(Cmd)라는 단축키 대신 컨트롤(Ctrl)을, 옵션(Option) 대신 알트(Alt)를 눌러주세요.

Three.js에서 안개 사용 방법

컬러 변수로 등록

배경색과 안개색을 동일하게 하면, 공간으로 페이드 아웃되는 효과를 줄 수 있고, 반대로 배경색과 안개색을 보색으로 설정하면, 좀 더 도드라지게 표현할 수도 있습니다.

const FogColor = 0x004fff;
const objColor = 0xffffff;
const FloorColor = 0xff0000;

02. Scene에 Fog 추가하기

Fog는 안개를 적용할 위치를 선택할 수 있는 장점이 있어 일반적으로 더 많이 사용됩니다. 표현 의도에 따라 특정 거리까지 명확한 장면을 표시한 다음 해당 거리를 지나서 어떤 색상으로 페이드 아웃하도록 조절하는 것이 FogExp2보다 좋은 점이죠.

// Fog 
scene.fog = new THREE.Fog(FogColor, 2, 8);
scene.fog = new THREE.Fog(color, near, far); 

03. 업데이트02. Scene에 Fog 추가하기03. 업데이트

FogExp2는 카메라와의 거리에 따라 기하급수적으로 증가하는 방식으로, Fog보다 현실에 더 가깝게 표현이 가능합니다.아래 코드를 보면 속성값이 다름을 알 수 있습니다.

//FogExp2
scene.fog = new THREE.FogExp2(color, density);
scene.fog = new THREE.FogExp2(FogColor, 0.2);

질문과 답변 기능을 이용하려면 로그인해야 합니다.

로그인 후 이 콘텐츠를 이용할 수 있습니다.

등록된 공지사항이 없습니다.

강좌 공지가 등록되면 이곳에서 확인할 수 있습니다.