colors | 用于写入像素数据的可选数组。 |
Color32[] 包含像素颜色的数组。
以 Color32 结构体的形式获取给定mipmap级别的像素颜色数据。
此方法从 CPU 内存中的纹理获取像素数据。 Texture.isReadable 必须为 true
。
该数组包含逐行排列的像素,从纹理的左下角开始。数组的大小为纹理的宽度 × 高度。
每个像素都是一个 Color32 结构体。
与多次调用 GetPixel 相比,单次调用 GetPixels32
通常速度更快,特别适用于大纹理。
如果 GetPixels32
失败,Unity 会引发异常。当数组包含过多数据时,GetPixels32
可能会失败。
您可以选择传入一个 Color32 结构体数组来避免在每帧分配新内存。如果您要持续读取来自摄像机的图像数据,这样做可以提高性能。数组必须初始化为纹理的尺寸 width * height
。如果您没有传入一个数组,Unity 将分配一个数组并返回。
using UnityEngine;
public class Example : MonoBehaviour { WebCamTexture webcamTexture; Color32[] data;
void Start() { // Start web cam feed webcamTexture = new WebCamTexture(); webcamTexture.Play(); data = new Color32[webcamTexture.width * webcamTexture.height]; }
void Update() { webcamTexture.GetPixels32(data); // Do processing of data here. } }