byte[] 原始纹理数据的字节数组。
从纹理中获取原始数据。
该函数将原始纹理数据以字节数组的形式返回,以便您可以使用 Texture2D.LoadRawTextureData 进行加载。这让您能够序列化和加载任意格式(包括压缩格式)的纹理,并稍后重新将它们加载到纹理中。
注意,该函数返回 Unity 的纹理数据的系统内存副本,因此要使其能够正常使用,纹理必须标记为“readable”。
另请注意,系统内存副本可能与当前 GPU 纹理数据中的内容不匹配。例如,
在调用 SetPixels 后,系统内存副本已修改,
但只有在调用 Apply() 后,GPU 副本才会匹配。对于某些 Graphics.CopyTexture,可能只复制 GPU 纹理部分
(例如从 RenderTexture 复制到 Texture2D),这不会反映在 GetRawTextureData 内容中。
using UnityEngine;
class CopyTexture : MonoBehaviour
{
// the source texture.
Texture2D tex;
void Start()
{
// Create a copy of the texture by reading and applying the raw texture data.
Texture2D texCopy = new Texture2D(tex.width, tex.height, tex.format, tex.mipmapCount > 1);
texCopy.LoadRawTextureData(tex.GetRawTextureData());
texCopy.Apply();
}
}