Описание
Пользовательские текстуры рендеринга — это расширение для текстур рендеринга, которое позволяет выполнять рендеринг напрямую в текстуру с помощью шейдера.
Пользовательские текстуры рендеринга — это расширение текстур рендеринга, которое позволяет обновлять текстуру с помощью шейдера, а затем использовать ее в обычном материале. Это полезно для реализации всех видов сложных симуляций, например: водные каустики, рябь для эффектов дождя или разбрызгивания жидкости на стену. Также предоставляется среда сценариев и шейдеров, которая помогает с более сложными конфигурациями, такими как частичные или многопроходные обновления, а также с различной частотой обновлений.
Свойства
cubemapFaceMask | Битовое поле, которое можно использовать для включения или отключения обновления на каждой грани кубической карты. Порядок битов от младшего к старшему выглядит следующим образом: +X, -X, +Y, -Y, +Z, -Z. |
doubleBuffered | Если для этого параметра установлено значение true, Unity выполняет двойную буферизацию пользовательской текстуры рендеринга, чтобы вы могли получить к ней доступ во время ее собственного обновления. |
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 выражает зоны обновления. Вы можете установить для этого параметра значение Normalized или Pixel space. |
wrapUpdateZones | Если для этого параметра установлено значение true, Unity оборачивает зоны обновления вокруг границы пользовательской текстуры рендеринга. В противном случае Unity зажимает зоны обновления на границе пользовательской текстуры рендеринга. |
Конструкторы
CustomRenderTexture | Создайте новую пользовательскую текстуру рендеринга. |
Публичные Методы
ClearUpdateZones | Очистить все зоны обновления. |
EnsureDoubleBufferConsistency | Обновляет внутреннюю текстуру визуализации, которую пользовательская текстура визуализации использует для двойной буферизации, чтобы она соответствовала размеру и формату пользовательской текстуры визуализации. |
GetDoubleBufferRenderTexture | Получает текстуру визуализации, которую эта пользовательская текстура визуализации использует для двойной буферизации. |
GetUpdateZones | Возвращает список зон обновления. |
Initialize | Инициализирует пользовательскую текстуру рендеринга в начале следующего кадра. Unity вызывает /Initialise()/ перед /CustomRenderTexture.Update/. |
SetUpdateZones | Настройте список зон обновления для пользовательской текстуры визуализации. |
Update | Запускает обновление пользовательской текстуры визуализации. |
Унаследованные члены
Статические Свойства
active | Текущая активная текстура рендеринга. |
allowThreadedTextureCreation | Разрешает внутренним компонентам Unity создавать текстуры в любом потоке (а не в выделенном потоке рендеринга). |
currentTextureMemory | Объем памяти, который используют все текстуры в сцене. |
desiredTextureMemory | Общий размер текстур в байтах, загружаемых Unity при отсутствии других ограничений. Прежде чем Unity загрузит какие-либо текстуры, он применяет бюджет памяти, который уменьшает загруженное разрешение текстуры, если размеры текстуры превышают его значение. Значение `desiredTextureMemory` учитывает уровни MIP-карт, которые Unity запросила или которые вы установили вручную. Например, если Unity не загружает текстуру с полным разрешением, потому что она находится далеко или запрошенный уровень MIP-карт больше 0, Unity уменьшает значение `desiredTextureMemory`, чтобы оно соответствовало общему объему необходимой памяти. Значение `desiredTextureMemory` может быть больше, чем значение `targetTextureMemory`. |
GenerateAllMips | Может использоваться с конструкторами текстур, которые используют счетчик MIP, чтобы указать, что должны быть сгенерированы все MIP. Значение этого поля равно -1. |
nonStreamingTextureCount | Количество непотоковых текстур в сцене. Сюда входят экземпляры текстур Texture2D и CubeMap. Сюда не входят любые другие типы текстур, а также 2D-текстуры и текстуры CubeMap, создаваемые внутри Unity. |
nonStreamingTextureMemory | Объем памяти, который Unity выделяет для непотоковых текстур в сцене. Сюда входят только экземпляры текстур Texture2D и CubeMap. Сюда не входят любые другие типы текстур, а также 2D-текстуры и текстуры CubeMap, создаваемые внутри Unity. |
streamingMipmapUploadCount | Сколько раз была загружена текстура из-за потоковой передачи MIP-карт текстуры. |
streamingRendererCount | Количество средств визуализации, зарегистрированных в системе потоковой передачи текстур. |
streamingTextureCount | Количество потоковых текстур. |
streamingTextureDiscardUnusedMips | Это свойство заставляет систему потоковой передачи текстур отбрасывать все неиспользуемые MIP-карты вместо их кэширования до тех пор, пока не будет превышен бюджет памяти текстуры. Это полезно, когда вы профилируете или пишете тесты, чтобы сохранить предсказуемый набор текстур в памяти. |
streamingTextureForceLoadAll | Заставить потоковые текстуры загружать все уровни MIP-карт. |
streamingTextureLoadingCount | Количество потоковых текстур с загруженными в данный момент мип-картами. |
streamingTexturePendingLoadCount | Количество потоковых текстур с ожидающими загрузки мип-картами. |
targetTextureMemory | Общий объем памяти текстур, который Unity выделяет текстурам в сцене после применения бюджета памяти и завершения загрузки текстур. `targetTextureMemory` также принимает во внимание настройки потоковой передачи mipmap. Это значение включает только экземпляры текстур Texture2D и CubeMap. Он не включает какие-либо другие типы текстур, а также 2D-текстуры и текстуры CubeMap, создаваемые внутри Unity. |
totalTextureMemory | Общий объем памяти текстур, который Unity будет использовать, если он загрузит все текстуры на уровне mipmap 0. Это теоретическое значение, которое не принимает во внимание какие-либо входные данные из системы потоковой передачи или любые другие входные данные. например, когда вы устанавливаете «Texture2D.requestedMipmapLevel» вручную. Чтобы увидеть значение памяти текстуры, которое учитывает входные данные, используйте «desiredTextureMemory». «totalTextureMemory» включает только экземпляры текстур Texture2D и CubeMap. Он не включает какие-либо другие типы текстур, а также 2D-текстуры и текстуры CubeMap, создаваемые внутри Unity. |
Свойства
hideFlags | Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name | Имя объекта. |
antiAliasing | Уровень сглаживания для RenderTexture. |
autoGenerateMips | Уровни Mipmap генерируются автоматически при установке этого флага. |
bindTextureMS | Если значение true и сглаживание больше 1, текстура рендеринга не будет обрабатываться по умолчанию. Используйте это, если текстуру рендеринга необходимо связать в шейдере как мультисэмплированную текстуру. |
colorBuffer | Цветовой буфер текстуры рендеринга (только для чтения). |
depth | Точность буфера глубины текстуры рендеринга в битах (поддерживается 0, 16, 24/32). |
depthBuffer | Буфер глубины/трафарета текстуры рендеринга (только для чтения). |
descriptor | Эта структура содержит всю информацию, необходимую для создания RenderTexture. Его можно копировать, кэшировать и повторно использовать для простого создания RenderTexture с одинаковыми свойствами. |
dimension | Размерность (тип) текстуры рендера. |
enableRandomWrite | Включить произвольную запись в эту визуализированную текстуру для шейдеров уровня Shader Model 5.0. |
graphicsFormat | Цветовой формат визуализируемой текстуры. |
height | Высота визуализируемой текстуры в пикселях. |
memorylessMode | Свойство режима без памяти текстуры рендеринга. |
sRGB | Использует ли эта визуализированная текстура преобразования чтения/записи sRGB? (Только чтение). |
stencilFormat | Формат данных трафарета, которые вы можете инкапсулировать в RenderTexture. Указание этого свойства создает элемент трафарета для RenderTexture и задает его формат. Это позволяет привязывать данные трафарета как текстуру ко всем типам шейдеров для платформ, которые его поддерживают. Это свойство не указывает формат буфера трафарета, который ограничен форматом буфера глубины, указанным в RenderTexture.depth. В настоящее время большинство платформ поддерживают только R8_UInt (DirectX11, DirectX12), а PS4 также поддерживает R8_UNorm. |
useDynamicScale | Текстура рендеринга помечена для масштабирования системой динамического разрешения. |
useMipMap | Текстура рендеринга имеет MIP-карты, когда этот флаг установлен. |
volumeDepth | Объемный экстент текстуры 3D-рендеринга или количество фрагментов текстуры массива. |
vrUsage | Если RenderTexture представляет собой текстуру глаза виртуальной реальности, используемую в стереоскопическом рендеринге, это свойство определяет, какой специальный рендеринг будет выполняться, если таковой имеется. |
width | Ширина визуализируемой текстуры в пикселях. |
anisoLevel | Определяет уровень анизотропной фильтрации Текстуры. |
dimension | Размерность (тип) текстуры (только для чтения). |
filterMode | Режим фильтрации Текстуры. |
graphicsFormat | Возвращает формат GraphicsFormat или формат цвета объекта текстуры. |
height | Высота текстуры в пикселях. (Только чтение) |
imageContentsHash | Хеш-значение текстуры. |
isReadable | Сохраняет ли Unity дополнительную копию пиксельных данных этой текстуры в адресуемой ЦП памяти. |
mipMapBias | Смещение MIP-карты Текстуры. |
mipmapCount | Сколько уровней MIP-карт в этой текстуре (только для чтения). |
updateCount | Этот счетчик увеличивается при обновлении текстуры. |
width | Ширина текстуры в пикселях. (Только чтение) |
wrapMode | Режим переноса координат текстуры. |
wrapModeU | Режим переноса координат текстуры U. |
wrapModeV | Режим переноса координат текстуры V. |
wrapModeW | Режим переноса координат текстуры W для Texture3D. |
Публичные Методы
GetInstanceID | Возвращает идентификатор экземпляра объекта. |
ToString | Возвращает имя объекта. |
ConvertToEquirect | Преобразует визуализированную текстуру в равнопрямоугольный формат (как стереоскопический, так и моноскопический равнопрямоугольный). Левый глаз будет занимать верхнюю половину, а правый глаз — нижнюю. Моноскопическая версия займет всю текстуру. Размер текстуры должен иметь тип TextureDimension.Cube. |
Create | Фактически создает RenderTexture. |
DiscardContents | Подсказывает драйверу графического процессора, что содержимое RenderTexture не будет использоваться. |
GenerateMips | Создание уровней MIP-карты текстуры рендеринга. |
GetNativeDepthBufferPtr | Получает собственный (основной графический API) указатель на ресурс буфера глубины. |
IsCreated | Текстура рендеринга действительно создана? |
MarkRestoreExpected | Указывает, что ожидается операция восстановления RenderTexture. |
Release | Выпускает RenderTexture. |
ResolveAntiAliasedSurface | Принудительное разрешение сглаженной текстуры рендеринга. |
SetGlobalShaderProperty | Назначает эту RenderTexture в качестве глобального свойства шейдера с именем propertyName. |
GetNativeTexturePtr | Получает собственный (основной графический API) указатель на ресурс текстуры. |
IncrementUpdateCount | Увеличивает счетчик обновлений. |
Статические Методы
Destroy | Удаляет игровой объект, компонент или ресурс. |
DestroyImmediate | Немедленно уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy. |
DontDestroyOnLoad | Не уничтожает целевой объект при загрузке новой сцены. |
FindObjectOfType | Возвращает первый активный загруженный объект типа Type. |
FindObjectsOfType | Получает список всех загруженных объектов типа Type. |
Instantiate | Клонирует исходный объект и возвращает клон. |
GetTemporary | Выделяет временную текстуру рендеринга. |
ReleaseTemporary | Освободить временную текстуру, выделенную с помощью GetTemporary. |
SupportsStencil | Есть ли у RenderTexture буфер трафарета? |
SetGlobalAnisotropicFilteringLimits | Устанавливает пределы анизотропии. |
SetStreamingTextureMaterialDebugProperties | Эта функция устанавливает свойства отладки потоковой передачи MIP-карт для любых материалов, которые используют эту Текстуру через систему потоковой передачи MIP-карт. |
Операторы
bool | Объект существует? |
operator != | Сравнивает, ссылаются ли два объекта на другой объект. |
operator == | Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.. |