public byte[] GetRawTextureData ();

반환

byte[] Raw texture data as a byte array.

설명

Get raw data from a texture.

This function returns the raw texture data as a byte array, which you can then use with Texture2D.LoadRawTextureData. This allows you to serialize and load textures of any format (including compressed ones), and to load them back into a texture later.

Note that this function returns Unity's system memory copy of the texture data, so for it to work the texture has to be marked as "readable".

Also note that the system memory copy might not match what is in the GPU texture data at the moment. For example, after calling SetPixels the system memory copy is already modified, but the GPU copy will only match after calling Apply(). Some cases of Graphics.CopyTexture might be copying only the GPU texture side (e.g. copying from a RenderTexture into a Texture2D), and this will not be reflected in GetRawTextureData contents.

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(); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961