Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Texture2D.LoadRawTextureData

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function LoadRawTextureData(data: byte[]): void;
public void LoadRawTextureData(byte[] data);
public function LoadRawTextureData(data: IntPtr, size: int): void;
public void LoadRawTextureData(IntPtr data, int size);

Параметры

data Byte array to initialize texture pixels with.
size Size of data in bytes.

Описание

Fills texture pixels with raw preformatted data.

This function fills texture pixel memory with raw data. This is mostly useful for loading compressed texture format data into a texture.

Passed data should be of required size to fill the whole texture according to its width, height, data format and mipmapCount. Mipmaps are laid out in memory starting from largest, with smaller mip level data immediately following.

For example, a 16x8 texture of ARGB32 type with no mipmaps can be filled with a 512-byte array (16x8x4).

Фактически, функция Apply загружает измененные пиксели в видео-карту.

See Also: SetPixels, SetPixels32, LoadImage, Apply.


        
using UnityEngine;

public class ExampleScript : MonoBehaviour {

public void Start () { // Create a 16x16 texture with PVRTC RGBA4 format // and will it with raw PVRTC bytes. Texture2D tex = new Texture2D(16, 16, TextureFormat.PVRTC_RGBA4, false); // Raw PVRTC4 data for a 16x16 texture. This format is four bits // per pixel, so data should be 16*16/2=128 bytes in size. // Texture that is encoded here is mostly green with some angular // blue and red lines. byte[] pvrtcBytes = new byte[] { 0x30,0x32,0x32,0x32,0xe7,0x30,0xaa,0x7f,0x32,0x32,0x32,0x32,0xf9,0x40,0xbc,0x7f, 0x03,0x03,0x03,0x03,0xf6,0x30,0x02,0x05,0x03,0x03,0x03,0x03,0xf4,0x30,0x03,0x06, 0x32,0x32,0x32,0x32,0xf7,0x40,0xaa,0x7f,0x32,0xf2,0x02,0xa8,0xe7,0x30,0xff,0xff, 0x03,0x03,0x03,0xff,0xe6,0x40,0x00,0x0f,0x00,0xff,0x00,0xaa,0xe9,0x40,0x9f,0xff, 0x5b,0x03,0x03,0x03,0xca,0x6a,0x0f,0x30,0x03,0x03,0x03,0xff,0xca,0x68,0x0f,0x30, 0xaa,0x94,0x90,0x40,0xba,0x5b,0xaf,0x68,0x40,0x00,0x00,0xff,0xca,0x58,0x0f,0x20, 0x00,0x00,0x00,0xff,0xe6,0x40,0x01,0x2c,0x00,0xff,0x00,0xaa,0xdb,0x41,0xff,0xff, 0x00,0x00,0x00,0xff,0xe8,0x40,0x01,0x1c,0x00,0xff,0x00,0xaa,0xbb,0x40,0xff,0xff, }; // Load data into the texture and upload it to the GPU. tex.LoadRawTextureData(pvrtcBytes); tex.Apply(); // Assign texture to renderer's material. GetComponent<Renderer>().material.mainTexture = tex; } }