펄어비스x경희대 소프트웨어융합학과 인재양성 프로그램 2차
프로젝트 동기
- 게임 속 물리 연산은 비용이 크다.
- 물리 연산을 한정적으로 사용하거나 Baked Physics Animation 등을 이용한다.
- Animation을 실시간 물리 연산을 대신하여 사용하는 것은 제한 사항이 많다.
- 이러한 제한 사항을 극복하고 물리 장면의 부담을 줄여 복잡하고 화려한 연출의 Artistic Freedom을 주고자 하였다.
사용 기술
Runtime Physics Baking
게임 진행 중에 복잡한 물리 장면을 미리 연산하여 저장/재생하여 폭발 장면에서의 성능을 향상합니다.
- Unreal Engine 5에 PhysX 3.4 연동
- Collision Aggregate/Mesh Generation
- Physics Event System, Scene Controller
Simulate on Demand
재생 중인 물체들 중 플레이어 등의 동적 물체들과 충돌할 가능성이 있는 것들을 선택적으로 실시간 시뮬레이션으로 대치하여 부자연스럽지 않게 처리합니다.
- Spatial Hashing
- AABB Collision Check
Physics LoD
멀리 있어 눈에 잘 띄지 않는 장면들에 대해 Physics Scene을 분리하고 정확도와 프레임레이트를 낮추고 계산하여 성능을 향상합니다.
Automated Tests & Metrics
테스트를 자동으로 수행하고 평균 프레임, 소요시간 등의 성능 지표를 수집하는 도구를 구현하여 개발과 테스트에 소요되는 시간을 단축하였습니다.