LeafFit: 3D 가우시안 스플래팅을 활용한 식물 자산 자동 생성
초록
LeafFit은 3D Gaussian Splatting(3DGS)으로 촬영된 단일 식물을 자동으로 잎 단위 인스턴스로 분할하고, 하나의 얇은 템플릿 메쉬를 추출한 뒤 차별화 가능한 Moving Least Squares(MLS) 변형으로 모든 잎에 적용한다. 변형 파라미터만 저장하고 정점 셰이더에서 실시간 복원함으로써 메모리 사용량을 크게 줄이고, 게임 엔진에 바로 사용할 수 있는 편집 가능한 메쉬 자산을 제공한다.
상세 분석
LeafFit은 3DGS가 제공하는 고해상도 가우시안 프리미티브를 그대로 활용하면서, 게임 제작 파이프라인이 요구하는 명시적 메쉬와 텍스처 형태로 변환한다는 점에서 혁신적이다. 핵심은 두 단계의 인스턴스화 전략이다. 첫 번째는 지오데식 거리 기반 자동 잎 분할이다. 사용자가 식물의 뿌리 가우시안을 선택하면 열전도식 히트 전파를 이용해 모든 프리미티브에 거리값 D_r을 할당하고, 거리값의 지역 최대점(leaf apex)을 탐지한다. 가우시안 분포가 비균일하게 배치되는 경우를 보완하기 위해, 전체 프리미티브 집합 G에서 최장점 샘플링(Farthest Point Sampling)으로 균일한 서브셋 (\bar G)를 추출하고, 이 서브셋 위에서 로컬 최대를 찾는다. 이렇게 하면 잡음에 강인한 잎 경계가 확보된다. 두 번째 단계는 사용자가 선택한 대표 잎(L_t)을 템플릿으로 삼아, Ball Pivoting Algorithm(BPA)으로 얇고 날카로운 삼각 메쉬 M=(V,F)를 재구성한다. BPA는 가우시안 중심 좌표와 공분산을 활용해 실제 잎의 얇은 구조를 보존하면서 과도한 정점 수를 억제한다.
템플릿 메쉬는 이후 차별화 가능한 Moving Least Squares(MLS) 변형에 입력된다. 각 잎 L_j마다 제어점 집합 C_j를 정의하고, 템플릿 제어점 C_t와 C_j 사이의 대응을 최소 제곱 오차로 최적화한다. MLS 변형장은 (\Phi_j)로 표기되며, 이는 템플릿 정점 V를 실시간으로 변형시켜 목표 잎 형태를 재현한다. 중요한 점은 변형 파라미터(제어점 위치)만을 저장하고, 실제 정점 좌표는 GPU의 정점 셰이더에서 (\Phi_j)를 적용해 즉석에서 계산한다는 것이다. 따라서 전체 데이터 크기는 템플릿 메쉬(수천 정점)와 각 잎당 몇 개의 제어점(수십 개)으로 압축된다. 실험 결과, LeafFit은 기존 암시식 서피스 추출(예: Marching Cubes) 대비 10배 이상 메모리를 절감하고, FPS가 900~14 000 수준으로 크게 향상된다. 또한, 정량적 평가에서 자동 잎 분할 정확도와 MLS 변형 정확도가 최신 베이스라인보다 우수함을 보였다.
이러한 설계는 학습 데이터가 필요 없는 비지도 방식이며, 사용자가 직접 제어점을 조정하거나 수동 세분화를 삽입할 수 있는 인터랙티브 fallback을 제공한다는 점에서도 실용적이다. 결과적으로 LeafFit은 고품질 식물 모델을 게임 엔진에 바로 투입할 수 있는 경량 메쉬 자산으로 전환함으로써, 기존 3DGS 기반 파이프라인이 직면하던 메모리·편집·실시간 제약을 효과적으로 해소한다.
댓글 및 학술 토론
Loading comments...
의견 남기기