UE5의 카오스 씬 쿼리와 리지드 바디 엔진

피직스 엔지니어링 디렉터 Michael Lentine

목표

언리얼 엔진 5.0에서는 피직스 엔진 카오스가 디폴트 피직스 엔진으로 제공됩니다. 이를 통해 에픽 및 게임 산업 전반에서 피직스 기술을 발전시키고 네트워크 피직스, 대규모 월드 좌표, 비히클, 디스트럭션과 같은 영향력 높은 시스템을 구축할 수 있습니다. 또한, 언리얼 엔진 4와 동일한 퍼포먼스로 이전의 모든 리지드 바디 피직스 사용 사례를 완벽하게 지원하는 것을 목표로 합니다.

에픽은 UE5를 출시하기 전까지 상당량의 테스트를 진행했으며 퍼포먼스 향상을 최우선 순위로 삼았습니다. 놀라운 향상을 이룬 사례도 일부 있지만, 배정밀도 플로트를 사용하는 대규모 월드 좌표 지원과 같은 기능으로 인해 발생하는 추가 비용을 해결하는 일이 아직 남아있습니다. 이 블로그에서는 UE 5.0 피직스의 현재 상태와 5.1 버전을 위한 개발 진행 상황에 대해 안내합니다. 개발 현황을 평가하기 위해, UE4의 디폴트 피직스 엔진인 PhysX 3를 사용하는 LWC(대규모 월드 좌표) 지원 전 언리얼 엔진 5.0의 사전 출시 버전(청록색 컨피규레이션)과, 카오스를 사용하는 언리얼 엔진 5.0 버전(파란색 컨피규레이션)의 테스트 빌드를 비교해보았습니다.

다음과 같이 세 가지 사례를 대상으로 테스트를 실시했습니다. 첫 번째는 동적으로 시뮬레이션된 컨벡스 오브젝트 512개를 회전 컨벡스 오브젝트에 배치한 텀블러 테스트입니다. 두 번째는 래그돌 64개를 평평한 컨벡스 평면 위에 떨어뜨린 래그돌 테스트입니다. 세 번째는 월드에 스태틱 오브젝트 10만 개를 배치한 복잡한 지형을 이용한 테스트로, 다이내믹 컨벡스 오브젝트 512개를 하이트필드 지형에 떨어뜨렸습니다. 각 테스트를 실시하는 동안, 월드에서 수행된 씬 쿼리의 각 유형과 솔버의 퍼포먼스를 측정했습니다.

이 문서에서는 리지드 바디와 씬 쿼리만 다룹니다. UE 5.0의 피직스에는 클로스 다이내믹, 헤어 다이내믹, 플루이드 다이내믹 시스템도 포함됩니다. 각 시스템에 대한 자세한 내용은 UE 5.0 문서를 참조하세요.

씬 쿼리

씬 쿼리에는 스윕, 오버랩, 레이캐스트가 있습니다.

스윕

텀블러 테스트(평균 시간: 청록색 컨피규레이션 - 11.64ms, 파란색 컨피규레이션 - 4.42ms)
카오스 씬 쿼리 언리얼 엔진 5 씬 쿼리 텀블러 테스트

래그돌 테스트(평균 시간: 청녹색 컨피규레이션 - 0.05ms, 파란색 컨피규레이션 - 0.07ms)
카오스 씬 쿼리 언리얼 엔진 5 오버랩 래그돌 테스트

랜드스케이프 테스트(평균 시간: 청녹색 컨피규레이션 - 0.55ms, 파란색 컨피규레이션 - 0.13ms)
카오스 씬 쿼리 언리얼 엔진 5 스윕 랜드스케이프 테스트

오버랩

텀블러 테스트(평균 시간: 청녹색 컨피규레이션 - 2.09ms, 파란색 컨피규레이션 - 2.58ms)
카오스 씬 쿼리 언리얼 엔진 5 오버랩 텀블러 테스트

래그돌 테스트(평균 시간: 청녹색 컨피규레이션 - 0.03ms, 파란색 컨피규레이션 - 0.04ms)
카오스 씬 쿼리 언리얼 엔진 5 오버랩 래그돌 테스트

