Unity 6.3
0 онлайн 62 гостей 3 в системе
Вход

Texture2DArray

класс в UnityEngine

Наследуется от:Texture

Выполнено в:UnityEngine.CoreModule

Описание

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

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

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

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

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

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

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

Свойства

Свойство Описание
activeMipmapLimitКоличество уровней mipmap высокого разрешения из текстуры, которые Unity не загружает в GPU. (только для чтения)
depthКоличество элементов в массиве текстуры (только для чтения).
formatФормат текстуры (только для чтения).
ignoreMipmapLimitЭто свойство заставляет текстуру игнорировать все настройки ограничений mipmap текстуры.
mipmapLimitGroupИмя группы ограничений mipmap текстуры, с которой связана данная текстура. (только для чтения)

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

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

Открытые методы

Метод Описание
ApplyКопирует изменения, сделанные в текстуре CPU в текстуру GPU.
CopyPixelsКопирует пиксельные данные из другой текстуры на CPU.
GetPixelDataПолучает необработанные данные из текстуры.
GetPixelsПолучает данные цвета пикселей для уровня mipmap сегмента в качестве структуры Color.
GetPixels32Получает данные цвета пикселей для уровня mipmap слоя в качестве структуры Color32.
SetPixelDataУстанавливает необработанные данные всего уровня mipmap непосредственно в память CPU.
SetPixelsЗадает цвета пикселей для всего уровня mipmap слоя.
SetPixels32Задает цвета пикселей для всего уровня mipmap слоя.
Унаследованные члены 5

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

СвойствоОписание
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Имя объекта.
anisoLevelОпределяет уровень анизотропной фильтрации текстуры.
dimensionРазмерность (тип) Текстуры.
filterModeРежим фильтрации текстуры.
graphicsFormatВозвращает формат GraphicsFormat или цветовой формат объекта Текстура.
graphicsTextureGraphicsTexture, который представляет ресурс текстуры, загруженный на графическое устройство.
heightВысота текстуры в пикселях.
imageContentsHashХеш текстуры.
isDataSRGBВозвращает true, если данные текстуры пикселя находятся в цветовом пространстве sRGB.
isReadableСохраняет ли Unity дополнительную копию пиксельных данных текстуры в адресуемой памяти CPU.
mipMapBiasОтклонение текстуры от mipmap.
mipmapCountСколько уровней mipmap есть в текстуре.
updateCountЭтот счетчик увеличивается при обновлении Текстуры.
widthШирина текстуры в пикселях.
wrapModeВарианты выборки текстуры, если координата текстуры находится вне диапазона [0, 1].
wrapModeUВарианты выборки текстуры, если координата U текстуры находится вне диапазона [0, 1].
wrapModeVВарианты выборки текстуры, если координата текстуры V находится вне диапазона [0, 1].
wrapModeWВарианты выборки текстуры, если координата W находится вне диапазона [0, 1].

Открытые методы

МетодОписание
GetInstanceIDПолучает экземпляр ID объекта.
ToStringВозвращает имя объекта.
GetNativeTexturePtrПолучить собственный (базовый график API) указатель на ресурс Текстура.
IncrementUpdateCountУвеличение счетчика обновлений.

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

МетодОписание
DestroyУдаляет GameObject, компонент или ресурс.
DestroyImmediateНемедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования.
DontDestroyOnLoadНе уничтожать целевой Объект при загрузке нового Scene.
FindAnyObjectByTypeПолучает любой активный загруженный объект типа Type.
FindFirstObjectByTypeПолучает первый активный загруженный объект типа Type.
FindObjectsByTypeПолучает список всех загруженных объектов типа Type.
InstantiateКлонирует исходный объект и возвращает клон.
InstantiateAsyncЗахватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation.
SetGlobalAnisotropicFilteringLimitsЗадает пределы анизотропии.
SetStreamingTextureMaterialDebugPropertiesЭта функция устанавливает свойства отладки потока mipmap для всех материалов, известных системе потока mipmap.

Операторы

ОператорОписание
boolСуществует ли объект?
оператор!=Сравнивает, если два объекта ссылаются на разные объекты.
оператор ==Сравнение двух ссылок на объекты для определения того, относятся ли они к одному и тому же объекту.