Version: 2021.3
public void SetPixels (Color[] colors, CubemapFace face, int miplevel);
public void SetPixels (Color[] colors, CubemapFace face);

参数

colors 该立方体贴图面的像素数据。
face 应将新数据应用到的面。
miplevel 此面的 Mipmap 级别。

描述

设置立方体贴图面的像素颜色。

此方法采用颜色数组,并且更改整个立方体贴图面的 像素颜色。调用 Apply 可实际将更改的像素 上传到显卡。

colors 数组是一个平展 2D 数组,其中像素是从右到左、 自上而下排列(即,逐行排列)的。数组大小必须至少为所用 Mip 级别的宽度乘以高度。 默认 Mip 级别为零(基础纹理),在这种情况下,其大小只是该纹理的大小。 在一般情况下,Mip 级别的大小为 mipSize=max(1,width>>miplevel)

仅在采用 RGB24RGB24RGB24Alpha8 纹理格式时该方法才起作用。 对于其他格式,忽略 /SetPixels/。

SetPixels throws an exception when it fails.

另请参阅:GetPixelsSetPixelDataApplymipmapCount

// copy a texture to the +X face of a cubemap

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { public Cubemap c; public Texture2D t; private Color[] CubeMapColors;

void Example() { CubeMapColors = t.GetPixels(); c.SetPixels(CubeMapColors, CubemapFace.PositiveX); c.Apply(); } }