Version: Unity 6.0 (6000.0)
언어 : 한국어
URP의 커스텀 셰이더 DOTS 인스턴싱 프로퍼티 선언
URP의 DOTS 인스턴싱 셰이더에 대한 베스트 프랙티스

커스텀 셰이더에서 DOTS 인스턴스 프로퍼티에 액세스

DOTS 인스터스 프로퍼티에 액세스하기 위해 셰이더는 Unity에서 제공하는 액세스 매크로 중 하나를 사용할 수 있습니다. 액세스 매크로는 unity_DOTSInstanceData의 인스턴스 데이터가 다음 레이아웃을 사용한다고 가정합니다.

  • 메타데이터 값의 31개 최하위 비트는 unity_DOTSInstanceData 버퍼 내 배치에 있는 첫 번째 인스턴스의 바이트 주소를 포함합니다.
  • 메타데이터 값의 가장 중요한 비트가 0인 경우 모든 인스턴스는 인스턴스 인덱스 0 값을 사용합니다. 즉, 각 인스턴스는 메타데이터 값의 바이트 주소에서 직접 로드됩니다. 이 경우 버퍼는 인스턴스당 하나의 값이 아닌 단일 값만 저장해야 합니다.
  • 메타데이터 값의 가장 중요한 비트가 1인 경우 주소에는 AddressOfInstance0 + sizeof(PropertyType) * instanceID를 사용하여 인스턴스 인덱스 instanceID의 값을 찾을 수 있는 배열이 포함되어야 합니다. 이 경우 렌더링된 모든 인스턴스 인덱스의 버퍼에 유효한 데이터가 있는지 확인해야 합니다. 그렇지 않으면 범위를 벗어난 액세스와 정의되지 않은 동작이 발생할 수 있습니다.

또한 텍스처와 같이 위의 레이아웃을 사용하지 않는 커스텀 데이터 소스를 사용하려는 경우 유용한 메타데이터 값을 직접 설정할 수도 있습니다.

이러한 매크로를 사용하는 방법에 대한 예시는 매크로 액세스 예시를 참조하십시오.

URP의 커스텀 셰이더 DOTS 인스턴싱 프로퍼티 선언
URP의 DOTS 인스턴싱 셰이더에 대한 베스트 프랙티스
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961