텍스쳐
==================================================
임포트 설정 :
1. Read/Write
이 옵션은 기본적으로 비활성화되어 있다.
비활성화 상태에서는 GPU 메모리에만 텍스처가 전개되고 활성화하면 GPU 메모리 뿐만 아니라 메인 메모리에도 복사가 되므로 소비량이 2배로 증가한다.
2. Generate Mip Maps
밉맵 설정을 활성화하면 텍스처의 메모리 사용량이 1.3배 증가한다.
이 설정은 일반적으로 3D 상의 오브젝트에 대해 설정하는 것이 일반적이고 먼 거리에 있는 오브젝트에 대해 흔들림 완화
및 텍스터 전송량 감소를 목적으로 설정한다.
3.AnisoLevel
AnisoLevel은 오브젝트를 얕은 각도로 그릴 때 텍스처가 흐릿하게 보이지 않도록 하는 기능이다.
해당 기능은 3D 공간에서 지면이나 바닥 등 멀리까지 이어지는 오브젝트에 사용된다. Aniso값이 높을수록 선명하나 처리비용이 높다는 것이 특징이다.
2.메시
==================================================
유니티로 임포트한 메쉬를 다룰 때 주의해야 할 사항은 다음 4가지이다.
1.Read/Enabled
모델 인스펙터에 있는 이 옵션은 기본적으로 비활성화되어 있으나
런타임 동안 메시를 사용할 필요가 없다면 비활성화하는 것이 좋다.
구체적으로 모델을 유니티에 배치하고 애니메이션클립을 재생하는 정도라면 해당 기능은 비활성화해도 문제가 없다.
2.Vertex Compresttion
버텍스 컴프랙션은 메시의 버텍스 정보 정확도를 float에서 half로 변경하는 옵션이다.
이를 통해 런타임 메모리 사용량과 파일 크기를 줄 일 수 있다.
Project Settings => Player의 Other 에서 설정할 수 있다.
단 해당 기능은 하단의 조건에 해당하는게 있다면 비활성화된다.
Read/Write 활성화
Mesh Compression이 활성화
Dynamic Bathinc이 활성화되어 있을때
3. Mesh Compression
Mesh Compression은 메시의 압축률을 변경할 수 있다.
압축률이 높을수록 파일 크기가 작아져 저장공간을 차지하는 비율이 줄어든다.
압축된 데이터는 런타임에 압축이 풀린다.즉 런타임 메모리 사용량에는 영향을 미치지 않는다.
4. OptimizeMeshData
해당 기능은 메시에 불필요한 버텍스 데이터를 자동으로 삭제하는 기능이다.
불필요한 버텍스 데이터 판단은 사용 중인 셰이더에서 자동으로 판단한다.
이는 런타임 메모리,스토리지 모두 절감 효과가 있다.
ProjectSettings=>Player Other에서 설정이 가능하다.
이 옵션은 버텍스 데이터가 자동 삭제되어 편리하지만,
얘기치 못한 문제를 일으킬 수 있어 주의해야한다.
ㅇㅖ를 들어 런타임에 머티리얼이나 셰이더를 전활할때 접근한 프로퍼티가 삭제되어 렌더링 결과가 이상해질 수 있다.
3.마테리얼
==================================================
마테리얼은 오브젝트를 어떻게 그릴지 결정하는 중요한 기능이다.
익숙한 기능이지만, 잘못 사용하면 쉽게 메모리 누수가 발생할 수 있다.
마테리얼은 파라미터에 접근하는 것만으로도 마테리얼이 복제가 된다는 점이다.
우리는 <마테리얼의 파라메타에 접근하는 것 만으로도 복제가 된다>라는 점을 인지하기가 어렵다.
반드시 생성한 마테리얼은 꼭 파괴를 해야한다.
4.파티클 시스템
=========================================================
게임 이펙트는 게임 연출에 필수적인 요소다. 유니티에서는 파티클 시스템을 많이 사용하는데.
최적화 방법은 하단과 같다.
1. 파티클 개수 줄이기
파티클 시스템은 CPU에서 동작하는 파티클이기 때문에 파티클 수가 많을수록 CPU 부하가 높아진다.
하단의 사진과 같이 줄이면 좋다.



