2016-10-12 2 views
0

Сейчас в моем шейдера, у меня есть 5 текстур,Unity Пропустить несколько текстур (массив) в шейдер?

Properties 
    { 
     _MainTex ("Texture", 2D) = "white" {} 
     _MainTex2("Texture2", 2D) = "white" {} 
     _MainTex3 ("Texture3", 2D) = "white" {} 
      _MainTex4 ("Texture4", 2D) = "white" {} 
      _MainTex5 ("Texture5", 2D) = "white" {} 
    } 

Это возможно, я могу сделать это массив, так что мне не нужно объявить так много текстур?

+1

Вы видели [это] (https://docs.unity3d.com/Manual/SL-TextureArrays.html)? – Droppy

+0

Собирался ответить тем же, но так как это ответ, который поможет будущим зрителям, я создам ответ на этот вопрос. –

ответ

1

Вы можете использовать тип 2DArray, который позволит вам это сделать.

Properties 
{ 
    _TheTextureArray ("Tex", 2DArray) = "" {} 
} 

Вы можете найти более подробную информацию об этом здесь: https://docs.unity3d.com/Manual/SL-TextureArrays.html

Пожалуйста, обратите внимание на ограничениях технологий (пример, DX11/12), поэтому он не будет работать на все среды по умолчанию, конечно, не web (в настоящее время).