3D 세계에서 물은 생각보다 많은 것과 얽혀 있었습니다. 걷기, 수영, 땅 파기, 날씨, 화면 효과까지. 물을 제대로 만들기 위해 먼저 "여기가 물인가"를 묻는 곳부터 하나로 모았습니다.
이 글에서 다루는 내용
물인지 묻는 곳은 한 곳
처음에는 높이가 바다보다 낮으면 물, 특정 지역이면 물처럼 곳곳에서 제각각 판정했습니다. 그러다 보니 수영하는 곳과 그려지는 물이 어긋났고, 물가에 나무가 박혔습니다. 물 판정을 함수 하나로 모으고 모든 곳이 그것만 묻게 하자 어긋남이 사라졌습니다.
흐르는 물
땅을 파서 물가와 이으면 물이 구덩이로 흘러듭니다. 다시 막으면 물러납니다. 처음에는 물을 칸마다 채워 넣는 방식이라 계단처럼 보였는데, 수면 높이를 칸 사이로 이어 부드럽게 만들었습니다. 얕은 물을 걸을 때는 발목 높이에 맞춰 물보라가 튀고 첨벙 소리가 납니다.

네 면을 가진 폭포
폭포는 처음에 앞에서 보이는 판 한 장이었습니다. 자유 시점에서 옆으로 돌아가면 종이처럼 얇았습니다. 폭포를 물이 넘쳐흐르는 턱부터 바닥까지 네 면을 가진 물줄기로 다시 만들고, 떨어지는 곳에 포말과 물안개를 더했습니다.

물속에서 사라지던 것들
물속에 들어가면 거리에 따라 안개가 끼게 했는데, 떠다니는 해초와 거품이 통째로 사라졌습니다. 반투명한 물체는 깊이 정보에 남지 않아, 안개가 그 자리를 뒤 배경 거리로 덮어 버린 것이었습니다. 반투명한 물체는 안개 다음에 그리고 제 거리로 안개를 먹이게 바꿔 해결했습니다.
