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

Texture2DArray

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

Описание

Класс для обработки массивов 2D-текстур.

Современные графические API (например, D3D10 и более поздние версии, OpenGL ES 3.0 и более поздние версии, Metal и т. д.) поддерживают "массивы текстур", т. е. массивы текстур одинакового размера и формата. Со стороны шейдера они рассматриваются как единый ресурс, и для их выборки требуется дополнительная координата, указывающая, из какого элемента массива следует производить выборку.

Обычно массивы текстур полезны в качестве альтернативы атласам текстур или в других случаях, когда объекты используют набор текстур одинакового размера (например, ландшафты).

В настоящее время массивы текстур в Unity не имеют конвейера импорта и должны создаваться из кода либо во время выполнения, либо в сценариях редактора. Использование Graphics.CopyTexture полезно для быстрого копирования пиксельных данных из обычных 2D-текстур в элементы массива текстур. Из сценариев редактора распространенный способ создания сериализованного массива текстур состоит в том, чтобы создать его, заполнить данными (либо с помощью Graphics.CopyTexture из обычных 2D-текстур, либо с помощью SetPixels или SetPixels32) и сохраните его как актив с помощью AssetDatabase.CreateAsset.

Обратите внимание, что не все платформы и графические процессоры поддерживают массивы текстур; например, Direct3D9 и OpenGL ES 2.0 этого не делают. Используйте SystemInfo.supports2DArrayTextures для проверки. Кроме того, этот класс не поддерживает создание Texture2DArray со сжатием Crunch TextureFormat.

Статические Свойства

allSlices Только чтение. Это свойство используется в качестве параметра в некоторых перегрузках методов CommandBuffer.Blit, Graphics.Blit, CommandBuffer.SetRenderTarget и Graphics.SetRenderTarget, чтобы указать, что все фрагменты массива текстур связаны. Значение этого свойства равно -1.

Свойства

depth Количество элементов в массиве текстур (только для чтения).
format Формат текстуры (только для чтения).

Конструкторы

Texture2DArray Создайте новый массив текстур.

Публичные Методы

Apply Фактически применить все предыдущие изменения SetPixels.
GetPixelData Получает необработанные данные из Текстуры для чтения или записи.
GetPixels Получает копию данных о цвете пикселя для заданного уровня MIP данного фрагмента. Цвета представлены структурами Color.
GetPixels32 Получает копию данных о цвете пикселей для данного фрагмента на заданном уровне MIP. Цвета представлены структурами Color32 более низкой точности.
SetPixelData Установите значения пикселей из необработанных предварительно отформатированных данных.
SetPixels Установите цвета пикселей для всего мип-уровня.
SetPixels32 Установите цвета пикселей для всего мип-уровня.

Унаследованные члены

Статические Свойства

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 Имя объекта.
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 Возвращает имя объекта.
GetNativeTexturePtr Получает собственный (основной графический API) указатель на ресурс текстуры.
IncrementUpdateCount Увеличивает счетчик обновлений.

Статические Методы

Destroy Удаляет игровой объект, компонент или ресурс.
DestroyImmediate Немедленно уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy.
DontDestroyOnLoad Не уничтожает целевой объект при загрузке новой сцены.
FindObjectOfType Возвращает первый активный загруженный объект типа Type.
FindObjectsOfType Получает список всех загруженных объектов типа Type.
Instantiate Клонирует исходный объект и возвращает клон.
SetGlobalAnisotropicFilteringLimits Устанавливает пределы анизотропии.
SetStreamingTextureMaterialDebugProperties Эта функция устанавливает свойства отладки потоковой передачи MIP-карт для любых материалов, которые используют эту Текстуру через систему потоковой передачи MIP-карт.

Операторы

bool Объект существует?
operator != Сравнивает, ссылаются ли два объекта на другой объект.
operator == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект..
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3