텍스처 배열은 GPU에 단일 오브젝트처럼 보이는 같은 크기/형식/플래그 2D 텍스처의 컬렉션이며 텍스처 요소 인덱스를 사용하여 셰이더에서 샘플링할 수 있습니다. 텍스처 배열은 커스텀 터레인 렌더링 시스템 또는 기타 크기와 형식이 같은 많은 텍스트처에 효율적으로 액세스하는 방법이 필요한 특수 이펙트를 구현하는 데 유용합니다. 2D 텍스처 배열의 요소는 슬라이스 또는 레이어라고도 합니다.
텍스처 배열은 기본 그래픽스 API 및 GPU의 지원을 받아야 하며, 다음에서 사용할 수 있습니다.
다른 플랫폼(OpenGL ES 2.0 or WebGL 1.0)은 텍스처 배열을 지원하지 않습니다. 런타임 시점에 텍스처 배열 지원 여부를 확인하려면 SystemInfo.supports2DArrayTextures를 사용해야 합니다.
셀로 분할된 소스 텍스처 파일에서 텍스처 배열을 임포트할 수 있습니다. 이를 플립북 텍스처라고 합니다. 이렇게 하려면 다음 단계를 따르십시오.
자세한 내용은 텍스처 임포트 설정을 참조하십시오.
C# 스크립트에서 텍스처 배열을 생성하려면 Texture2DArray 클래스를 사용하여 텍스처를 초기화하고 픽셀 데이터를 설정하고, AssetDatabase.CreateAsset을 사용하여 오브젝트를 에셋 파일로 저장하십시오.
일반적으로 텍스처 배열은 GPU 메모리 내에서만 사용되지만 Graphics.CopyTexture, Texture2DArray.GetPixels 및 Texture2DArray.SetPixels를 사용하여 시스템 메모리와의 사이에 픽셀을 이동할 수 있습니다.
텍스처 배열 요소는 렌더 타겟으로 사용할 수도 있습니다. 렌더 타겟이 2D 텍스처 배열이 될지 여부를 미리 지정하려면 RenderTexture.dimension을 사용해야 합니다. Graphics.SetRenderTarget의 depthSlice 인수는 렌더링할 밉맵 레벨 또는 큐브 맵 면을 지정합니다. “레이어드 렌더링”(즉 지오메트리 셰이더)을 지원하는 플랫폼에서 depthSlice 인수를 –1로 설정하여 전체 텍스처 배열을 렌더 타겟으로 설정할 수 있습니다. 지오메트리 셰이더를 사용하여 개별 요소로 렌더링할 수도 있습니다.
셰이더에서 텍스처 배열 사용을 참조하십시오.