用于处理二维纹理数组的类。
现代图形 API(例如 D3D10 及更高版本、OpenGL ES 3.0 及更高版本、Metal 等)支持“纹理数组”,即相同大小和格式的纹理数组。从着色器端,它们被视为单个资源,对它们的采样需要额外的坐标来指示要从中采样的数组元素。
通常,纹理数组作为纹理图集的替代方案很有用,或者在其他情况下,对象使用一组相同大小的纹理(例如地形)。
目前,Unity 纹理数组没有针对它们的导入管道,必须通过代码创建,可以在运行时或在编辑器脚本中创建。使用 Graphics.CopyTexture 可以快速将像素数据从常规二维纹理复制到纹理数组的元素中。从编辑器脚本,创建序列化纹理数组的常用方法是创建它,用数据填充(通过 Graphics.CopyTexture 从常规二维纹理复制,或通过 SetPixels 或 SetPixels32)并通过 AssetDatabase.CreateAsset 将其保存为资产。
请注意,并非所有平台和 GPU 都支持纹理数组;例如 Direct3D9 不支持。使用 SystemInfo.supports2DArrayTextures 进行检查。此外,此类不支持使用 Crunch 压缩 TextureFormat 创建 Texture2DArray。
allSlices | 只读。此属性用作 CommandBuffer.Blit、Graphics.Blit、CommandBuffer.SetRenderTarget 和 Graphics.SetRenderTarget 方法中某些重载的参数,以指示绑定所有纹理数组切片。此属性的值为 -1。 |
activeMipmapLimit | Unity 未上传到 GPU 的纹理中的高分辨率mipmap 级别的数量。(只读) |
depth | 纹理数组中的元素数量(只读)。 |
format | 纹理格式(只读)。 |
ignoreMipmapLimit | 此属性会导致纹理忽略所有纹理 mipmap 限制设置。 |
mipmapLimitGroup | 此纹理关联到的纹理 mipmap 限制组的名称。(只读) |
Texture2DArray | 创建一个新的纹理数组。 |
Apply | 将您在 CPU 纹理中进行的更改复制到 GPU。 |
CopyPixels | 将像素数据从 CPU 上的另一个纹理复制。 |
GetPixelData | 获取纹理的原始数据。 |
GetPixels | 获取切片的 mipmap 级别的像素颜色数据,作为 Color 结构体。 |
GetPixels32 | 获取切片的 mipmap 级别的像素颜色数据,作为 Color32 结构体。 |
SetPixelData | 直接在 CPU 内存中设置整个 mipmap 级别的原始数据。 |
SetPixels | 设置切片的整个 mipmap 级别的像素颜色。 |
SetPixels32 | 设置切片的整个 mipmap 级别的像素颜色。 |
allowThreadedTextureCreation | 允许 Unity 内部在任何线程(而不是专用的渲染线程)上执行纹理创建。 |
currentTextureMemory | 场景中所有纹理使用的内存量。 |
desiredTextureMemory | 如果没有任何其他约束,Unity 加载的纹理的总大小(以字节为单位)。在 Unity 加载任何纹理之前,它会应用内存预算,如果纹理大小超过其值,则会降低加载的纹理分辨率。desiredTextureMemory 值考虑了 Unity 请求或您手动设置的 mipmap 级别。例如,如果 Unity 未以全分辨率加载纹理,因为它很远或其请求的 mipmap 级别大于 0,则 Unity 会将 desiredTextureMemory 值降低以匹配所需的总内存。desiredTextureMemory 值可能大于 Texture.targetTextureMemory 值。 |
GenerateAllMips | 可用于使用接受 mip 计数的纹理构造函数,以指示应生成所有 mip。此字段的值为 -1。 |
nonStreamingTextureCount | 场景中非流式纹理的数量。这包括 Texture2D 和 CubeMap 纹理的实例。这并不包括任何其他纹理类型,或者 Unity 在内部创建的二维和 CubeMap 纹理。 |
nonStreamingTextureMemory | Unity 为场景中的非流式纹理分配的内存量。这仅包括 Texture2D 和 CubeMap 纹理的实例。这并不包括任何其他纹理类型,或者 Unity 在内部创建的二维和 CubeMap 纹理。 |
streamingMipmapUploadCount | 由于纹理 mipmap 流式传输而上传纹理的次数。 |
streamingRendererCount | 在纹理流式传输系统中注册的渲染器的数量。 |
streamingTextureCount | 流式纹理的数量。 |
streamingTextureDiscardUnusedMips | 此属性强制流式纹理系统丢弃所有未使用的 mipmap,而不是在超过纹理内存预算之前将其缓存。这在您分析或编写测试以保持内存中一组可预测的纹理时很有用。 |
streamingTextureForceLoadAll | 强制流式纹理加载所有 mipmap 级别。 |
streamingTextureLoadingCount | 当前正在加载 mipmap 的流式纹理数量。 |
streamingTexturePendingLoadCount | 待加载的 mipmap 的流式纹理数量。 |
targetTextureMemory | Unity 在应用内存预算并完成纹理加载后分配给场景中纹理的总纹理内存量。`targetTextureMemory` 也考虑了 mipmap 流式传输设置。此值仅包括 Texture2D 和 CubeMap 纹理的实例。此值并不包括任何其他纹理类型,或者 Unity 在内部创建的二维和 CubeMap 纹理。 |
totalTextureMemory | 如果 Unity 以 mipmap 级别 0 加载所有纹理,Unity 将使用的总纹理内存量。这是一个理论值,不考虑流式传输系统的任何输入或任何其他输入,例如在您手动设置`Texture2D.requestedMipmapLevel` 时。要查看考虑输入的纹理内存值,请使用`desiredTextureMemory`。`totalTextureMemory` 仅包括 Texture2D 和 CubeMap 纹理的实例。此值并不包括任何其他纹理类型,或者 Unity 在内部创建的二维和 CubeMap 纹理。 |
hideFlags | 对象是否应隐藏、与场景一起保存或可由用户修改? |
name | 对象的名称。 |
anisoLevel | 定义纹理的各向异性过滤级别。 |
dimension | 纹理的维数(类型)(只读)。 |
filterMode | 纹理的过滤模式。 |
graphicsFormat | 返回纹理对象的 GraphicsFormat 格式或颜色格式。 |
graphicsTexture | 表示上传到图形设备的纹理资源的 GraphicsTexture(只读)。 |
height | 纹理的高度(以像素为单位)(只读)。 |
imageContentsHash | 纹理的哈希值。 |
isDataSRGB | 如果纹理像素数据在 sRGB 颜色空间中,则返回 true(只读)。 |
isReadable | Unity 是否在 CPU 可寻址内存中存储此纹理像素数据的额外副本。 |
mipMapBias | 纹理的 mipmap 偏差。 |
mipmapCount | 此纹理中包含的 mipmap 级别数量(只读)。 |
updateCount | 在更新纹理时,此计数器会递增。 |
width | 纹理的宽度(以像素为单位)(只读)。 |
wrapMode | 纹理坐标环绕模式。 |
wrapModeU | 纹理 U 坐标环绕模式。 |
wrapModeV | 纹理 V 坐标环绕模式。 |
wrapModeW | Texture3D 的纹理 W 坐标环绕模式。 |
GetInstanceID | 获取对象的实例 ID。 |
ToString | 返回对象的名称。 |
GetNativeTexturePtr | 检索纹理资源的本机(底层图形 API)指针。 |
IncrementUpdateCount | 递增更新计数器。 |
Destroy | 删除游戏对象、组件或资产。 |
DestroyImmediate | 立即销毁对象 obj。强烈建议您使用 Destroy 而不是此方法。 |
DontDestroyOnLoad | 在加载新场景时不要销毁目标对象。 |
FindAnyObjectByType | 检索类型为 type 的任何已加载的活动对象。 |
FindFirstObjectByType | 检索类型为 type 的第一个已加载的活动对象。 |
FindObjectsByType | 检索类型为 type 的所有已加载对象的列表。 |
Instantiate | 克隆对象 original 并返回克隆。 |
InstantiateAsync | 捕获原始对象的快照(该对象必须与某些游戏对象相关),并返回 AsyncInstantiateOperation。 |
SetGlobalAnisotropicFilteringLimits | 设置各向异性限制。 |
SetStreamingTextureMaterialDebugProperties | 此函数在 mipmap 流式传输系统已知的材料上设置 mipmap 流式传输调试属性。 |
bool | 对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,以查看它们是否引用同一个对象。 |