눈 내리는 효과


OpenMMO에 눈이 내리는 효과와 지형에 눈이 쌓인 모습을 추가했습니다.

내리는 눈은 카메라를 향하는 빌보드 파티클을 인스턴싱해 렌더링합니다. 눈송이마다 크기와 낙하 속도, 흔들림을 다르게 주고, 바람의 방향과 세기에 따라 이동하도록 했습니다. 생성될 때와 지면에 닿기 직전에는 투명도를 조절해 서서히 나타나고 사라지게 했습니다.

지형의 적설 표현은 월드 좌표 기반의 여러 주파수의 펄린 노이즈와 표면 노멀의 위쪽 성분을 조합해 마스크를 만드는 방식입니다. 평평한 곳에는 눈이 쌓이고 가파른 경사에는 적게 남도록 계산한 뒤, 이 마스크로 기존 재질과 눈 재질의 색상, 노멀, 거칠기를 혼합합니다.

풀과 잔디 에셋은 교체하지 않고 셰이더만 수정했습니다. 잎 끝으로 갈수록 밝은 눈 색상을 섞고, 눈이 쌓이는 영역에서는 버텍스 단계에서 높이를 줄여 잔디가 눈에 묻힌 것처럼 표현했습니다. 지형과 잔디가 같은 적설 분포 계산을 사용하도록 해 눈이 덮인 위치도 맞췄습니다.

가을이 되면 잔디 색이 점차 노랗게 변하도록 했습니다. 이 역시 기존 에셋을 그대로 사용하며, 게임 내 계절에 따라 셰이더에서 잔디의 기본 색상과 끝부분 색상을 황갈색 계열로 보간합니다. 잔디 인스턴스마다 보간량에 차이를 주어 색이 한꺼번에 균일하게 바뀌지 않도록 했습니다.

아래 영상에서 강설 효과와 지형, 잔디의 적설 표현을 확인할 수 있습니다.