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

Texture3D.SetPixels32

提出建议

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法采纳所有提交的内容,但我们会阅读用户提出的每条建议,并在适用的地方进行更新。

关闭

提交失败

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

关闭

取消

切换到手册

声明

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

声明

public void SetPixels32(Color32[] colors);

参数

colors 要使用的像素颜色数组。这是将 3D 纹理压平为 1D 数组。
miplevel 要将 colors 写入的 Mip 贴图级别。范围是 0 到纹理的 Texture.mipmapCount。默认值为 0

描述

设置整个 Mip 贴图级别的像素颜色。

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

colors 必须包含从纹理前方开始的逐切片像素。每个切片必须包含逐行像素,从纹理的左下角开始。数组大小必须等于 Mip 贴图级别的宽度 × 高度 × 深度。

通常,与多次调用 SetPixel 相比,单次调用 SetPixels32 更快,尤其对于大纹理而言。

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

可以对 SetPixel32 使用以下 纹理格式

  • 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