오프로드 시뮬레이션 게임의 사실성은 엔진이 차량과 지면 사이의 물리적 상호작용을 해석하는 방식에 거의 전적으로 달려 있습니다. Swarm Engine을 기반으로 개발된 SnowRunner는 실시간으로 반응하는 체적 지형 변형 시스템을 통해 이러한 전제를 극한으로 끌어올립니다. 정적 텍스처를 적용하는 일반 엔진과 달리 Swarm은 정점 변위와 유체 입자를 계산하여 차량 물리와 일관되게 진흙, 눈, 물을 시뮬레이션합니다.
체적 변형 및 실시간 유체 🚜
시스템의 핵심은 입자 물리 솔버와 결합된 동적 높이 맵의 사용에 있습니다. 트럭의 각 타이어는 고해상도 지형 메시에 압력을 가하여 엔진이 침식이나 추가 중량으로 재계산할 때까지 지속되는 바퀴 자국을 생성합니다. 물과 진흙은 비뉴턴 점성 유체로 모델링됩니다. 진흙은 바퀴의 토크가 액화시킬 때까지 고체처럼 행동하는 반면, 압축된 눈은 시뮬레이션된 온도에 따라 밀도와 마찰 계수를 변경합니다. 이 과정은 지형 형상을 지속적으로 업데이트해야 하며, Swarm Engine은 플레이어 근처 영역을 우선시하고 먼 영역의 계산을 줄여 몰입감을 희생하지 않는 LOD(Level of Detail) 시스템을 통해 이를 최적화합니다.
3ds Max와 ZBrush 간의 워크플로우 🎨
이 동적 지형과 상호작용하는 에셋을 생성하기 위해 팀은 3ds Max를 사용하여 차량과 구조물의 기본 모델링을 수행하여 엔진에 최적화된 깔끔한 토폴로지를 보장합니다. ZBrush는 부착된 진흙, 움푹 들어간 곳 또는 마모 텍스처와 같은 고주파 디테일을 조각하는 데 사용되며, 이후 법선 맵과 변위 맵으로 베이크됩니다. 이 조합을 통해 Swarm Engine은 조각된 형상과 변형 가능한 지형 사이의 정확한 충돌을 처리하여 진흙이 타이어와 섀시에 유기적으로 축적되도록 하여 오프로드 시뮬레이션의 사실성 기준을 높입니다.
Swarm Engine이 SnowRunner의 성능이나 물리적 동작의 정확성을 손상시키지 않으면서 실시간으로 지형 변형을 관리하는 방법
(참고: 셰이더는 마요네즈와 같습니다. 분리되면 처음부터 다시 시작해야 합니다) 🛞