Version: Unity 6.0 (6000.0)
언어 : 한국어
프로젝트에서 가상 텍스처링 스트리밍 활성화
가상 텍스처링을 위한 캐시 관리

Shader Graph에서 가상 텍스처링 스트리밍 사용

이 기능은 실험 단계에 있으며 프로덕션에 사용하기에 적합하지 않습니다. 이 기능과 관련 기술 자료는 향후 변경되거나 삭제될 수 있습니다.

SVT(스트리밍 가상 텍스처링)를 Shader Graph에서 생성한 셰이더와 함께 사용할 수 있습니다. 시작하기 전에 프로젝트에서 가상 텍스처링을 활성화해야 합니다. 빌트인 고해상도 렌더 파이프라인 셰이더(예: 릿 및 언릿)는 SVT를 지원하지 않습니다.

SVT를 사용하여 텍스처를 스트리밍하려면 텍스처를 Virtual Texture 프로퍼티에 추가해야 합니다. Virtual Texture 프로퍼티에는 관련 텍스처의 스택을 정의합니다. 이러한 텍스처를 샘플링하려면 Virtual Texture 프로퍼티를 샘플 가상 텍스처 노드에 연결합니다. 샘플 가상 텍스처 노드는 하나의 UV 좌표를 입력으로 사용하고, 해당 UV 좌표를 사용하여 모든 텍스처를 샘플링합니다.

가능한 경우 텍스처를 동일한 Virtual Texture 프로퍼티에 결합해야 합니다. 여러 Virtual Texture 프로퍼티를 샘플링하는 것보다 동일한 Virtual Texture 프로퍼티의 일부인 여러 텍스처를 샘플링하는 것이 더 효율적이기 때문입니다.

프래그먼트 단계에서 샘플 가상 텍스처 노드를 사용하면 SVT가 샘플링한 UV를 기반으로 텍스처 타일을 자동으로 스트리밍합니다. 이를 위해 샘플 가상 텍스처 노드는 읽을 타일 ID를 렌더 타겟에 출력합니다. 이 옵션을 끄려면 노드 설정을 열고 Automatic Streaming을 비활성화합니다. 자세한 내용은 가상 텍스처링 스트리밍의 작동 원리를 참조하십시오.

버텍스 단계에서 샘플 가상 텍스처 노드를 사용하려면 먼저 샘플 가상 텍스처 노드에서 Automatic Streaming을 비활성화한 후 LOD Level 모드를 선택해야 합니다. 그런 다음 스크립트를 사용하여 SVT가 타일을 로드하도록 수동으로 요청해야 합니다. 이렇게 하려면 다음과 같이 VirtualTexturing.Streaming.RequestRegion 메서드를 사용하십시오.

VirtualTexturing.Streaming.RequestRegion(Material, Stack ID, Rect, mipmap, numMips)

이 메서드를 사용하여 아직 보이지 않는 타일을 로드하여 프리페치 시스템을 빌드하는 등의 작업을 수행할 수 있습니다. 프레임마다 이 메서드를 호출해야 합니다. 그렇지 않으면 시스템이 타일이 더 이상 필요하지 않다고 가정하고 다른 타일을 스트리밍할 때 타일을 제거할 수 있습니다.

이 예시에서는 Shader Graph의 샘플 가상 텍스처 노드에 연결된 Virtual Texture 프로퍼티를 보여 줍니다.
이 예시에서는 Shader Graph의 샘플 가상 텍스처 노드에 연결된 Virtual Texture 프로퍼티를 보여 줍니다.

Shader Graph 호환성

  • Shader Graph에서 가상 텍스처 프로퍼티의 모든 텍스처 슬롯을 할당해야 합니다.

  • SVT는 Virtual Texture 프로퍼티에 할당한 각 고유한 텍스처 조합을 스트리밍 가상 텍스처의 고유한 섹션에 복사합니다. 따라서 Virtual Texture 프로퍼티에서 여러 가지 텍스처 조합을 사용하는 경우 각 조합이 별도로 저장되므로 프로젝트 빌드 크기가 커질 수 있습니다.

  • Shader Graph에서 샘플 가상 텍스처 노드를 사용할 경우 몇 가지 제한 사항이 있습니다.

    • 데칼 그래프나 투명 셰이더에서는 샘플 가상 텍스처 노드를 사용할 수 없습니다. 다음 방법 중 하나로 샘플 가상 텍스처 노드를 사용하는 경우 노드는 대신 표준 2D 텍스처 샘플링을 사용합니다.
    • 자동 가상 스트리밍은 셰이더의 버텍스 단계에서 사용하는 경우 작동하지 않습니다. 기본적으로 샘플 가상 텍스처 노드는 Shader Graph의 버텍스 슬롯에 연결되지 않습니다. 버텍스 단계에서 가상 텍스처 스택을 샘플링하려면 해당 텍스처에 수동 스트리밍을 설정해야 합니다. 이렇게 하려면 LOD ModeLOD Level로 설정하고 노드 설정에서 Automatic Streaming을 비활성화합니다. 또한 이 텍스처에 데이터 요청을 구동하는 C# 스크립트를 작성해야 합니다. 자세한 내용은 VirtualTexturing.Streaming.RequestRegion을 참조하십시오.
    • 일부 렌더 파이프라인 또는 그래프 설정은 가상 텍스처 스트리밍과 호환되지 않을 수 있습니다. 샘플 가상 텍스처 노드가 현재 설정에서 작동하지 않으면 Shader Graph는 노드 설정에 경고 메시지를 표시하고, 해당 노드는 스탠다드 2D 텍스처 샘플링을 대신 사용합니다.
프로젝트에서 가상 텍스처링 스트리밍 활성화
가상 텍스처링을 위한 캐시 관리