Version: Unity 6.0 (6000.0)
언어 : 한국어
셰이더 그래프 소개
셰이더 배리언트 스트리핑

보유하고 있는 셰이더 배리언트 수 확인

로깅 및 프로파일링 툴을 사용하여 Unity가 컴파일하는 셰이더 배리언트 수를 확인하고, 배리언트를 제거(스트리핑)하여 빌드 시간을 개선하고 메모리 사용량을 줄일 수 있는 방법을 확인할 수 있습니다. 다음을 수행할 수 있습니다.

에디터에서 사용하는 셰이더 배리언트 리스트 가져오기

씬 뷰와 게임 뷰에서 에디터가 사용하는 셰이더 배리언트 리스트를 생성할 수 있습니다. 이 작업을 수행하는 방법은 다음과 같습니다.

  1. Edit > Project Settings > Graphics로 이동합니다.
  2. Shader Loading 아래에서 Currently tracked: 옆에 있는 셰이더와 셰이더 배리언트 수를 확인할 수 있습니다.
  3. Save to asset…을 선택하여 셰이더 배리언트 컬렉션 에셋을 생성합니다.

빌드 시점에 Unity에서 생성하는 셰이더 배리언트 리스트 가져오기

프로젝트를 빌드한 후 Editor.log 로그 파일을 열고 Compiling shader를 검색하여 Unity가 어떤 배리언트를 컴파일하고 스트리핑하는지 확인합니다. 예시:

Compiling shader "Sprites/Default" pass "" (vp)
    Full variant space:         8
    After settings filtering:   8
    After built-in stripping:   4
    After scriptable stripping: 4
    Processed in 0.00 seconds
    starting compilation...
    finished in 0.03 seconds. Local cache hits 0 (0.00s CPU time), remote cache hits 0 (0.00s CPU time), compiled 4 variants (0.09s CPU time), skipped 0 variants
    Prepared data for serialisation in 0.00s

URP(유니버설 렌더 파이프라인)와 HDRP(고해상도 렌더 파이프라인)를 사용하는 경우 다음을 참조하십시오.

런타임에 Unity에서 컴파일하는 셰이더 배리언트 리스트 가져오기

  1. Edit > Project Settings > Graphics로 이동합니다.
  2. Shader Loading 아래에서 Log Shader Compilation을 활성화합니다.
  3. 프로젝트를 빌드할 때 Build Settings에서 Development Build를 활성화합니다.
  4. 콘솔 창에서 Editor를 선택하고 Full Log [Developer Mode Only]를 활성화합니다.
  5. 빌드한 애플리케이션을 시작합니다.

Unity에서 GPU용 셰이더를 컴파일할 때 콘솔 창에 Compiled shader 메시지를 출력합니다.

런타임에 셰이더가 사용하는 메모리 양 확인

Memory Profiler 모듈 또는 Memory Profiler 패키지를 사용하여 런타임 시 셰이더가 사용하는 메모리 양을 확인합니다. 셰이더가 메모리를 많이 사용하는 경우 해당 배리언트를 스트리핑하여 실험할 수 있습니다.

런타임에 누락된 셰이더 하이라이트

Unity 2022.2 이상에서는 머티리얼에서 누락된 셰이더 배리언트를 사용하려고 할 때 런타임 중에 분홍색 오류 셰이더를 강제로 표시하게 만들 수 있습니다.

  1. Edit > Project Settings > Player로 이동합니다.
  2. Other Settings 아래의 Shader Settings 섹션에서 Strict shader variant matching을 선택합니다.

strictShaderVariantMatching을 사용하여 C# 스크립트에서도 활성화할 수 있습니다.

이렇게 하면 Unity가 콘솔에 누락된 배리언트와 해당 키워드가 포함된 경고를 표시합니다. 프로젝트에 필요한 셰이더 배리언트가 제거되지 않았는지 확인하기 위해 스트리핑 중에 사용할 수 있습니다.

셰이더 그래프 소개
셰이더 배리언트 스트리핑