Environment · Water System
Water System
Visual Water Surface 대체 — 깊이·경사·흐름 지원 비주얼 물 시스템
scroll

Visual Water Surface — 폐기 사유

Visual Water Surface (deprecated)
  • shape이 plane 형태로 강제됨 — 자유로운 형상 정의 불가
  • 경사면을 정의할 수 없음 — 반드시 잔잔한 수평 표면으로만 가능
  • 여러 곳에 설치 시 급격한 성능 저하
  • plane shape이므로 depth를 정의할 수 없고, 흐름도 불가

Water System은 순수 비주얼 목적의 시스템입니다. 물의 흐름을 레벨 게임플레이 동작으로 사용하기 위한 시스템이 아닙니다.

세 가지 구성 엔티티

WaterSystem.Fountain

물이 무한히 솟아나는 수원지입니다. 이 shape에서 물 영역이 시작됩니다.

WaterSystem.Blackhole

물이 무한히 사라지는 소멸지입니다. 이 shape에 닿는 물 영역은 소멸합니다.

WaterSystem.Canal

물이 강제로 지나가게 하는 통로입니다. 지정된 경로로 물의 흐름을 제어합니다.

Fountain → Canal → Blackhole

Fountain
수원지 · 무한 공급
Canal
강제 경로
Blackhole
소멸지 · 무한 흡수
Canal이 없는 영역에서는 TriFloor를 공유합니다. 물 영역이 지형 메시를 따라 자연스럽게 분포합니다.

물 영역 처리는 Job System에서 담당

Job · 01
이동 판정

물 영역의 이동 및 확산 판정을 Job System에서 병렬로 처리합니다.

Job · 02
Depth 정의

각 물 영역의 깊이(Depth)를 Job System에서 계산하고 유지합니다. 경사면 및 흐름에 따라 동적으로 변화합니다.

Job · 03
Pawn 진입 판정

Pawn이 물 영역에 들어갔는지 여부를 판정합니다. 깊이 정보와 결합하여 잠김 수위를 계산합니다.

Job · 04
GPU 메모리 공유

계산된 물 데이터를 GPU 메모리와 직접 공유합니다. 별도 업로드 없이 그대로 렌더링에 사용합니다.

메모리 레이아웃을 그대로 렌더링에 활용

Job System
Shared Memory Layout
GPU Buffer
Render Pass

Job System에서 계산된 물 영역 데이터는 별도의 변환이나 업로드 없이 GPU 버퍼와 메모리 레이아웃을 공유합니다. 렌더 패스는 이 공유 버퍼를 직접 참조하여 물 표면을 렌더링합니다.