Unity/TA&Development

[최적화] Skinned Mesh Animation VS Mesh Animation

김성인 2024. 1. 30. 21:52

[최적화] Skinned Mesh Animation VS Mesh Animation

 

 

테스트 계기

  • 퀘스트를 진행하다 보면 특정 바위를 파괴해야 들어갈 수 있는 동굴이 존재하는데, 이때 바위가 파괴되는 연출을 위하여 애니메이션을 만드는데, 맥스에서 skin과 단순하게 Link를 이용하여 작업할지에 대하여 퍼포먼스적으로 어떤 것이 이익일지 검증을 하고 싶었다.

 

테스트 환경

  • 갤럭시 S 10
  • Unity 2022.3.6

 

테스트 목적

  • 모바일 디바이스에서 스킨드 메쉬와 링크 애니메이션의 퍼포먼스 비교를 통하여 최적화에 유리한 방식으로 작업을 하기 위함.

 

테스트 방식

  • 화면에 512개의 동일한 오브젝트와 각 애니메이션 방식만 다르게 하여 체크
  • 그 외에 어떠한 영향을 주지 않기 위하여, Light, Post-processing 등을 제거하여 다른 변수를 제거한다.

 

테스트 결과

  •  No Skinned Mesh : 33ms / 30FPS

  • Skinned Mesh : 280-330ms / 4FPS

 

테스트 결론

  • 간단 프랍이 파괴되는 등의 연출, Skinned Mesh를 사용하지 않아도 되는 경우, 꼭 사용하지 말자.

 

테스트 후기

  • 애니메이션 쪽 작업에 대하여 잘 알면 이것 외에도 여러 가지 테스트도 해보고, 워크 플로도 빠르게 정리할 수 있을 텐데, 그렇지 못함.
  • Skinned Mesh 쪽에서 SRP가 어떤 식으로 작동하고, 어떻게 작업해야 최적화에 도움이 될지 알아보아야겠다.
  • 애니메이터 분의 조언으로 더미에 링크를 걸어 엔진에 넣었는데, 이 과정 없이 메쉬에 애니메이션이 잡히고 엔진에서도 잘 작동하는 것 같으니, 이것도 함께 테스트해 봐야겠다.