Adam Kurali는 Tanglewood Games의 선임 기술 아티스트로, Unreal Engine Niagara 시스템의 성능 최적화에 중점을 둡니다. 이 강연은 기존 콘텐츠의 시스템 틱을 줄이는 상위 수준의 접근 방식을 다룹니다. 🧑💻
Niagara 시스템은 이미터를 포함하는 메인 컴포넌트이며, 사용자 파라미터와 시스템 전반의 스케일러빌리티를 관리합니다. 이미터는 파티클 생성, 시뮬레이션, 렌더링을 담당하며, 상속을 통해 최적화 설정을 전파할 수 있습니다. 🏗️
stat Niagara overview, stat Niagara, stat Niagara systems, stat Niagara emitters와 같은 전용 명령어를 사용하여 Niagara의 CPU(게임 스레드, 워커 스레드) 및 GPU(렌더 스레드) 비용을 스레드별, 시스템별, 이미터별로 상세하게 파악할 수 있습니다. 📊
에디터 전용 툴인 Niagara 디버거는 디버그 HUD를 통해 실시간 성능 수치, GPU 컴퓨트 비용, 스케일러빌리티 상태를 보여주며, 이펙트 아웃라이너는 특정 프레임의 스냅샷을 통해 액터 소유권, 풀링 상태, 숨겨진 시스템의 활성 여부 등을 파악하는 데 유용합니다. 🔍
성능 분석의 '골드 스탠다드'인 Unreal Insights는 stat named events를 활성화해야 Niagara 데이터를 기록할 수 있습니다. 에디터 외부에서도 기록 가능하며, 휴대성이 뛰어나고, 프레임 및 시간 컨텍스트를 제공하여 Niagara가 아닌 다른 요소가 성능 저하의 원인인지 파악하는 데 도움을 줍니다. 📈
'이펙트 타입'은 Niagara 최적화의 핵심 요소로, 텍스처 그룹과 유사하게 동작하며, 행동을 정의하고, 중요도 관리자 역할을 하며, 컬링을 제어하여 성능 스케일러빌리티를 구현하는 데 사용됩니다. ✨