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

API потоковой передачи мип-карт

Используйте этот API, чтобы переопределить настройки по умолчанию в системе потоковой передачи Mipmap или получить более точное управление.

Эта страница содержит следующую информацию:

Общую информацию об этой системе см. в разделе Система потоковой передачи Mipmap.

Обзор

Вы можете использовать API для переопределения поведения в определенных ситуациях, в то время как система потоковой передачи Mipmap автоматически управляет настройками по умолчанию.

Это полезно, если вы знаете, что Unity необходимо полностью загрузить определенные текстуры; например, если они относятся к GameObjectsфундаментальному объекту в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки , и больше. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
, которые быстро перемещаются на большие расстояния, или если вы используете мгновенную камеруКомпонент, который создает изображение определенной точки обзора в вашей сцене. Вывод либо рисуется на экране, либо фиксируется в виде текстуры. Подробнее
См. в Словарь
.

Управление системой потоковой передачи Mipmap

Чтобы включить потоковую передачу Mipmap для текстуры и управлять ею, используйте следующие свойства:

Потоковая передача Mipmap автоматически уменьшает уровень мип-текстур до тех пор, пока они не будут соответствовать бюджету памяти потоковой передачи Mipmap. Число приоритета Mip-карты текстуры примерно равно смещению MIP-карты для бюджета памяти. Например, с приоритетом 2 система Mipmap Streaming пытается использовать мип, который на два уровня мип выше, чем другие текстуры с приоритетом 0. Допустимы и отрицательные значения. Если он не может этого сделать, он использует более низкий уровень MIP, чтобы соответствовать Бюджету памяти.

Эти свойства доступны только для чтения во время выполнения:

Чтобы управлять тем, что происходит во время выполнения, используйте следующие статические свойства:

Управление камерами

При переходе из одного места в другое системе Mipmap Streaming требуется время для потоковой передачи необходимых текстур в Unity. Чтобы запустить предварительную загрузку в отключенной целевой камере, вызовите StreamingController.SetPreloading в компоненте Streaming Controller целевой камеры. Вы можете указать тайм-аут для завершения фазы предварительной загрузки. Чтобы камера автоматически включалась в конце этапа предварительной загрузки, установите в скрипте флаг activateCameraOnTimeout в значение true. Чтобы отключить камеру после перехода от нее к новой, передайте эту камеру в качестве параметра disableCameraCuttingFrom.

void StreamingController.SetPreloading(float timeoutSeconds=0.0f, bool enableCameraOnTimeout=false, Camera disabledCameraCuttingFrom=null)

Чтобы отменить или запросить состояние предварительной загрузки, используйте следующие методы:

Чтобы определить, загружает ли система Mipmap Streaming текстуры, можно запросить следующие свойства:

Обратите внимание, что между включением камеры и моментом, когда значения этих свойств становятся отличными от нуля, существует задержка. Эта задержка связана с тем, что система Mipmap Streaming вычисляет MIP-карты, используя обработку с разделением по времени. По этой причине во время монтажа камеры вы должны ждать минимальное время перед монтажом. Бюджет текстуры и СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
движение может привести к непрерывной потоковой передаче Mipmap, поэтому вам также необходимо установить максимальное время до обрезки.

Загрузка определенного мип-уровня

Чтобы переопределить расчет уровня MIP для конкретной Текстуры, используйте Texture2D.requestedMipmapLevel. Это точный мип-уровень в диапазоне от 0 до максимального мип-уровня конкретной Текстуры или значение Max Level Reduction, если оно ниже. 0 — максимальное разрешение MIP.

Чтобы проверить, загружен ли запрошенный вами уровень MIP, используйте Texture2D.IsRequestedMipmapLevelLoaded.

Если вы больше не хотите переопределять запрошенный вами уровень MIP и вместо этого хотите, чтобы система продолжала вычислять уровни MIP, используйте Texture2D.ClearRequestedMipmapLevel для сброса значения.

Чтобы получить оценку плотности УФ-излучения на Meshосновном графическом примитиве Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
, используйте следующее:

float Mesh.GetUVDistributionMetric(int uvSetIndex)

Вы можете использовать метрику UV-распределения для расчета необходимого уровня MIP-карты на основе положения камеры. Пример кода см. в разделе Mesh.GetUVDistributionMetric.

Чтобы переопределить систему и принудительно загрузить все MIP-файлы, используйте Texture.streamingTextureForceLoadAll.

Отладка и профилирование

Чтобы получить информацию о потоковой передаче для каждой текстуры в свойствах материала, которую можно использовать для создания визуализаций отладки, используйте Texture.SetStreamingTextureMaterialDebugProperties.

Следующие свойства текстуры также могут быть полезны для разработки инструментов профилирования/отладки Mipmap Streaming для вашего проекта.

Чтобы получить информацию о количестве текстур или средств визуализации, с которыми взаимодействует система Mipmap Streaming, используйте следующие свойства:

Чтобы получить информацию об уровнях MIP-текстуры для текстуры, используйте следующие свойства:

Связанные методы Unity API

Чтобы получить и установить текстуру, назначенную материалу, используйте:

Чтобы получить все свойства Текстуры для Материала, используйте:

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3