Сделать LOD переходы гладкими в LOD Группе
Чтобы сделать LOD переходы плавными, включите LOD cross-fading. Дополнительную информацию см. в Введение в уровень детализации.
Выполните следующие действия:
В ресурсе Universal Render Pipeline (URP)включите LOD Крестовое выцветание.
-
В компоненте LOD Группа установите Режим затухания на Кросс-Фэйд.
Для ассетов SpeedTree выберите Speed Tree. Unity выбирает это автоматически при импорте модели SpeedTree с расширением .spm или .st. Дополнительные сведения см. в разделе Transition SpeedTree model vertexes.
Настройка переходов cross-fade
Чтобы настроить переходы перехода, выполните одно из следующих действий:
- Установить ширину перехода для каждого LOD, который происходит до достижения следующего порога LOD.
- Установить единое время перехода для всех LODs, которое наступает после достижения порога LOD.
В зависимости от вашего проекта, установка одного времени перехода может уменьшить количество переходов LODs, но сделать переходы более заметными, когда камера и GameObject не движутся.
Установить ширину перехода для каждого LOD
Чтобы установить ширину перехода для каждого LOD в Группе LOD, выполните следующие действия:
Убедитесь, что Animate Cross-fading отключен.
Выберите поле LOD, например зеленое поле LOD 0.
-
В панели LOD установите значение Fade Transition Width. Меньшее значение задерживает начало перехода и делает его короче.
Панель выбора группы LOD с отключенным Animate Cross-fading и визуализацией свойств ширины перехода. LOD0 имеет ширину перехода Fade Transition Width 40%, что означает, что переход к LOD1 происходит на 40% диапазона LOD0.
Установить единое время перехода для всех LODs
Чтобы установить единое время перехода для всех LODs в Группе LOD, выполните следующие действия:
- Включить Animate Cross-fading. Переход между LODs начинается, как только соотношение размера экрана модели достигает следующего порога LOD.
- Чтобы настроить время перехода, используйте LODGroup.crossFadeAnimationDuration API.
Настройка смешивания
Чтобы предоставить свой собственный метод смешивания, напишите пользовательский шейдер в зависимости от типа приложения и конвейера производства ассетов.
Unity выполняет следующие действия:
- Вычисляет коэффициент смешения, используя размер экрана GameObject, и передает его шейдерам в униформенной переменной
unity_LODFade. - Включает ключевое слово
LOD_FADE_CROSSFADE, когда свойство Режим затухания установлено на Кросс-Фэйд.
Вершины модели перехода SpeedTree
Если вы установите Режим затухания на Speed Tree, Unity интерполирует вершины SpeedTree моделей, чтобы постепенно преобразовать геометрию модели от текущей к следующей LOD.
Unity не может интерполировать между позициями вершин для следующих моделей и типов переходов:
- SpeedTree модели с расширением файла .st9. В этом случае Unity изменяет LODs без плавного перехода. Установите Режим затухания на Кросс-Фэйд вместо этого.
- Выходы и переходы на рекламный щит LODs. В этом случае Unity возвращается к переходам.