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

Сделать LOD переходы гладкими в LOD Группе

Чтобы сделать LOD переходы плавными, включите LOD cross-fading. Дополнительную информацию см. в Введение в уровень детализации.

Выполните следующие действия:

  1. В ресурсе Universal Render Pipeline (URP)включите LOD Крестовое выцветание.

  2. В компоненте LOD Группа установите Режим затухания на Кросс-Фэйд.

    Для ассетов SpeedTree выберите Speed Tree. Unity выбирает это автоматически при импорте модели SpeedTree с расширением .spm или .st. Дополнительные сведения см. в разделе Transition SpeedTree model vertexes.

Настройка переходов cross-fade

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

  • Установить ширину перехода для каждого LOD, который происходит до достижения следующего порога LOD.
  • Установить единое время перехода для всех LODs, которое наступает после достижения порога LOD.

В зависимости от вашего проекта, установка одного времени перехода может уменьшить количество переходов LODs, но сделать переходы более заметными, когда камера и GameObject не движутся.

Установить ширину перехода для каждого LOD

Чтобы установить ширину перехода для каждого LOD в Группе LOD, выполните следующие действия:

  1. Убедитесь, что Animate Cross-fading отключен.

  2. Выберите поле LOD, например зеленое поле LOD 0.

  3. В панели LOD установите значение Fade Transition Width. Меньшее значение задерживает начало перехода и делает его короче.

    Панель выбора группы LOD с отключенным кросс-файдингом Animate и визуализацией свойств ширины перехода Fade Transition Width. LOD0 имеет ширину перехода Fade Transition Width 40%, что означает, что переход к LOD1 происходит на 40% диапазона LOD0.
    Панель выбора группы LOD с отключенным Animate Cross-fading и визуализацией свойств ширины перехода. LOD0 имеет ширину перехода Fade Transition Width 40%, что означает, что переход к LOD1 происходит на 40% диапазона LOD0.

Установить единое время перехода для всех LODs

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

  1. Включить Animate Cross-fading. Переход между LODs начинается, как только соотношение размера экрана модели достигает следующего порога LOD.
  2. Чтобы настроить время перехода, используйте LODGroup.crossFadeAnimationDuration API.

Настройка смешивания

Чтобы предоставить свой собственный метод смешивания, напишите пользовательский шейдер в зависимости от типа приложения и конвейера производства ассетов.

Unity выполняет следующие действия:

  • Вычисляет коэффициент смешения, используя размер экрана GameObject, и передает его шейдерам в униформенной переменной unity_LODFade.
  • Включает ключевое слово LOD_FADE_CROSSFADE, когда свойство Режим затухания установлено на Кросс-Фэйд.

Вершины модели перехода SpeedTree

Если вы установите Режим затухания на Speed Tree, Unity интерполирует вершины SpeedTree моделей, чтобы постепенно преобразовать геометрию модели от текущей к следующей LOD.

Unity не может интерполировать между позициями вершин для следующих моделей и типов переходов:

  • SpeedTree модели с расширением файла .st9. В этом случае Unity изменяет LODs без плавного перехода. Установите Режим затухания на Кросс-Фэйд вместо этого.
  • Выходы и переходы на рекламный щит LODs. В этом случае Unity возвращается к переходам.

Дополнительные ресурсы