RenderTexture.RenderTexture Constructor
Declaration
public RenderTexture(RenderTexture textureToCopy);public RenderTexture(RenderTextureDescriptor desc);public RenderTexture(int width, int height, int depth, RenderTextureFormat format = RenderTextureFormat.Default, RenderTextureReadWrite readWrite = RenderTextureReadWrite.Default);Параметры
| Параметр | Описание |
|---|---|
| ширина | Ширина текстуры в пикселях. |
| высота | Высота текстуры в пикселях. |
| глубина | Количество бит в глубинном буфере (0, 16, 24 или 32). Обратите внимание, что только глубины 24 и 32 бит поддерживают буфер шаблона. |
| формат | Формат цвета текстуры. |
| colorFormat | Формат цвета для RenderTexture. |
| depthStencilFormat | Формат шаблона глубины для RenderTexture. |
| mipCount | Количество mips, выделяемых для RenderTexture. |
| readWrite | Как преобразования цветового пространства применяются к текстуре чтения/записи. |
| снижение | Создайте RenderTexture с настройками из RenderTextureDescriptor. |
| textureToCopy | Копировать настройки из другого RenderTexture. |
Описание
Создает новый объект RenderTexture.
Текстура рендеринга создается с помощью width размером height, с буфером глубины depth бит (глубина может быть 0, 16, 24 или 32), и в формате format и с sRGB включенным или выключенным чтением / записью.
Обратите внимание, что построение объекта RenderTexture не создает аппаратное представление сразу. Фактическая текстура рендеринга создается при первом использовании или при вызовах Create вручную. Таким образом, после построения текстуры рендеринга можно установить дополнительные переменные, такие как format, dimension и т.д.
Также обратите внимание, что возможности вашего графического устройства определяют максимальный размер RenderTexture. Для определения максимального размера используйте SystemInfo.maxTextureSize для 2D и кубического отображения RenderTextures, SystemInfo.maxTexture3DSize для 3D RenderTextures, и SystemInfo.maxTextureSize и SystemInfo.maxTextureArraySlices для массива 2D RenderTextures.
Когда запрашиваемый размер превышает максимальный размер, поведение Unity меняется. Если RenderTexture не является текстурой 3D, а запрашиваемый размер равен степени двух, Unity автоматически уменьшает запрашиваемый размер на фактор 2, пока он не будет ниже максимального, а затем создает RenderTexture в этом размере. В противном случае Unity не создает RenderTexture и вызывает ошибку.
Дополнительные ресурсы: format, GetTemporary.
using UnityEngine;
public class Example : MonoBehaviour { public RenderTexture rt;
void Start() { rt = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32); } }