colors | 要使用的像素颜色的数组。这是平化为一维阵列的二维图像。 |
miplevel | 要向其写入 colors 的渐远纹理等级。范围从 0 到纹理的 Texture.mipmapCount。默认值为 0 。 |
face | 要向其写入 colors 的 CubemapFace。 |
arrayElement | 要向其写入 colors 的数组切片。 |
设置切片某个面的整个渐远纹理等级的像素颜色。
此方法为 CPU 内存中的纹理设置像素数据。 Texture.isReadable 必须为 true
,并且必须在调用 SetPixels
之后调用 Apply,才能将更改的像素上传到 GPU。
Apply 是一个耗时的操作,因为它会复制纹理中的所有像素,即使你只更改了一些像素,因此在你调用该操作之前尽量更改尽可能多的像素。colors
必须按行包含每行像素,从面纹理的左下角开始。数组的大小必须是渐远纹理等级的宽 × 高。SetPixels
可能比某些其他纹理方法慢,因为它会将 Color 结构转换成纹理使用的格式。若要更快地设置像素数据,应改用 SetPixelData。
可以在下列 纹理格式 中使用 SetPixels
:
对于所有其他格式,SetPixels 会失败。如果 SetPixels 失败,Unity 将抛出异常。
其他资源: GetPixels、SetPixels32、SetPixelData、Apply、mipmapCount。