Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static byte[] EncodeToEXR(Texture2D tex, Texture2D.EXRFlags flags);

Параметры

tex Текстура для преобразования.
flags Флаги, используемые для управления сжатием и выходным форматом.

Описание

Кодирует эту текстуру в формат EXR.

Эта функция возвращает массив байтов, который представляет собой данные файла EXR. Запишите эти данные на диск, чтобы получить данные в формате файла EXR.

Эту функцию лучше всего использовать для форматов текстур HDR (16-битных или 32-битных с плавающей запятой). Выходной формат по умолчанию — 16-битный EXR с плавающей запятой. Для передачи текстуры Texture.isReadable должно быть true..

Закодированные данные EXR всегда будут содержать альфа-канал.

Для одноканальных красных текстур ( R8, R16, RFloat и RHalf), закодированные данные будут в оттенках серого.

// Saves HDR RenderTexture as an EXR file. using UnityEngine; using System.Collections; using System.IO; public class SaveRenderTextureToEXR : MonoBehaviour { RenderTexture m_InputTexture; void SaveRenderTexture() { if (m_InputTexture != null) { int width = m_InputTexture.width; int height = m_InputTexture.height; Texture2D tex = new Texture2D(width, height, TextureFormat.RGBAFloat, false); // Read screen contents into the texture Graphics.SetRenderTarget(m_InputTexture); tex.ReadPixels(new Rect(0, 0, width, height), 0, 0); tex.Apply(); // Encode texture into the EXR byte[] bytes = tex.EncodeToEXR(Texture2D.EXRFlags.CompressZIP); File.WriteAllBytes(Application.dataPath + "/../SavedRenderTexture.exr", bytes); Object.DestroyImmediate(tex); } } }

Смотрите так же: EncodeArrayToEXR, EncodeNativeArrayToEXR, EncodeToPNG, EncodeToJPG, EncodeToTGA.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3