3줄 요약
- 게임프리크의 프로그래머 나리타 후미야와 도쿄대 대학원 종합문화연구과의 가나이 다카시 교수가 2026년 10월 6일 싱가포르에서 열린 국제 학술대회 Pacific Graphics 2026에서 액체 시뮬레이션 논문을 발표했다. 논문 제목은 「Beyond Horizontal Refinement: Extending Quadtree Tall Cells with Adaptive Optical Layers」이며, 일본 게임 매체 AUTOMATON이 10월 22일 이 연구를 소개했다.
- 연구진은 두 선행 기법을 통합한 Extended Quadtree Tall Cells를 제안했다. Quadtree Tall Cells로 수면의 복잡도에 따라 수평 격자의 크기를 조절하면서, Adaptive Optical Layers로 물의 움직임에 맞춰 수면 부근의 세밀 계산 구간 두께를 함께 조절한다. 넓은 수면에 잔물결이 이는 세 가지 실험 장면에서 기존 Quadtree Tall Cells와 비교해 압력 계산은 약 2.5~3.0배, 시뮬레이션 전체는 약 1.5배 빨라졌다.
- 물결이 잔잔해지면 광학 레이어를 만드는 추가 연산이 부담이 되고, 수심이 얕으면 광학 레이어 두께를 실제보다 얇게 잡는 현상이 나타난다. 최고 해상도 격자를 메모리에 유지하느라 메모리 소비도 늘어나서, 연구진은 이 세 가지를 향후 개선 과제로 꼽았다.
수면과 깊은 물속의 계산량을 다르게 배분하는 이유
3차원 컴퓨터 그래픽스에서 액체의 움직임을 계산할 때는 공간을 바둑판 모양의 칸(셀)으로 쪼개는 격자법과 액체를 입자로 다루는 입자법을 주로 쓰며, 두 방식을 결합한 하이브리드 기법도 널리 활용한다. FLIP1이나 APIC2 같은 하이브리드 기법을 쓰면 물보라나 얇은 수막까지 세밀하게 표현할 수 있다. 그러나 계산 공간이 넓어지고 해상도가 높아질수록 유체의 압력을 구하는 단계에서 계산 시간이 급격히 늘어난다.
2006년 어빙(Irving) 등은 이 계산 부담을 줄이려고 Tall Cell(세로로 긴 셀)이라는 격자 구조를 제안했다.3 사람의 눈에 잘 띄는 수면 부근만 촘촘한 균일 격자로 유지하고, 복잡한 물결이 잘 보이지 않는 깊은 물속은 세로로 길게 합친 셀 하나로 대체해 압력 방정식의 미지수 개수를 줄인다. 수면 부근의 촘촘한 격자 구간은 학술 용어로 광학 레이어(optical layer)라고 부른다.
나리타 후미야는 이 구조를 발전시킨 두 가지 선행 연구를 잇달아 발표했다. 2025년 SIGGRAPH에서 발표한 Quadtree Tall Cells는 수면의 파도나 물보라가 복잡한 구간만 수평 방향 격자를 쿼드트리(quadtree)로 잘게 쪼개고, 단조로운 구간은 큰 격자로 두어 계산을 줄였다. 이어서 2026년 가나이 다카시 교수와 함께 발표한 Adaptive Optical Layers는 수면 부근의 광학 레이어 두께를 고정하지 않고, 물의 움직임이 격렬한 곳은 두껍게, 잔잔한 곳은 얇게 조절한다.
두 기법은 각자 약점이 있었다. Quadtree Tall Cells는 빗방울이 수면 전체에 떨어질 때처럼 넓은 범위에 잔물결이나 고주파 진동이 생기는 장면에 약하다. 거의 모든 구간에서 수평 격자를 잘게 쪼개야 해서 속도 개선 폭이 줄어든다. 한편 Adaptive Optical Layers는 광학 레이어 두께를 평가 함수로 정하는데, 이 함수 값이 격자 해상도나 시뮬레이션 공간의 크기에 따라 달라진다. 장면의 크기나 해상도가 바뀌면 기존 파라미터를 그대로 재사용하기 어려웠다.
두 선행 기법의 통합과 세 가지 보완
연구진은 Quadtree Tall Cells에 Adaptive Optical Layers를 통합해 Extended Quadtree Tall Cells를 설계했다. 수평 방향으로는 격자 크기를 조절하고, 수직 방향으로는 광학 레이어 두께를 함께 조절한다.
그림 1. Quadtree Tall Cells 격자에서 공간 적응형 광학 레이어를 생성하는 8단계 절차. (a)~(c)의 붉은색은 국소 운동 비용을, (d)~(h)의 노란색은 광학 레이어로 선택된 격자 셀을 뜻한다. 출처: Narita & Kanai, Computer Graphics Forum (2026), CC BY 4.0
연구진은 두 기법을 통합할 때 생기는 수치 문제를 풀려고 세 가지 보완책을 마련했다.
- 평가 함수의 정규화: 유체 운동량 지표를 바닥에서 수면까지 세로 방향으로 적분하고, 이 값을 전체 계산 공간의 높이로 환산하는 정규화 수식을 도입했다. 정규화한 평가값은 단위가 없는 무차원 수치가 되므로, 격자 해상도나 물리적 공간 크기가 달라져도 같은 기준값으로 광학 레이어 두께를 제어할 수 있다.
- 하이트필드의 공간 평활화: 물의 움직임에 따라 인접한 격자 사이에 광학 레이어 두께가 급격히 달라지면 수치 계산이 불안정해지기 쉽다. 이를 막으려고 최고 해상도 격자에서 광학 레이어를 먼저 만든 뒤, 세로로 긴 셀의 높이를 나타내는 하이트필드(heightfield)를 공간적으로 매끄럽게 고르는 평활화(smoothing) 단계를 추가했다.
- 고정 물체에 맞춘 매립 경계 확장: 기존 Tall Cell 기법은 물속에 기둥이나 벽 같은 고정된 물체가 있으면 그 주변을 일반 격자로 되돌려야 해서 격자 구조가 복잡해졌다. 이번 연구는 세로로 긴 셀을 그대로 두고 매립 경계(embedded boundary) 방식을 적용해, 셀의 각 면이 고체와 겹치는 비율(solid fraction)을 산술 평균으로 구해 압력 계산 행렬에 반영했다.
실험 장면별 성능과 셀 개수 감소 효과
연구진은 AMD Ryzen 9 9950X 프로세서 환경에서 기존 기법(Quadtree Tall Cells)과 제안 기법(Extended Quadtree Tall Cells)을 비교했다. 특히 넓은 수면에 세밀한 물결이 생겨 수평 격자 조절만으로는 속도를 높이기 어려웠던 세 가지 장면에서 큰 차이가 나타났다.
그림 2. 비(Rain) 장면 비교. 8m×8m×8m 공간(유효 해상도 256³)에 물방울이 계속 떨어져 넓은 수면에 잔물결이 생긴다. 왼쪽은 기존 Quadtree Tall Cells, 가운데와 오른쪽은 제안 기법의 격자 구조와 렌더링 화면이다. 출처: Narita & Kanai (2026), CC BY 4.0
비(Rain) 장면은 수많은 공 모양 물방울이 잔잔한 수면 위로 계속 떨어지며 넓은 범위에 잔물결을 일으키는 실험이다. 동물 모양 액체 낙하(Merging Animals)와 체커보드 물기둥(Checkerboard) 장면에서도 수면 전체에 얇은 수막과 물보라가 퍼진다. 세 장면에서 측정한 스텝당 평균 계산 시간과 셀 개수를 비교하면 표와 같다.4
| 실험 장면 (유효 해상도) | 기법 | 평균 셀 개수(만 개) | 스텝당 압력 계산(초) | 스텝당 전체 계산(초) |
|---|---|---|---|---|
| 비 (256³) | Quadtree Tall Cells | 193.9 | 9.006 | 16.093 |
| 비 (256³) | 제안 기법 (Extended) | 63.6 | 2.576 | 9.825 |
| 동물 모양 액체 낙하 (320³) | Quadtree Tall Cells | 208.5 | 13.220 | 22.950 |
| 동물 모양 액체 낙하 (320³) | 제안 기법 (Extended) | 69.6 | 3.942 | 14.424 |
| 체커보드 물기둥 (320×256×320) | Quadtree Tall Cells | 227.0 | 14.242 | 25.026 |
| 체커보드 물기둥 (320×256×320) | 제안 기법 (Extended) | 98.1 | 5.576 | 16.735 |
수면 전체가 복잡하게 출렁이는 세 장면에서 제안 기법은 전체 셀 개수를 기존 기법의 3분의 1에서 절반 사이로 줄였다. 가장 큰 병목이던 압력 계산은 약 2.5~3.0배, 시뮬레이션 전체는 약 1.5배 빨라졌으며, 렌더링된 수면의 시각적 품질은 기존 기법과 거의 같게 유지됐다.
물 붓기(Pouring) 장면은 여러 노즐에서 물을 계속 쏟아부어 수위가 차오르는 실험이다. 이 장면에서는 균일한 크기의 셀을 쓰는 기존 방식(Uniform)도 함께 비교했다. 균일 격자는 격자를 다시 짜는 과정이 없어 시작 직후에는 가장 빠르다. 그러나 수위가 올라갈수록 계산할 셀이 불어나 스텝당 계산 시간이 25초 이상까지 계속 늘어난다. 반면 기존 Quadtree Tall Cells와 제안 기법은 수위가 올라가도 스텝당 계산 시간이 10초 안팎에서 일정하게 유지된다. 중반 이후에는 광학 레이어 두께를 조절하는 제안 기법이 계산 시간을 한결 더 줄였다. 기둥과 경사면이 있는 댐 붕괴(Breaking Dam) 장면은 물결의 움직임이 비교적 단순해, 스텝당 평균 계산 시간이 4.7초에서 4.6초로 줄어드는 데 그쳤다.5
그림 3. 물 붓기(Pouring) 장면(2m×2m×2m, 유효 해상도 256³). 왼쪽과 가운데는 제안 기법의 반투명 렌더링 결과이고, 오른쪽 그래프는 스텝 진행에 따른 계산 시간을 보여 준다. 출처: Narita & Kanai (2026), CC BY 4.0
논문이 밝힌 한계와 『포켓몬스터』 신작 예고
연구진은 논문의 논의 부분에서 현재 구현의 한계 세 가지를 밝혔다.
- 물결이 잠잠해진 구간의 추가 부하: 수면의 출렁임이 잦아들면 기존 기법만으로도 충분한데, 광학 레이어 두께를 계산하고 생성하는 부하(스텝당 0.12~0.19초) 때문에 전체 계산 시간이 근소하게 길어지는 구간이 생긴다. 연구진은 수면의 활성 세분화 비율에 따라 두 기법을 동적으로 전환하는 방안을 제시했다.
- 얕은 수심에서의 두께 과소평가: 물 붓기 초반처럼 수심이 얕을 때는 전체 공간 높이로 정규화한 평가 함수가 광학 레이어 두께를 얇게 잡아 수면 모양에 미세한 차이가 생길 수 있다. 전체 공간 높이 대신 각 기둥의 실제 수심이나 평균 수심으로 정규화하면 개선할 수 있다.
- 최고 해상도 격자 할당으로 인한 메모리 증가: 계산 셀 개수는 크게 줄었지만, 광학 레이어 확장과 높이 평활화를 최고 해상도 격자에서 수행해 메모리 소비가 기존 기법보다 늘어난다. 계층 격자에서 직접 광학 레이어를 생성하는 것이 향후 과제다.
AUTOMATON은 기사 말미에서 『포켓몬스터 윈드』와 『포켓몬스터 웨이브』를 언급했다. 나리타 후미야가 다니는 게임프리크가 2027년 출시를 목표로 개발 중인 시리즈 완전 신작이며, 광대한 바다를 품은 새로운 지방이 무대로 예고됐다. 이번 논문이 신작과 직접 관련된다는 공식 언급은 없으나, 게임프리크 소속 연구자가 수면 품질을 유지하며 계산 부하를 줄이는 연구를 이어 가고 있다는 점은 눈여겨볼 만하다.
가장 인상 깊었던 대목
물 붓기 실험의 시간 그래프(그림 3 오른쪽)를 보며 수위가 차오를 때 계산 비용이 어떻게 달라지는지 다시 생각하게 됐다. 균일 격자에서는 물의 부피에 비례해 계산 시간이 정직하게 늘어난다. 실시간 시뮬레이션이나 게임에서 가장 까다로운 문제는 평균 계산 시간이 긴 것보다, 화면 속 상황에 따라 프레임 시간이 예측하기 어렵게 치솟는 일이다.
Tall Cell 계열 기법은 물이 깊어져도 시선이 머무는 수면 부근에만 계산 자원을 집중하고 깊은 물속은 긴 기둥 하나로 묶어 버린다. 그 덕분에 수조에 물이 가득 차올라도 스텝당 계산 시간 그래프는 평탄한 수평선을 그린다. 제안 기법은 여기에 수평 격자 세분화와 수직 두께 조절을 함께 적용해 수면 전체에 비가 내리는 조건까지 감당해 냈으며, 현업 게임 프로그래머와 대학 연구실의 공동 연구다운 실용적인 문제의식을 잘 보여 준다.
출처
발신: AUTOMATON / Shion Kaneko (2026-10-22) 원문: https://automaton-media.com/articles/newsjp/20261022-475027/
원 논문:
- Fumiya Narita (Game Freak), Takashi Kanai (The University of Tokyo). “Beyond Horizontal Refinement: Extending Quadtree Tall Cells with Adaptive Optical Layers.” Computer Graphics Forum (Pacific Graphics 2026), 2026. https://graphics.c.u-tokyo.ac.jp/archives/pg2026narita.pdf (CC BY 4.0)
FLIP(Fluid-Implicit-Particle)은 유체의 속도와 운동량을 입자에 저장해 함께 이동시키고, 압력은 격자에서 계산해 수치적 손실을 줄이는 하이브리드 유체 시뮬레이션 기법이다. ↩︎
APIC(Affine Particle-in-Cell)은 입자마다 속도뿐 아니라 국소적인 아핀(affine) 속도 행렬을 함께 저장해, 입자와 격자 사이에 정보를 주고받을 때 각운동량과 회전 움직임을 보존하는 기법이다. ↩︎
어빙 등은 2006년 원 논문에서 광학 레이어의 두께를 전체 시뮬레이션 공간 높이의 4분의 1로 두면 균일 격자 시뮬레이션과 비슷한 시각적 품질을 얻을 수 있다고 보고했다. 이후 2011년 첸타네즈(Chentanez)와 뮐러(Müller)가 이를 GPU 구현에 맞게 단순화해 실시간 물 시뮬레이션에 적용했다. ↩︎
실험 프로세서 사양(AMD Ryzen 9 9950X)과 표의 세부 수치(해상도, 셀 개수, 스텝당 시간)는 원 논문 4절과 Table 1, Table 2에서 보충했다. 원 논문 본문과 AUTOMATON 기사는 압력 계산 가속 폭을 약 2.5~3.0배로 요약했으며, Table 1의 스텝당 평균 압력 계산 시간만 단순 비교하면 체커보드 2.55배, 동물 모양 액체 낙하 3.35배, 비 3.50배다. ↩︎
댐 붕괴 장면(3m×2m×1m, 유효 해상도 384×256×128)의 구체적인 스텝당 계산 시간(4.7초에서 4.6초)은 원 논문 4.1절에서 보충했다. ↩︎
