用于处理立方体贴图数组的类。
现代图形 API(例如 D3D10.1 及更高版本、OpenGL 4.0 及更高版本、macOS 上的 Metal、PS4)支持“立方体贴图数组”,它们是相同大小和格式的立方体贴图数组。从着色器方面来看,它们被视为单个资源,对其进行采样需要一个额外的坐标来指示要从中采样的数组元素。
通常,立方体贴图数组可用于实现高效的反射探测器、照明和阴影系统(所有反射/Cookie/阴影立方体贴图都在单个数组中)。
立方体贴图数组没有用于它们的导入管道,必须通过代码创建,在运行时或编辑器脚本中创建。使用 Graphics.CopyTexture 可用于快速将像素数据从常规 Cubemap 纹理复制到立方体贴图数组的元素中。在编辑器脚本中,创建序列化立方体贴图数组的常用方法是创建它,填充数据(通过 Graphics.CopyTexture 从常规立方体贴图中获取,或通过 SetPixels 或 SetPixels32 获取),并通过 AssetDatabase.CreateAsset 将其保存为资产。
请注意,并非所有平台和 GPU 都支持立方体贴图数组。使用 SystemInfo.supportsCubemapArrayTextures 进行检查。此外,此类不支持使用 Crunch 压缩 TextureFormat 创建立方体贴图数组。
cubemapCount | 数组中立方体贴图的数量(只读)。 |
format | 纹理格式(只读)。 |
CubemapArray | 创建一个新的立方体贴图数组。 |
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 在内部创建的 2D 和 CubeMap 纹理。 |
nonStreamingTextureMemory | Unity 为场景中的非流式纹理分配的内存量。这仅包括 Texture2D 和 CubeMap 纹理的实例。这并不包括任何其他纹理类型,也不包括 Unity 在内部创建的 2D 和 CubeMap 纹理。 |
streamingMipmapUploadCount | 由于纹理 mipmap 流式传输而上传纹理的次数。 |
streamingRendererCount | 已在纹理流式传输系统中注册的渲染器数量。 |
streamingTextureCount | 流式纹理的数量。 |
streamingTextureDiscardUnusedMips | 此属性强制流式纹理系统丢弃所有未使用的 mipmap,而不是将它们缓存,直到纹理内存预算超出为止。当您分析或编写测试以在内存中保留一组可预测的纹理时,这很有用。 |
streamingTextureForceLoadAll | 强制流式纹理加载所有 mipmap 级别。 |
streamingTextureLoadingCount | 当前正在加载 mipmap 的流式纹理的数量。 |
streamingTexturePendingLoadCount | 需要加载的流式纹理的未完成 mipmap 数量。 |
targetTextureMemory | Unity 在应用内存预算并完成纹理加载后分配给场景中纹理的纹理内存总量。`targetTextureMemory`还考虑了 mipmap 流式传输设置。此值仅包括 Texture2D 和 CubeMap 纹理的实例。此值并不包括任何其他纹理类型,也不包括 Unity 在内部创建的 2D 和 CubeMap 纹理。 |
totalTextureMemory | 如果 Unity 以 mipmap 级别 0 加载所有纹理,Unity 将使用的纹理内存总量。这是一个理论值,不考虑流式传输系统或任何其他输入的任何输入,例如,当您手动设置`Texture2D.requestedMipmapLevel`时。要查看考虑输入的纹理内存值,请使用`desiredTextureMemory`。`totalTextureMemory`仅包括 Texture2D 和 CubeMap 纹理的实例。此值并不包括任何其他纹理类型,也不包括 Unity 在内部创建的 2D 和 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 == | 比较两个对象引用是否引用同一个对象。 |