Руководство API скрипты

CustomRenderTexture

к Руководству

класс в UnityEngine / Наследует от: RenderTexture / Реализовано в: UnityEngine.CoreModule

Описание

Пользовательские текстуры рендеринга — это расширение для текстур рендеринга, которое позволяет выполнять рендеринг напрямую в текстуру с помощью шейдера.

Пользовательские текстуры рендеринга — это расширение текстур рендеринга, которое позволяет обновлять текстуру с помощью шейдера, а затем использовать ее в обычном материале. Это полезно для реализации всех видов сложных симуляций, например: водные каустики, рябь для эффектов дождя или разбрызгивания жидкости на стену. Также предоставляется среда сценариев и шейдеров, которая помогает с более сложными конфигурациями, такими как частичные или многопроходные обновления, а также с различной частотой обновлений.

Свойства

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 == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект..
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3