Version: 2020.2
public Color[] GetPixels (CubemapFace face, int miplevel);

参数

face 从中获取像素数据的面。
miplevel 所选面的 Mipmap 级别。

描述

返回立方体贴图面的像素颜色。

此方法返回立方体贴图面的整个 Mip 级别的 像素颜色数组。

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

纹理必须在导入设置中设置 Is Readable 标志,否则此方法将失败。在使用 Crunch 纹理压缩的纹理上,GetPixels 不可用。

使用 GetPixels 可比反复调用 GetPixel 更快,尤其是 对于较大纹理而言。此外,GetPixels 还可访问单独的多级渐进纹理级别。

注意:假设从外面能够看到每个立方体贴图的六个侧面。这 意味着像素是从左到右、自上而下排列(即,逐行排列)的。如果该立方体贴图 围绕着世界,则像素从右向左显示。

See Also: SetPixels, GetPixelData, mipmapCount.

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

using UnityEngine; using System.Collections;

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

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