Version: 2021.1
언어: 한국어
가상 텍스처링을 위한 캐시 관리
가상 텍스처링 오류 머티리얼

텍스처를 “Virtual Texturing Only”로 표시

Unity 에디터에서 가상 텍스처링만 사용하는 텍스처를 표시할 수 있습니다. 이렇게 하면 메모리 사용과 씬 로드 시간이 최적화되고, 빌드 크기가 줄어 듭니다. 텍스처가 가상 텍스처링만 사용한다고 표시하려면 텍스처 임포터를 열고 Virtual Texture Only를 활성화하십시오.

실제로 가상 텍스처링을 사용할 때 이러한 이점을 극대화하려면 최대한 많은 텍스처를 Virtual Texture Only로 표시해야 합니다. 텍스처를 Virtual Texture Only로 표시하면 프로젝트의 일반 텍스처 샘플러에서 해당 텍스처를 사용할 수 없습니다. 에디터에서는 저해상도 미리보기가 나타나기 때문에 일반 텍스처 샘플러에서 사용할 수 있는 것처럼 보이지만, 플레이어를 빌드할 때 오류가 발생합니다.

작동 방식

기본적으로 Unity 에디터에서 씬을 로드할 때 에디터는 참조된 모든 텍스처를 CPU와 GPU 메모리 모두에 로드합니다. Unity 에디터는 텍스처를 디스크에서 GPU 메모리로 스트리밍할 수 없지만, SVT는 CPU 메모리에서 텍스처를 스트리밍할 수 있습니다. 텍스처를 Virtual Texture Only로 표시하면 씬 로드 시 에디터가 해당 텍스처를 CPU 메모리에만 로드한 후 타일을 추출하여 필요에 따라 GPU 메모리로 스트리밍합니다.

고해상도 텍스처가 많은 프로젝트에서는 이를 통해 Unity 에디터에서 GPU 메모리 사용량과 씬 로드 시간을 크게 줄일 수 있습니다. 이러한 이유로 최대한 많은 텍스처를 Virtual Texture Only로 표시하여 가상 텍스처링 스트리밍(SVT) 시스템이 CPU에서만 스트리밍하도록 만드는 것이 좋습니다.

텍스처를 Virtual Texture Only로 표시하지 않고 플레이어의 가상 텍스처링에 사용하면 SVT 시스템은 해당 텍스처의 복사본을 CPU와 GPU 메모리 모두에 보관합니다.

일반 텍스처 아티팩트

기본적으로 Unity는 셰이더 그래프에서 샘플링된 모든 텍스처를 일반 텍스처 아티팩트로 빌드에 추가합니다. 또한 가상 텍스처링은 모든 텍스처 스택 텍스처를 Unity가 빌드에 포함하는 타일링된 스트리밍 파일에 임포트합니다.

  • 텍스처를 Virtual Texture Only로 표시하면 Unity는 해당 텍스처를 일반 텍스처 아티팩트로 포함하지 않고, 타일링된 스트리밍 파일에만 포함합니다.
  • 텍스처를 Virtual Texture Only로 표시하지 않으면 Unity는 해당 텍스처를 빌드에 두 번, 일반 텍스처 아티팩트로 한 번, 그리고 타일링된 스트리밍 파일에 한 번 포함합니다.

단, 텍스처를 Virtual Texture Only로 표시하고 플레이어에서 일반 텍스처로 사용하면 플레이어 빌드가 실패합니다.

가상 텍스처링을 위한 캐시 관리
가상 텍스처링 오류 머티리얼