Введение в потоки mipmap
Используйте поток mipmap для ограничения размера текстур в памяти GPU.
Как работает поток mipmap
Для каждой текстуры в изображении камеры, Unity автоматически рассчитывает и загружает уровни mipmap только до определенного уровня, вместо того, чтобы загружать их все. Это означает, что Unity только передает некоторые уровни mipmap для текстуры с диска на CPU и GPU.
Unity рассчитывает, какие уровни mipmap загрузить из мешей, отображающих текстуру, их UV раскладки, и каждой камеры позиции и настройки. Он получает эти меши из Сетчатый фильтр или Рендерер меши с кожей компонентов, так что только объекты с одним из этих компонентов участвуют в этом расчете. Когда текстура появляется на нескольких объектах одновременно, Unity загружает наивысшее разрешение, которое требуется любому из этих объектов.
Если текстуры, требуемые Unity, не все вписываются в установленные пределы памяти, Unity загружает уровни mipmap с более низким разрешением для некоторых текстур. Если в пределах установленных пределов имеется свободная память, Unity сохраняет загруженные уровни mipmap с более высоким разрешением, так что текстура может оставаться загруженной с более высоким разрешением, чем требуется текущему представлению. Дополнительные сведения об установке пределов памяти см. в Настройка потока mipmap.
Ограничения
- Unity не поддерживает поток mipmap на рельефе текстуры, потому что Unity требует самых высоких уровней разрешения mipmap в любое время.
- Unity не поддерживает поток mipmap с массивами текстур, массивами cubemap или текстурами 3D.
- Если вы рендируете текстуру без Mesh Filter или Skinned Mesh Renderer — например, с API, таким как Graphics.DrawMeshNow, или через объект, перечисленный как неподдерживаемый — Unity не имеет информации, необходимой для вычисления уровня mipmap, поэтому он загружает уровень mipmap с самым низким разрешением, которое позволяют ваши настройки качества. Чтобы контролировать уровень, переопределяет уровень mipmap вручнуюили отключает поток mipmap на текстуре.
- Unity может не быть в состоянии вычислить правильный уровень mipmap для текстур, которые не используют специальное свойство
_STдля плитки текстуры и смещения. Дополнительную информацию о свойстве_STсм. в Доступ к свойствам шейдера в Cg/HLSL.