用于处理 2D 纹理数组的类。
新版图形 API(例如 D3D10 及更高版本、OpenGL ES 3.0 及更高版本,Metal 等)支持“纹理数组”,这是一种包含相同大小和格式的纹理的数组。
从着色器的角度看,它们被视为单个资源,对它们进行采样需要一个额外坐标来指示要采样的数组元素。
通常,纹理数组非常有用,可替代纹理图集,在其他情况下,对象使用一组相同大小纹理(例如地形)。
当前,在 Unity 中,纹理数组没有适用的导入管线,必须在运行时或在编辑器脚本中通过代码创建该管线。
使用 Graphics.CopyTexture 可将像素数据从常规 2D 纹理快速复制到纹理数组的元素中。通过 Editor 脚本
创建序列化纹理数组的常用方式是创建该数组,填充数据(通过 Graphics.CopyTexture 从常规 2D 纹理复制填充,或者通过 SetPixels 或
SetPixels32 填充),然后通过 AssetDatabase.CreateAsset 将其另存为资源。
注意,并非所有平台和 GPU 都支持纹理数组;例如,Direct3D9 和 OpenGL ES 2.0 都不支持纹理数组。使用 SystemInfo.supports2DArrayTextures 进行检查。
allSlices | 只读。此属性在 CommandBuffer.Blit、Graphics.Blit、CommandBuffer.SetRenderTarget 和 Graphics.SetRenderTarget 方法的某些重载中用作参数,指示所有纹理数组切片都已绑定。此属性的值为 -1。 |
depth | 纹理数组元素的数量(只读)。 |
format | 纹理格式(只读)。 |
isReadable | 如果此纹理数组设置为 Read/Write Enabled,则返回 true;否则返回 false。对于通过脚本创建的动态纹理,始终返回 true。 |
Texture2DArray | 创建一个新的纹理数组。 |
Apply | 实际应用先前的全部 SetPixels 更改。 |
GetPixelData | Gets raw data from a Texture for reading or writing. |
GetPixels | 返回单个数组切片的像素颜色。 |
GetPixels32 | 返回单个数组切片的像素颜色。 |
SetPixelData | 用原始预格式化数据设置像素值。 |
SetPixels | 为整个多级渐进纹理级别设置像素颜色。 |
SetPixels32 | 为整个多级渐进纹理级别设置像素颜色。 |
allowThreadedTextureCreation | 允许在任何线程(而不是专用的渲染线程)中创建纹理。 |
currentTextureMemory | The amount of memory currently being used by the non-streaming and mipmap streaming textures combined. |
desiredTextureMemory | 在应用纹理串流预算之前会先使用上述的纹理内存量。 |
GenerateAllMips | 可与采用 Mip 数量的纹理构造函数结合使用,以指示应生成所有 Mip。此字段的值为 -1。 |
nonStreamingTextureCount | 非串流纹理的数量。 |
nonStreamingTextureMemory | 非串流纹理正在使用的内存总量。 |
streamingMipmapUploadCount | 由于纹理 Mipmap 串流而导致上传纹理的次数。 |
streamingRendererCount | 在纹理串流系统中注册的渲染器数量。 |
streamingTextureCount | 串流纹理的数量。 |
streamingTextureDiscardUnusedMips | 强制串流纹理系统立即丢弃所有未使用的 Mipmap,而不是缓存这些 Mipmap 直到超出纹理内存预算。 |
streamingTextureForceLoadAll | 强制串流纹理加载所有 Mipmap 级别。 |
streamingTextureLoadingCount | 当前正在加载 Mipmap 的串流纹理的数量。 |
streamingTexturePendingLoadCount | 要加载的未完成 Mipmap 的串流纹理数量。 |
targetTextureMemory | 应用 Mipmap 串流和预算并且在加载完成后由纹理使用的内存量。 |
totalTextureMemory | Mipmap 级别 0 的所有纹理将使用的内存总量。 |
hideFlags | 该对象应该隐藏、随场景一起保存还是由用户修改? |
name | 对象的名称。 |
anisoLevel | 纹理的各向异性过滤级别。 |
dimension | 纹理的维度(类型)(只读)。 |
filterMode | 纹理的过滤模式。 |
graphicsFormat | 返回纹理对象的 GraphicsFormat 格式或颜色格式。 |
height | 纹理的高度(以像素为单位)。(只读) |
imageContentsHash | 纹理的哈希值。 |
isReadable | 如果在导入纹理时选中了“Read/Write Enabled”复选框,则返回 true;否则返回 false。对于通过脚本创建的动态纹理,始终返回 true。有关更多信息,请参阅 TextureImporter.isReadable。 |
mipMapBias | The mipmap bias of the texture. |
mipmapCount | 该纹理中有多少个多级渐进纹理级别(只读)。 |
updateCount | 更新纹理时,此计数器会递增。 |
width | 纹理的宽度(以像素为单位)。(只读) |
wrapMode | 纹理坐标换行模式。 |
wrapModeU | 纹理 U 坐标换行模式。 |
wrapModeV | 纹理 V 坐标换行模式。 |
wrapModeW | Texture3D 的纹理 W 坐标换行模式。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回对象的名称。 |
GetNativeTexturePtr | 获取指向纹理资源的原生(底层图形 API)指针。 |
IncrementUpdateCount | 递增更新计数器。 |
Destroy | 移除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | Gets a list of all loaded objects of Type type. |
Instantiate | 克隆 original 对象并返回克隆对象。 |
SetGlobalAnisotropicFilteringLimits | 设置各向异性限制。 |
SetStreamingTextureMaterialDebugProperties | Uploads additional debug information to materials using textures set to stream mipmaps. |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |