pub struct Texture2DArray {Show 16 fields
pub m_ColorSpace: i32,
pub m_DataSize: u32,
pub m_Depth: i32,
pub m_Format: i32,
pub m_Height: i32,
pub m_IsReadable: bool,
pub m_MipCount: i32,
pub m_Name: String,
pub m_TextureSettings: GLTextureSettings,
pub m_Width: i32,
pub image_data: Option<Vec<u8>>,
pub m_DownscaleFallback: Option<bool>,
pub m_ForcedFallbackFormat: Option<i32>,
pub m_IsAlphaChannelOptional: Option<bool>,
pub m_StreamData: Option<StreamingInfo>,
pub m_UsageMode: Option<i32>,
}Expand description
Texture2DArray is a class of the Unity engine since version 5.4.0f3. Exert from Unity’s scripting documentation: Class for handling 2D texture arrays. Modern graphics APIs (e.g. D3D10 and later, OpenGL ES 3.0 and later, Metal etc.) support “texture arrays”, which is an array of same size & format textures.
From the shader side, they are treated as a single resource, and sampling them needs an extra coordinate that indicates which array element to sample from.Typically texture arrays are useful as an alternative for texture atlases, or in other cases where objects use a set of same-sized textures (e.g. terrains).Currently in Unity texture arrays do not have an import pipeline for them, and must be created from code, either at runtime or in editor scripts.
Using Graphics.CopyTexture is useful for fast copying of pixel data from regular 2D textures into elements of a texture array. From editor scripts,
a common way of creating serialized texture array is to create it, fill with data (either via Graphics.CopyTexture from regular 2D textures, or via SetPixels or
SetPixels32) and save it as an asset via AssetDatabase.CreateAsset.Note that not all platforms and GPUs support texture arrays; for example Direct3D9 and OpenGL ES 2.0 do not. Use SystemInfo.supports2DArrayTextures to check. Also, this class does not support Texture2DArray creation with a Crunch compression TextureFormat.
Fields§
§m_ColorSpace: i32§m_DataSize: u32§m_Depth: i32Number of elements in a texture array (Read Only).
m_Format: i32Texture format (Read Only).
m_Height: i32Height of the Texture in pixels (Read Only).
m_IsReadable: boolWhether Unity stores an additional copy of this texture’s pixel data in CPU-addressable memory.
m_MipCount: i32§m_Name: StringThe name of the object.
m_TextureSettings: GLTextureSettings§m_Width: i32Width of the Texture in pixels (Read Only).
image_data: Option<Vec<u8>>Vec
m_DownscaleFallback: Option<bool>bool: (2017.3.0b1 - 2022.3.2f1)
m_ForcedFallbackFormat: Option<i32>i32: (2017.3.0b1 - 2022.3.2f1)
m_IsAlphaChannelOptional: Option<bool>bool: (2020.2.0b1 - 2022.3.2f1)
m_StreamData: Option<StreamingInfo>StreamingInfo: (5.6.0b1 - 2022.3.2f1)
m_UsageMode: Option<i32>i32: (2020.2.0b1 - 2022.3.2f1)