카테고리 없음

[내배캠 TIL 260428] Unreal Grid 기반 Fog of War

xodn246 2026. 4. 28. 21:02

1. 문제 상황

기존 방식 (Radial)

  • 원형으로 시야 표시
  • 실제 타일 기반 로직이랑 안 맞음

해결 : Grid 기준으로 Fog를 직접 그림


2. 핵심 흐름

World → Grid → UV
 
  • 유닛 위치 → 타일 좌표
  • 타일 → RenderTarget 좌표로 변환
  • 그 위치에 Fog 제거

3. 성능 개선

기존

  • 타일마다 Draw 호출
  • Draw Call 과다 → 느림

개선

  • Canvas 사용
  • 한 프레임에 한 번만 그림

결론:
N번 그리기 → 1번으로 줄임


4. 핵심 코드

UKismetRenderingLibrary::BeginDrawCanvasToRenderTarget(...);

Canvas->DrawTile(...); // Clear

for (Vision)
{
    for (Tiles)
    {
        Canvas->K2_DrawMaterial(...);
    }
}

UKismetRenderingLibrary::EndDrawCanvasToRenderTarget(...);

5. 핵심 포인트

  • RenderTarget = 화면용
  • 실제 시야 판단 = Grid 데이터

→ 둘을 분리해야 안 꼬임


6. 한 줄 정리

“Fog는 원이 아니라 타일 기반으로 그려야 정확하다”