Version: 2020.2
public void SetPixel (int x, int y, Color color);

描述

设置坐标 (x,y) 处的像素颜色。

调用 Apply 可实际将更改的像素上传到显卡。 上传是一项成本很高的操作,因此您想要在 Apply 调用之间尽可能多地 更改像素。

如果您需要在运行时不断重新生成纹理, 则生成一个像素颜色数组并使用 SetPixels 一次性完成设置可能会更快。

该函数仅适用于 RGB24RGB24RGB24Alpha8 纹理格式。 对于其他格式,忽略 /SetPixel/。 纹理还必须在 texture import settings 中设置 read/write enabled 标志。 另请参阅:SetPixelsSetPixelDataGetPixelApply

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Texture2D texture = new Texture2D(128, 128); GetComponent<Renderer>().material.mainTexture = texture;

for (int y = 0; y < texture.height; y++) { for (int x = 0; x < texture.width; x++) { Color color = ((x &amp; y) != 0 ? Color.white : Color.gray); texture.SetPixel(x, y, color); } } texture.Apply(); } }