Cubemap.GetPixels 获取像素颜色列表

function GetPixels (face : CubemapFace, miplevel : int = 0) : Color[]

Description描述

Returns pixel colors of a cubemap face.

返回一个Cubemap面的像素颜色。

This function returns an array of pixel colors of the whole mip level of a cubemap face.

这个函数返回立方贴图面上整个mip等级的像素颜色数组。

The returned array is a flattened 2D array, where pixels are laid out left to right, top to bottom (i.e. row after row). Array size is width by height of the mip level used. The default mip level is zero (the base texture) in which case the size is just the size of the texture. In general case, mip level size is mipSize=max(1,width>>miplevel).

返回的数组是一个2D数组,其中像素是从左到右,从上到下放置(一排又一排 )。数组的大小是所使用的mip等级的宽乘高。默认的mip等级是零(基本纹理)在这种情况下大小仅为纹理的大小。一般地,mip等级尺寸是mipSize=max(1,width>>miplevel)。

The texture must have the Is Readable flag set in the import settings, otherwise this function will fail.

该函数必须工作在ARGB32,RGB24和Alpha8纹理格式。对于其他格式,GetPixels将被忽略.

Using GetPixels can be faster than calling GetPixel repeatedly, especially for large textures. In addition, GetPixels can access individual mipmap levels.

使用GetPixels比重复调用GetPixel更快,尤其是对于大纹理,此外GetPixels可以访问单独的mipmap等级.

参见: SetPixels, mipmapCount.

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public Cubemap c;
	public Texture2D t;
	private Color[] CubeMapColors;
	public void Awake() {
		CubeMapColors = c.GetPixels(CubemapFace.PositiveX);
		t.SetPixels(CubeMapColors);
		t.Apply();
	}
}
// copy the +X face of a cubemap to a texture.
//拷贝Cubemap的X面到纹理

var c : Cubemap;
var t : Texture2D;
private var CubeMapColors : Color[];
CubeMapColors = c.GetPixels(CubemapFace.PositiveX);
t.SetPixels(CubeMapColors);
t.Apply(); 
//Apply changes to the copied texture
//应用改变到拷贝的纹理
最后修改:2011年3月18日 Friday 16:08

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。