版本:Unity 6 (6000.0)
语言中文
  • C#

Texture2DArray.SetPixels32

推荐更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交意见,但我们会阅读用户的每条建议性修改,并根据实际情况进行更新。

关闭

提交失败

出于某种原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void SetPixels32(Color32[] colors, int arrayElement, int miplevel);

声明

public void SetPixels32(Color32[] colors, int arrayElement);

参数

colors 要使用的像素颜色数组。这是展成 1D 数组的 2D 图像。
arrayElement 写入 colors 的数组切片。
miplevel colors 写入的 mipmap 级别。范围是从 0 到纹理的 Texture.mipmapCount。默认值为 0

描述

设置切片的整个 mipmap 级别的像素颜色。

此方法在 CPU 内存中设置纹理的像素数据。 Texture.isReadable 必须为 true,并且 SetPixels32 之后,您必须调用 Apply 才能将更改的像素上传到 GPU。

colors 必须包含像素行,从纹理的左下角开始按行排列。该数组大小必须是 mipmap 级别的宽度 x 高度。

SetPixels32 可能比其他一些纹理方法慢,因为它会将 Color32 结构转换为纹理使用的格式。若要更快地设置像素数据,请使用 SetPixelData 代替它。

您可以对以下 纹理格式 使用 SetPixels32

  • Alpha8
  • ARGB32
  • ARGB4444
  • BGRA32
  • R16
  • R16_SIGNED
  • R8
  • R8_SIGNED
  • RFloat
  • RG16
  • RG16_SIGNED
  • RG32
  • RG32_SIGNED
  • RGB24
  • RGB24_SIGNED
  • RGB48
  • RGB48_SIGNED
  • RGB565
  • RGB9e5Float
  • RGBA32
  • RGBA32_SIGNED
  • RGBA4444
  • RGBA64
  • RGBA64_SIGNED
  • RGBAFloat
  • RGBAHalf
  • RGFloat
  • RGHalf
  • RHalf

对于所有其他格式,SetPixels32 都会失败。当 SetPixels32 失败时,Unity 将会抛出异常。

其他资源:SetPixelsSetPixelDataGetPixels32GetPixelsApplymipmapCount