CustomRenderTexture
Описание
Пользовательские текстуры рендеринга являются расширением текстур рендеринга, которые позволяют рендеринг непосредственно на текстуру с помощью шейдера.
Настраиваемые текстуры рендеринга являются расширением текстур рендеринга, которые позволяют обновить текстуру с помощью шейдера, а затем использовать ее в обычном материале. Это полезно для реализации всех видов сложных симуляторов, например: водные каустики, симуляторы волн для эффектов дождя, или жидкости, брызгающиеся на стену. Также предоставляется скрипт и Shader framework, чтобы помочь с более сложными конфигурациями, такими как частичные или многопроходные обновления, и изменяющаяся частота обновления.
Свойства
| Свойство | Описание |
|---|---|
| cubemapFaceMask | Поле битов, которое можно использовать для включения или отключения обновления на каждой из поверхностей кубического сопоставления. Порядок битов от наименее значимого до наиболее значимого бита следующий: +X, -X, +Y, -Y, +Z, -Z. |
| doubleBuffered | Когда этот параметр установлен в true, Unity двойным буферизирует текстуру Custom Render Texture, чтобы вы могли получить к ней доступ во время ее обновления. |
| initializationColor | Цвет, который Unity использует для инициализации пользовательской текстуры рендеринга. Unity игнорирует этот параметр, если установлен initializationMaterial. |
| initializationMaterial | Материал, который Unity использует для инициализации пользовательской текстуры рендеринга. Текстура и цвет инициализации игнорируются, если вы установили этот параметр. |
| initializationMode | Определите, как Unity инициализирует текстуру. |
| initializationSource | Определить, инициализирует ли Unity пользовательскую текстуру рендеринга с текстурой и цветом или материалом. |
| initializationTexture | Текстура, которую Unity использует для инициализации пользовательской текстуры рендеринга, умноженная на цвет инициализации. Unity игнорирует этот параметр, если установлен initializationMaterial. |
| material | Материал, который Unity использует для инициализации содержимого пользовательской текстуры рендеринга. |
| shaderPass | Shader Pass Unity используется для обновления пользовательской текстуры рендеринга. |
| updateMode | Определите, как Unity обновляет пользовательскую текстуру рендеринга. |
| updatePeriod | Период в секундах, в течение которого Unity обновляет текстуры пользовательского рендеринга в реальном времени. Значение 0.0 означает, что Unity обновляет текстуры пользовательского рендеринга в реальном времени каждый кадр. |
| updateZoneSpace | Пространство, в котором Unity выражает зоны обновления. Вы можете установить это на Нормализованное или Пиксельное пространство. |
| wrapUpdateZones | Когда этот параметр установлен в true, Unity обворачивает зоны обновления вокруг границы текстуры пользовательского рендеринга. В противном случае Unity зажимает зоны обновления на границе текстуры пользовательского рендеринга. |
Конструкторы
| Конструктор | Описание |
|---|---|
| CustomRenderTexture | Создать новую пользовательскую текстуру рендеринга. |
Открытые методы
| Метод | Описание |
|---|---|
| ClearUpdateZones | Очистка всех зон обновления. |
| EnsureDoubleBufferConsistency | Обновляет внутреннюю Render Texture, которую Custom Render Texture использует для двойной буферизации, чтобы её размер и формат совпадали с Custom Render Texture. |
| GetDoubleBufferRenderTexture | Получить текстуру отображения, которую эта пользовательская текстура отображения использует для двойного буферизации. |
| GetUpdateZones | Возвращает список Зон Обновления. |
| Initialize | Инициализирует пользовательскую текстуру рендеринга в начале следующего кадра. Unity вызывает /Initialise()/ перед /CustomRenderTexture.Update/. |
| SetUpdateZones | Настройка списка зон обновления для пользовательской текстуры рендеринга. |
| Update | Триггер обновления пользовательской текстуры рендеринга. |
Унаследованные члены 5
Статические свойства
| Свойство | Описание |
|---|---|
| active | Текущая активная текстура отображения. |
| allowThreadedTextureCreation | Разрешить Unity internals выполнять создание текстуры на любом потоке (вместо выделенного потока рендеринга). |
| currentTextureMemory | Количество памяти, которое используют все текстуры в сцене. |
| desiredTextureMemory | Общее количество памяти текстуры в байтах, которое Unity использовало бы при отсутствии ограничений. |
| GenerateAllMips | Может быть использовано с конструкторами Текстуры, которые принимают число mip для указания, что все mip должны быть созданы. Значение этого поля -1. |
| nonStreamingTextureCount | Количество текстур в сцене, которые не являются потоковыми. Это включает экземпляры текстур Texture2D и CubeMap. Это не включает другие типы текстур или текстуры 2D и CubeMap, которые Unity создает внутри сцены. |
| nonStreamingTextureMemory | Количество памяти, которое Unity выделяет для не потоковых Текстур в сцене. Это включает только экземпляры Текстур Texture2D и CubeMap. Это не включает никакие другие типы Текстур, или Тексты 2D и CubeMap, которые Unity создает внутренне. |
| streamingMipmapUploadCount | Сколько раз текстура была загружена из-за потока Texture mipmap. |
| streamingRendererCount | Число рендереров, зарегистрированных в системе потокового передачи текстур. |
| streamingTextureCount | Количество потоковых текстур. |
| streamingTextureDiscardUnusedMips | Это свойство заставляет потоковую систему Текстур отбрасывать все неиспользуемые mipmaps вместо их кэширования до тех пор, пока бюджет памяти Текстуры не будет превышен. Это полезно при профилировании или написании тестов для сохранения предсказуемого набора Текстур в памяти. |
| streamingTextureForceLoadAll | Принудительная загрузка потоковых текстур на все уровни. |
| streamingTextureLoadingCount | Число потоковых Текстур с загружаемыми в настоящее время mipmaps. |
| streamingTexturePendingLoadCount | Число потоковых текстур с выходящими mipmaps для загрузки. |
| targetTextureMemory | Общее использование памяти текстур в байтах после применения бюджета памяти и загрузки всех текстур. |
| totalTextureMemory | Общая память текстур, в байтах, которую Unity использовала бы, если бы все текстуры были загружены в полном разрешении. |
Свойства
| Свойство | Описание |
|---|---|
| hideFlags | Должен ли объект быть скрытым, сохраняться с Scene или изменяться пользователем? |
| name | Имя объекта. |
| antiAliasing | Уровень сглаживания для RenderTexture. |
| autoGenerateMips | Уровни Mipmap генерируются автоматически, когда этот флаг установлен. |
| bindTextureMS | Если true и antiAliasing больше 1, то по умолчанию текстура рендеринга не будет разрешаться. Используйте это, если текстура рендеринга должна быть связана как мультисемплированная текстура в шейдере. |
| colorBuffer | Цветовой буфер текстуры рендеринга (только для чтения). |
| depth | Точность буфера глубины текстуры рендеринга в битах (поддерживаются значения 0, 16, 24 и 32). |
| depthBuffer | Буфер глубины/шаблона текстуры рендеринга (только для чтения). |
| depthStencilFormat | Формат буфера глубины/шаблона. |
| descriptor | Эта структура содержит всю информацию, необходимую для создания RenderTexture. Её можно копировать, кэшировать и переиспользовать, чтобы легко создавать RenderTexture с одинаковыми свойствами. |
| dimension | Размерность (тип) рендируемой текстуры. |
| enableRandomWrite | Разрешить случайную запись в эту текстуру рендеринга на шейдерах уровня Shader Model 5.0. |
| enableShadingRate | Сделайте эту текстуру рендеринга пригодной для использования в качестве изображения с частотой затенения. |
| graphicsFormat | Цветовой формат отображаемой текстуры. Для отображения только глубины вы можете установить цветовой формат на Нет. |
| height | Высота текстуры рендеринга в пикселях. |
| memorylessMode | Свойство безпамятного режима отображения текстуры. |
| sRGB | Использует ли эта текстура рендеринга преобразования чтения/записи sRGB? (только чтение). |
| stencilFormat | Формат данных шаблона, которые вы можете инкапсулировать в RenderTexture.Specifying это свойство создает элемент шаблона для RenderTexture и устанавливает его формат. Это позволяет связывать данные шаблона как Текстуру ко всем типам шейдеров для платформ, которые его поддерживают. Это свойство не указывает формат буфера шаблона, который ограничен форматом глубинного буфера, указанным в RenderTexture.depth.Currently, большинство платформ поддерживают только R8_UInt (DirectX11, DirectX12). |
| useDynamicScale | Когда этот флаг установлен в true, текстура отображения устанавливается для использования системой Динамического Разрешения. |
| useDynamicScaleExplicit | Когда этот флаг установлен в true, текстура рендеринга используется системой динамического разрешения. Масштабирование применяется с явным вызовом ApplyDynamicScale |
| useMipMap | Текстура рендеринга имеет mipmaps, когда этот флаг установлен. |
| volumeDepth | Объем текстуры рендеринга 3D или количество слоев текстуры массива. |
| vrUsage | Если это RenderTexture является текстурой глаза VR, используемой в стереоскопическом отображении, это свойство определяет, какое специальное отображение происходит, если оно вообще происходит. |
| width | Ширина текстуры рендеринга в пикселях. |
| anisoLevel | Определяет уровень анизотропной фильтрации текстуры. |
| filterMode | Режим фильтрации текстуры. |
| graphicsTexture | GraphicsTexture, который представляет ресурс текстуры, загруженный на графическое устройство. |
| imageContentsHash | Хеш текстуры. |
| isDataSRGB | Возвращает true, если данные текстуры пикселя находятся в цветовом пространстве sRGB. |
| isReadable | Сохраняет ли Unity дополнительную копию пиксельных данных текстуры в адресуемой памяти CPU. |
| mipMapBias | Отклонение текстуры от mipmap. |
| mipmapCount | Сколько уровней mipmap есть в текстуре. |
| updateCount | Этот счетчик увеличивается при обновлении Текстуры. |
| wrapMode | Варианты выборки текстуры, если координата текстуры находится вне диапазона [0, 1]. |
| wrapModeU | Варианты выборки текстуры, если координата U текстуры находится вне диапазона [0, 1]. |
| wrapModeV | Варианты выборки текстуры, если координата текстуры V находится вне диапазона [0, 1]. |
| wrapModeW | Варианты выборки текстуры, если координата W находится вне диапазона [0, 1]. |
Открытые методы
| Метод | Описание |
|---|---|
| GetInstanceID | Получает экземпляр ID объекта. |
| ToString | Возвращает имя объекта. |
| ApplyDynamicScale | Применяет системный масштаб динамического разрешения. |
| ConvertToEquirect | Преобразует текстуру рендеринга в эквипрямоугольный формат (как стереоскопический, так и моноскопический эквирект). Левый глаз займет верхнюю половину, а правый глаз — нижнюю. Моноскопическая версия займет всю текстуру. Размер текстуры должен быть типа TextureDimension.Cube. |
| Create | Фактически создает RenderTexture. |
| DiscardContents | Подскажите драйверу GPU, что содержимое RenderTexture не будет использоваться. |
| GenerateMips | Создание уровней mipmap текстуры рендеринга. |
| GetNativeDepthBufferPtr | Получить основной (базовая графика API) указатель на ресурс глубинного буфера. |
| IsCreated | Была ли создана текстура рендеринга? |
| Release | Освободит RenderTexture. |
| ResolveAntiAliasedSurface | Принудительное разрешение текстуры рендеринга с выравниванием. |
| SetGlobalShaderProperty | Назначает это RenderTexture как глобальное свойство шейдера с именем propertyName. |
| GetNativeTexturePtr | Получить собственный (базовый график API) указатель на ресурс Текстура. |
| IncrementUpdateCount | Увеличение счетчика обновлений. |
Статические методы
| Метод | Описание |
|---|---|
| Destroy | Удаляет GameObject, компонент или ресурс. |
| DestroyImmediate | Немедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования. |
| DontDestroyOnLoad | Не уничтожать целевой Объект при загрузке нового Scene. |
| FindAnyObjectByType | Получает любой активный загруженный объект типа Type. |
| FindFirstObjectByType | Получает первый активный загруженный объект типа Type. |
| FindObjectsByType | Получает список всех загруженных объектов типа Type. |
| Instantiate | Клонирует исходный объект и возвращает клон. |
| InstantiateAsync | Захватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation. |
| GetTemporary | Выделить временную текстуру рендеринга. |
| ReleaseTemporary | Освободить временную текстуру, выделенную GetTemporary. |
| SupportsStencil | Имеет ли RenderTexture буфер шаблона? |
| SetGlobalAnisotropicFilteringLimits | Задает пределы анизотропии. |
| SetStreamingTextureMaterialDebugProperties | Эта функция устанавливает свойства отладки потока mipmap для всех материалов, известных системе потока mipmap. |
Операторы
| Оператор | Описание |
|---|---|
| bool | Существует ли объект? |
| оператор!= | Сравнивает, если два объекта ссылаются на разные объекты. |
| оператор == | Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту. |