실시간 물 시뮬레이션, 비교불가 디테일 구현
- 현실적인 물결 시뮬레이션과 효율적 컴퓨팅 간 격차 해소하는 새로운 모델
- 파동을 서로 다른 물리적 파라미터로 인코딩해 큰 해상도에서 작은 디테일 시뮬레이션
- 게임, 영화, 가상현실 프로그램 역량 강화에 활용 가능
기존 물 또는 파동 시뮬레이션 방법은 현실적 효과 또는 빠른 계산 중 하나만 제공할 뿐, 둘을 동시에 최적화할 수 없습니다. 이동하는 물체와의 상호작용과 환경 상호작용을 위한 유한 요소 방법이 부족합니다.
이제 오스트리아 과학기술연구소(IST Austria)와 엔비디아(NVIDIA) 연구진이 주변 환경과의 복잡한 상호작용을 실시간으로 재현해 이 격차를 해소하는 새로운 기술을 개발했습니다.
장애물과의 파동 상호작용을 시뮬레이션하면서 미세한 디테일을 보존하고 매우 큰 장면을 수용합니다. 이 시뮬레이션은 저해상도에서도 지터드 위상(jittered phases)이 혼돈스러운 바람, 물보라, 부유 물질 같은 노이즈 파동 소스에 더 적합하듯 고주파 파동의 집합적 움직임을 특징으로 합니다.
작동 원리
기존 파동 시뮬레이션 기술은 '수치적(Numerical)' 또는 '푸리에 기반(Fourier-based)' 방법을 사용합니다. 수치적 방법은 다양한 효과를 디테일하게 생성할 수 있는 반면, 푸리에 기반 방법은 계산 리소스를 덜 사용해 훨씬 효율적입니다. 이 방법들로 킬로미터 길이의 디테일한 장면과 정밀한 환경 상호작용을 생성하는 건 사실상 불가능합니다.
파동의 계산 속도를 높이기 위해 새 모델은 파동 운동량과 높이를 모든 지점에서 이산화하는 대신, 방향과 주파수 함수로서 파동 진폭을 이산화합니다.
실시간 애니메이션 프레임 | 크레딧: Stefan Jeschke
팀은 주파수, 방향, 공간을 결합한 함수로서 파동 진폭을 이산화하는 웨이블릿 변환(wavelet transformation)을 만들었습니다. 결과 변수는 공간에 따라 점진적으로 변하며, 기존 방법에서 사용하는 파동 높이 함수와 같은 데이터 양을 더 적은 변수로 표현합니다.
또한 나이퀴스트 한계(Nyquist limit) 같은 기존 주파수 기반 제약에 덜 민감합니다. 이는 최대 공간 주파수를 단계 크기와 그래픽 디테일로 변환합니다. 따라서 이 방법은 국소적 파동 상호작용과 고해상도 파동 디테일 모두를 허용합니다.
이 국소 주파수 기반 진폭을 공간을 통해 전파하는 새로운 방정식을 만들었습니다. 방정식은 그래픽 하드웨어에서 병렬 구현 가능한 단순한 2차원 확산과 이류(advection) 연산을 출력합니다.
참조: ASL DL | doi:10.1145/3197517.3201336 | IST Austria
확장 및 응용
연구진은 양방향 고체-유체 커플링(two-way solid fluid coupling)과 사전 설계된 파동 경로 등 몇 가지 기본 시뮬레이터 확장을 개발했습니다. '웨이브 페인터(wave-painter)'라는 도구도 설계했는데, 이는 드로잉 소프트웨어의 페인트브러시처럼 작동합니다.
아티스트가 자연(물리)을 스크립트된 모션으로 덮어쓰고 커스텀 장면을 쉽게 만들 수 있게 합니다. 예를 들어 특정 위치의 파동 높이를 높이는 데 사용할 수 있습니다.
이 시뮬레이션을 쉽게 구성하고 바다, 강 같은 끊임없이 변화하는 환경의 물 흐름을 모델링할 수 있습니다. 이 모델은 게임, 영화, 가상현실 프로그램의 역량을 단순화하고 확장할 수도 있습니다.
참고: 양자 컴퓨터에서 원자핵 최초 시뮬레이션
연구진은 더 일반적인 높이 기반 분산 관계(dispersion relation)를 다루도록 작업을 확장할 계획입니다. 이는 얕은 물 근처에서 더 나은 굴절 효과를 생성할 것입니다.