랜드스케이프 테스트(평균 시간: 청녹색 컨피규레이션 - 1.76ms, 파란색 컨피규레이션 - 2.76ms)
카오스 씬 쿼리 언리얼 엔진 5 오버랩 랜드스케이프 테스트

레이캐스트

텀블러 테스트(평균 시간: 청녹색 컨피규레이션 - 0.21ms, 파란색 컨피규레이션 - 0.18ms)
카오스 씬 쿼리 언리얼 엔진 5 레이캐스트 텀블러 테스트

래그돌 테스트(평균 시간: 청녹색 컨피규레이션 - 0.04ms, 파란색 컨피규레이션 - 0.06ms)
카오스 씬 쿼리 언리얼 엔진 5 레이캐스트 래그돌 테스트

랜드스케이프 테스트(평균 시간: 청녹색 컨피규레이션 - 0.34ms, 파란색 컨피규레이션 - 0.67ms)
카오스 씬 쿼리 언리얼 엔진 5 레이캐스트 랜드스케이프 테스트

리지드 바디 시뮬레이션

퍼포먼스

텀블러 테스트(평균 시간: 청녹색 컨피규레이션 - 3.17ms, 파란색 컨피규레이션 - 4.76ms)
카오스 씬 쿼리 언리얼 엔진 5 리지드 바디 텀블러 테스트

래그돌 테스트(평균 시간: 청녹색 컨피규레이션 - 5.30ms, 파란색 컨피규레이션 - 8.18ms)
카오스 씬 쿼리 언리얼 엔진 5 리지드 바디 래그돌 테스트

랜드스케이프 테스트(평균 시간: 청녹색 컨피규레이션 - 10.82ms, 파란색 컨피규레이션 - 5.34ms)
카오스 씬 쿼리 언리얼 엔진 5 리지드 바디 랜드스케이프 테스트

안정성

다양한 기능을 구현하면서 추가된 연산을 보완하기 위해 퍼포먼스 측면에서 아직 할 일이 있지만, 기능상 이점뿐만 아니라 안정성 면에서도 향상된 다양한 기능을 사용해 볼 수 있습니다.

UE5 버전:
카오스 씬 쿼리 언리얼 엔진 5 카오스

UE4 버전:
카오스 씬 쿼리 언리얼 엔진 5 Physx

향후 계획

저희는 복잡한 대형 랜드스케이프 씬에서의 레이캐스트와 오버랩, 그리고 매우 동적인 씬에서의 컨벡스 리지드 바디 시뮬레이션의 향상에 초점을 맞추고 있습니다. 레이캐스트와 오버랩을 모두 사용할 경우 비용의 대부분은 가속 구조체의 퀄리티와 배정밀도로 인한 추가 비용이 차지하게 됩니다. 예를 들어, 다음은 가속 구조체 검색 없이 직접 트레이스했을 때 청녹색 컨피규레이션(0.22ms)과 파란색 컨피규레이션(0.15ms)의 랜드스케이프 테스트 결과 비교입니다.

카오스 씬 쿼리 언리얼 엔진 5 향후 계획

이는 구조체의 퀄리티에 따라 결과가 상당히 달라질 수 있음을 의미하지만, 현재는 맵의 모습에 관계없이 가속 구조체의 사용을 가속화하는 데 집중하고 있습니다. 매우 동적인 컨벡스 씬에서 가장 큰 부담이 되는 점 두 가지는 가속 구조체 검색과 캐시 코히어런트(cache-coherent) 포맷의 데이터 수집입니다. 데이터 전송에 대해서는 데이터 전송의 속도를 최적화하는 데 초점을 맞추고 있습니다. 이외에도 앞서 소개한 두 가지 작업보다 우선순위는 낮지만 알고리즘의 다중 스레드 버전을 최적화하는 데 더 많은 시간을 투입할 것입니다. 다중 스레드 플랫폼에서 두 솔버가 비슷하게 확장되기는 하나 5.1에서는 병렬화 수준을 더욱 끌어올리는 데 집중할 계획입니다.

    지금 언리얼 엔진을 다운로드하세요!

    세계에서 가장 개방적이고 진보된 창작 툴을 받아보세요.
    모든 기능과 무료 소스 코드 액세스를 제공하는 언리얼 엔진은 제작에 바로 사용할 수 있습니다.