일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- shader
- github
- 유니티 그래픽스 최적화 스타트업
- 메모리
- 에러
- 파이널 IK
- 속성
- 튜토리얼
- Effective C#
- 프로퍼티
- 애님
- 쓰는 법
- error
- 리깅
- unity
- c#
- 오류
- 유니티
- 유니티 그래픽 최적화
- 사용법
- 익명 타입
- 2판
- NavMesh
- 최적화
- 쉐이더
- tutorial
- Final IK
- 애니메이션
- 리팩토링
- 깃허브
- Today
- Total
참치김밥은 최고의 한식이다
[유니티] 메모리 최적화를 위한 에셋 관리 본문
해당 문서는 아래 영상을 토대로 작성하였음
https://www.youtube.com/watch?v=52ehLUfk3DQ
중복 리소스
- 유니티는 중복 파일 체크 X
- 실수로 동일한 파일을 다른 폴더에 넣는 경우 비일비재
Mesh
- Mesh Compression은 저장 용량 관련임
- → 메모리 사용량과는 무관함
- Read/Write enable
- 중복된 용량을 올려두므로 꺼두는게 좋음 (2019.3 부터는 기본 꺼짐)
- 필요하지 않으면, 꺼두면 좋은 옵션들
- Rig
- 지금 사용하는 메시가 배경메시, 스태틱메시 즉 움직일 필요가 없으면 Rig 옵션은 꺼도 됨
- BlendShapes
- 마찬가지로 사용하려는 메시가 움직이지 않는 메시이면 꺼도
- Normal
- Tangent
- Lightmap UVs
- Generate Colliders
- Rig
Shader Variants 최적화
Shader Stripping
If you disable a feature, HDRP strips any shader variants where the feature is enabled.
→ Lightmap Modes, Fog Modes 에서 Custom을 선택하면, 아래 여러 개의 체크박스가 토글로 뜬다. 디폴트로는 다 선택이 되어 있는데, 선택 해제를 하면 해당 feature에 대해서 Shader Stripping이 들어간다. 즉, 프로젝트에서 사용하지 않는 built-in fog shaders를 strip하고 싶다면, FogModes를 Custom으로 변경하고, Linear과 Exponential과 Exponential Squared를 체크 해제하면 된다.
→ Decals 관련 쉐이더 Variants를 비활성화 하고 싶다면, HDRP assets을 찾아 인스펙터에서 Decals를 꺼주면 된다.
→ HDRP가 사용하지 않는 Lightmaps를 strip하려면, 위의 Shader Stripping 설정에서 Lightmap Modes를 Custom으로 하고, Baked Directional 외에 모두 체크 해제해주면 된다.
다른 유용한 경우는 아래 문서의 Strip feature shader variants 섹션에 표로 잘 나와 있다.
Reduce shader variants in your build | High Definition RP | 12.1.12
Reduce shader variants in your build The standard shaders in the High Definition Render Pipeline (HDRP) support a lot of different features, which can mean Unity compiles a lot of shader variants. To avoid your build growing too big, HDRP automatically exc
docs.unity.cn
Text Mesh Pro
- 글자들을 미리 텍스처로 제작함
- 영미권 언어는 큰 문제 없음 알파벳 몇십글자만 구우면 되니깐
- 근데 한글은 초성 중성 종성 조합 방식… → 한글 2350자, 추가 129자로 합해서 약 2500글자들을 텍스처 아틀라스로 미리 구워놓음 → 당연히 메모리 차지 빵빵함
- Font Asset Creator 에서..
- Atlas Resolution : 생성된 문자 텍스처 아틀라스의 크기가 몇이냐. 4096x4096으로 설정을 많이 하는데, 크기 짱 크니 주의 필
TMP의 종류
- Static
- 사용될 모든 문자 아틀라스를 미리 생성
- 런타임시 원본 폰트가 필요 없음
- NPC의 대화 스크립트 등, 개발자가 예측 가능한 문자에 유용함
- Dynamic
- 실시간으로 필요한 폰트 아틀라스 갱신
- 런타임시 원본 폰트 필요
- 채팅 등, 사용 문자들의 범위 예측 불가능 시 유용
- 런타임 메모리에 영향을 줌
- 좀 느려짐
'Unity > 최적화' 카테고리의 다른 글
[유니티] 유니티 그래픽스 최적화 : 라이팅 (1) | 2024.02.26 |
---|---|
[유니티] 유니티 그래픽스 최적화 : 드로우콜과 배칭 (2) | 2024.02.26 |
[유니티] 유니티 그래픽스 최적화 : 렌더링 파이프라인 (0) | 2024.02.23 |
[유니티] 유니티 그래픽스 최적화 스타트업 : 그래픽스 API (0) | 2024.02.23 |
[유니티] 그래픽 최적화 : Shadow Map (0) | 2024.02.20 |