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

셰이더 그래프에서 가상 텍스처링 스트리밍 사용

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

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

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

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

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

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

이 메서드를 사용하여 아직 표시되지 않은 타일을 로드할 수 있으며, 이를 통해 프리페칭 시스템 빌드 등과 같은 작업을 수행할 수 있습니다. 프레임마다 이 메서드를 호출해야 합니다. 그러지 않으면 시스템은 타일이 더 이상 필요하지 않다고 가정하고 다른 타일을 스트리밍할 때 해당 타일을 추방할 수 있습니다.

이 예제는 셰이더 그래프의 샘플 가상 텍스처 노드에 연결된 가상 텍스처 프로퍼티를 보여줍니다.
이 예제는 셰이더 그래프의 샘플 가상 텍스처 노드에 연결된 가상 텍스처 프로퍼티를 보여줍니다.

셰이더 그래프 호환성

  • 셰이더 그래프에서 가상 텍스처 프로퍼티의 모든 텍스처 슬롯을 할당해야 합니다.

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

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

    • 데칼 그래프 또는 투명 셰이더에서 샘플 가상 텍스처 노드를 사용할 수 없습니다. 이 방법 중 하나로 샘플 가상 텍스처 노드를 사용하면 해당 노드는 대신에 스탠다드 2D 텍스처 샘플링을 사용합니다.
    • 자동 가상 스트리밍은 셰이더의 버텍스 단계에서 사용할 경우 작동하지 않습니다. 기본적으로 샘플 가상 텍스처 노드는 셰이더 그래프에서 버텍스 슬롯에 연결되지 않습니다. 버텍스 단계에서 가상 텍스처 스택을 샘플링하려면 해당 텍스처에 대한 수동 스트리밍을 설정해야 합니다. 이렇게 하려면 Lod ModeLod Level로 설정하고, 노드 설정에서 Automatic Streaming을 비활성화하십시오. 또한 이 텍스처에 대한 데이터 요청을 유도하는 C# 스크립트를 작성해야 합니다. 자세한 내용은 VirtualTexturing.Streaming.RequestRegion을 참조하십시오.
    • 일부 렌더 파이프라인 또는 그래프 설정은 가상 텍스처 스트리밍과 호환되지 않을 수 있습니다. 샘플 가상 텍스처 노드가 현재 설정에서 작동하지 않으면 셰이더 그래프는 노드 설정에 경고 메시지를 표시하고, 해당 노드는 대신에 스탠다드 2D 텍스처 샘플링을 사용합니다.
프로젝트에서 가상 텍스처링 스트리밍 활성화
가상 텍스처링을 위한 캐시 관리
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961