[Unity] 모바일 앱을 위한 파티클 시스템 최적화 요약

원문: Unity learn, Optimizing Particle Effects for Mobile Applications, https://learn.unity.com/tutorial/optimizing-particle-effects-for-mobile-applications#

요약: lunchballer


확인해 보아야 할 것들

  • 파티클의 높은 밀집도
    • 픽셀이 겹쳐져서 overdraw될 수 있다. 밀집이 심하지 않은지 확인할 것
  • 엄청난 수의 파티클 개수
    • 많은 파티클로 인해 렌더링 비용이 많이 든다. 개수 조정하고, 이미지 수정으로 비슷한 효과를 내도록 하라.
  • 엄청난 수의 파티클 콜라이더 개수
    • 물리 연산량이 많아져서 프레임 저하, 과열을 발생 시킨다
스모크 파티클 최적화 예시
  • 1000개의 max 파티클 카운트를 35로 바꾸어도 보기에 큰 지장을 주지 않는다.
  • Angle 을 바꿔 두께감을 표현해준다.
  • 커브의 급격한 변화를 줄이고 부드러운 곡선으로 만들어 계산량을 줄인다.
  • Render 모듈에서 Cast Shadows를 Off로 한다.

성능 개선 팁

  • 평균적으로 한 프레임에 2ms 정도 파티클을 위한 예산으로 한다. 파티클의 표현 중요도에 따라 약간 다를 순 있다.
  • 가능하면 Unlit 이펙트를 사용하라. 셰이더를 잘 선택하라.
  • 동적 배칭을 사용하라. 드로우콜을 크게 줄일 수 있다.
  • 텍스쳐들을 하나의 아틀라스와 메터리얼로 만들라. 프레임 애니매이션을 같은 사이즈로 만들어라.
  • 화면에 보이지 않을 때 컬링하도록 하라.
  • Emission을 일정하게 유지하고, 최적화된 곡선을 사용하라.

Leave a Reply

Your email address will not be published. Required fields are marked *