해당 게임에 사용할 에셋들을 정할 때 고민한 점을 정리하고 결정한 에셋들을 정리하려고 한다.
1. 에셋을 고를 때 주의점
1.1. 최적화된 에셋을 찾는 방법에 대한 정리
2. 고른 에셋들
3. 결론 및 고민 사항
1. 에셋을 고를 때 주의점
내가 생각하는 에셋을 고를 때 고민해야 할 사항들을 간단히 정리해 보았다.
(리깅, 애니메이션 관련 부분은 크게 인간 캐릭터를 사용할 경우 중요도가 높아질 것 같지만, 현재는 인간 캐릭터를 사용하지 않을 계획이어서 해당 부분의 중요도가 조금 줄어들 것이라 생각된다.)
* 최적화가 되어 있는 에셋을 고르자.
- 뱀서라이크 게임은 오브젝트가 많이 등장하는 게임이므로 최적화된 에셋이어야 한다.
= 폴리곤 수가 너무 많거나 고해상도 텍스쳐는 성능에 영향을 많이 주기 때문에 필자는 로우폴리 에셋을 사용하기로 하였다.
* 애니메이션 상태
- 캐릭터, 적의 움직임이 많아서 애니메이션이 충분히 적용되어있는지 확인하고, 루프가 매끄럽게 이어지는 것이 중요하다.
* 컬러 및 라이팅 호환성
- 에셋이 게임의 환경 조명과 자연스럽게 어우러져야 한다.
= HDRP / URP와 호환되는 에셋을 사용하거나, 섀도우 / 컬러 조절이 쉬운 에셋을 고르는 것이 좋아보인다.
* 리깅 및 커스터마이징 가능성
- 캐릭터, 몬스터는 리깅이 잘 되어 있어야 커스터마이징과 새 애니메이션 추가가 용이하고, 무기 같은 장비는 교체 가능한 구조를 갖춘 에셋이 활용도가 높다.
* 사운드 및 파티클 효과
- 적 처치, 아이템 획득, 능력 발동 시 효과를 줄 수 있는 사운드와 파티클이 포함된 에셋이면 좋다.
= 사운드가 포함된 파티클을 중점적으로 선택하되, 파티클도 많이 사용되는 오브젝트 중 하나여서 전체적인 에셋 분위기에 맞게 로우폴리로 가져갈 생각이다.
* 상업적 사용 가능 여부 확인
- 상업적으로 사용 가능한지 라이센스 여부를 확인한다.
= 현재 개발할 게임은 유니티 에셋스토어에서 제공하는 무료 에셋을 사용할 것 같고, 상업적 용도가 담긴 게임이 아니어서 해당 부분은 상대적으로 중요도가 낮다고 생각된다.
1.1. 에셋의 최적화 여부 확인 방법
에셋의 최적화 여부를 확인하기 위해 생각나는 확인 방법을 간단히 정리해보았다.
* 폴리곤 및 버텍스 수 확인
- 모델
= 유니티 에디터-모델을 통해 인스펙터에서 폴리곤 및 버텍스 수를 확인 가능하다.
= 일반적으로 복잡한 캐릭터는 5000폴리곤 이하, 간단한 오브젝트는 1000폴리곤 이하를 주로 사용한다.
- LOD(Level of Detail)
= LOD가 지원되는 모델인지 확인해야 한다.
(LOD : 오브젝트의 거리-카메라 각도에 따라 폴리곤 수를 줄이는 기능으로, 멀리 있는 오브젝트의 렌더링 부하를 줄여준다.)
* 텍스쳐 해상도 및 용량 확인
- 해상도
= 게임 스타일에 맞춰 저해상도 텍스쳐(512x512, 1024x1024)를 고려하고, 텍스쳐 압축 형식을 사용해 메모리 사용량을 줄인다.
- 압축
= 유니티에서 텍스쳐 선택 후 인스펙터에서 압축 옵션 확인 및 압축 방식 조정이 가능하다.
= 일반적으로 모바일은 ASTC, PC/콘솔은 DXT 형식을 사용한다고 한다.
* 애니메이션 최적화
- 프레임 수 조정
= 유니티의 Animation Compression을 사용해 프레임 수가 필요 이상으로 높아 CPU에 부하가 많이 가는 경우 프레임 최적화가 가능하다.
- 루프 체크
= 애니메이션 루프가 매끄럽지 않은 경우 CPU가 불필요하게 애니메이션 전환을 처리하므로, 매끄럽게 이어지도록 한다.
* 셰이더
- 복잡한 셰이더는 GPU 부하가 높아지므로 모바일 셰이더, Unlit 셰이더(빛의 영향을 받지 않음) 등을 사용하는지 확인한다.
- HDRP, URP에 최적화되어 있는지도 확인한다.
* 파티클 시스템
(파티클 시스템은 위에 설명되어 있으므로 생갹하겠다.)
* CPU 및 메모리 프로파일링
- 유니티 에디터-Profiler를 열어 에셋의 CPU, GPU부하를 직접 테스한다.
- 많은 적이나 파티클이 있는 상황에서 프레임 타임, 메모리 점유율을 확인해 부담이 되는 에셋을 확인한다.
1.2. 적절한 사운드 에셋의 기준
생각해보니 게임에 사운드도 들어가야 해서 사운드 에셋을 어떻게 정할지에 대한 고민이 다시 생겨서 기록해본다.
그러므로 에셋을 고를 때 조건을 정리하면 다음과 같다.
- 캐릭터, 적, 아이템, 파티클 시스템
= 로우 폴리로 선택한다.
= LOD가 적용되어있는 에셋을 고른다.
= Unlit Shader를 적용 가능하고, URP에 최적화되어야 한다. (Unlit 셰이더를 사용할 계획이기 때문이다.)
= 텍스쳐를 확인하고, PC 게임이므로 DXT 형식으로 압축한다.
= 애니메이션 루프가 자연스러운지 확인한다. (선택)
= 유니티 프로파일러를 사용해 해당 에셋의 수가 굉장히 많아졌을 때 CPU, GPU부하가 얼마나 되는지 확인 후 에셋을 선택한다.
- 사운드 에셋