2.노이즈 줄이기
노이즈 모듈의 퀄리티는 부하가 걸리기 쉽다.
노이즈는 유기적인 파티클을 표현할 수 있고, 간편하게 이펙트 퀄리티를 높일 수 있어 많이 사용된다.
자주 사용하는 만큼 부하가 올라가서 노이즈가 필요하지 않다면 끄는 걸 추천한다.
5.오디오
=========================================================
사운드 파일을 임포트한 기본 상태는 성능적으로 개선할 점이 있다.
설정 항목은 다음 세가지다.
Load Type
Compression Format
Force TO Mono
1. Load Type
Decompress On Load
비 압축으로 메모리에 로드된다.
CPU 부하가 낮기 떄문에 대기 시간이 짧게 재생되나 메모리를 많이 사용한다.
효과음에 사용되는 걸 추천한다.
Compressed In Memory
Compressed In Memory는 AudioClipm을 압축된 상태로 메모리에 로드한다.
재생할때 압축을 풀어서 재생하는 방식이라
CPU 부하가 높고 재생 지연이 발생하기 쉬워서 음성으로 사용하는 경우가 많다.
Streaming
스트리밍은 로드하면서 재생하는 방식이다. 메모리 사용량은 적은 대신 CPU부하가 높다.
장시간의 배경음악에 사용하는 것이 좋다.

2.Compression Format
오디오 클립 자체의 압축 포맷이다.
PCM
비압축이며,메모리를 많이 소모한다.
ADPCM
PCM에 비해 메모리 사용량은 70% 감소하지만 음질이 떨어지고 Vobis에 비해 CPU 부하가 현저히 적은 것이 특징이다.
전개 속도가 빨라 즉각적인 재생이나 대량으로 재상하는 사운드에 적압하다.
EX)발소리,충돌음,무기 등 노이즈가 많으면서 대량으로 재생해야 하는 사운드
Vorbis
비가역 압축 포맷이기 때문에 PCM보다 음질은 떨어지지만, 파일 크기는 작아진다.
유일하게 Quality를 설정할 수 있어 미세 조정이 가능하다.
모든 사운드에서 가장 많이 사용되는 압축 형식이다.

3.샘플 레이트 지정
샘플 레이트를 지정하여 품질을 조절할 수 있다.
모든 압축 포맷을 지원하며 샘플 레이터 세팅에서 3가지 방법을 선택할 수 있다.
Preserve Sample Rate
기본설정입니다.원본음원의샘플레이트가채택됩니다.
Optimize Sample Rate Unity
측에서 분석하여가장높은주파수성분을기준으로자동최적화합니다.
Override Sample Rate
원본음원의샘플레이트를덮어씁니다.8,000~192,000Hz까지지정할수있습니다.
원 본음원보다높게설정해도음질은올라가지않습니다.원본음원보다샘플레이트를낮 추고싶을때사용합니다.
4. Force To Mono
유니티에서는 기본 상태에서 스테레오로 재생되지만 Force To Mono를 활성화하면 모노로 재생된다.
모노 재생을 강제하면 좌우 각각의 데이터를 보유하지 않아도 되므로 파일 크기와 메모리 크기가 절반으로 줄어든다.
효과음은 모노로 재생해도 문제가 없는 경우가 많다.
또한 3D 사운드도 모노재생이 더 좋은 경우가 있다.
'최적화' 카테고리의 다른 글
| 튜닝<그래픽> (1) | 2025.06.17 |
|---|---|
| 튜닝 - 물리(Physics) (1) | 2025.06.15 |
| 튜닝 기본 상식(2) (0) | 2025.05.17 |
| 최적화<튜닝>의 기본상식1 (4) | 2025.05.11 |
| 유니티 프로젝트 튜닝 전, 중 주의사항 (0) | 2025.04.06 |