Texture2DArray

class in UnityEngine

/

继承自:Texture

切换到手册

描述

用于处理 2D 纹理数组的类。

新版图形 API(例如 D3D10 及更高版本、OpenGL ES 3.0 及更高版本,Metal 等)支持“纹理数组”,这是一种包含相同大小和格式的纹理的数组。 从着色器的角度看,它们被视为单个资源,对它们进行采样需要一个额外坐标来指示要采样的数组元素。

通常,纹理数组非常有用,可替代纹理图集,在其他情况下,对象使用一组相同大小纹理(例如地形)。

当前,在 Unity 中,纹理数组没有适用的导入管线,必须在运行时或在编辑器脚本中通过代码创建该管线。 使用 Graphics.CopyTexture 可将像素数据从常规 2D 纹理快速复制到纹理数组的元素中。通过 Editor 脚本 创建序列化纹理数组的常用方式是创建该数组,填充数据(通过 Graphics.CopyTexture 从常规 2D 纹理复制填充,或者通过 SetPixelsSetPixels32 填充),然后通过 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 更改。
GetPixels返回单个数组切片的像素颜色。
GetPixels32返回单个数组切片的像素颜色。
SetPixelData用原始预格式化数据设置像素值。
SetPixels为整个多级渐进纹理级别设置像素颜色。
SetPixels32为整个多级渐进纹理级别设置像素颜色。

继承的成员

静态变量

allowThreadedTextureCreation允许在任何线程(而不是专用的渲染线程)中创建纹理。
currentTextureMemory纹理当前使用的内存量。
desiredTextureMemory在应用纹理串流预算之前会先使用上述的纹理内存量。
GenerateAllMips可与采用 Mip 数量的纹理构造函数结合使用,以指示应生成所有 Mip。此字段的值为 -1。
nonStreamingTextureCount非串流纹理的数量。
nonStreamingTextureMemory非串流纹理正在使用的内存总量。
streamingMipmapUploadCount由于纹理 Mipmap 串流而导致上传纹理的次数。
streamingRendererCount在纹理串流系统中注册的渲染器数量。
streamingTextureCount串流纹理的数量。
streamingTextureDiscardUnusedMips强制串流纹理系统立即丢弃所有未使用的 Mipmap,而不是缓存这些 Mipmap 直到超出纹理内存预算。
streamingTextureForceLoadAll强制串流纹理加载所有 Mipmap 级别。
streamingTextureLoadingCount当前正在加载 Mipmap 的串流纹理的数量。
streamingTexturePendingLoadCount要加载的未完成 Mipmap 的串流纹理数量。
targetTextureMemory应用 Mipmap 串流和预算并且在加载完成后由纹理使用的内存量。
totalTextureMemoryMipmap 级别 0 的所有纹理将使用的内存总量。

变量

hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。
anisoLevel纹理的各向异性过滤级别。
dimension纹理的维度(类型)(只读)。
filterMode纹理的过滤模式。
graphicsFormat返回纹理对象的 GraphicsFormat 格式或颜色格式。
height纹理的高度(以像素为单位)。(只读)
imageContentsHash纹理的哈希值。
isReadable如果在导入纹理时选中了“Read/Write Enabled”复选框,则返回 true;否则返回 false。对于通过脚本创建的动态纹理,始终返回 true。有关更多信息,请参阅 TextureImporter.isReadable。
mipMapBias纹理的多级渐进纹理偏差。
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返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。
SetGlobalAnisotropicFilteringLimits设置各向异性限制。
SetStreamingTextureMaterialDebugProperties使用设置为串流 Mipmap 的纹理将其他调试信息上传到材质。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。