Руководство по теням в Unity

Если вы начинающий Unity разработчик, стремящийся улучшить визуальную привлекательность своих проектов, понимание и реализация теней может иметь существенное значение. Тени добавляют глубину и реализм вашим сценам, позволяя объектам реалистично взаимодействовать с источниками света. Это руководство познакомит вас с основами включения теней в Unity и изучит дополнительные оптимизации с помощью Lightmaps.

Тени в редакторе Unity.

Включение теней в Unity

Шаг 1. Откройте свой проект Unity

  • Откройте проект Unity и откройте сцену с объектами, отбрасывающими тени.

Шаг 2: Настройка направленного света

  • В иерархии сцен найдите "Directional Light". Этот свет имитирует солнечный свет в Unity.
  • Выберите "Directional Light", чтобы получить доступ к его свойствам в окне инспектора.

Шаг 3: Настройки теней

  • Прокрутите вниз в Инспекторе, чтобы найти раскрывающийся список "Shadow Type".
  • Выберите "Soft Shadows" или "Hard Shadows" в зависимости от ваших предпочтений.

Шаг 4. Отрегулируйте расстояние и разрешение тени

Расстояние и разрешение тени можно настроить в настройках качества проекта.

  • Измените "Shadow Distance", чтобы контролировать диапазон теней.
  • Измените "Shadow Resolution", чтобы сбалансировать качество и производительность.

Шаг 5. Отключите тени на объектах

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

  • Выберите объект в вашей сцене.
  • В Инспекторе найдите "Mesh Renderer" или любой компонент, производный от "Renderer".
  • Измените настройку "Cast Shadows" на подходящее значение.
  • Также можно контролировать, будет ли объект получать тени, устанавливая или снимая флажок "Receive Shadows".

Шаг 6: Наблюдайте за сценой

  • Наблюдайте за сценой, чтобы увидеть тени в реальном времени.

Устранение неполадок с тенями:

Если в вашей сцене не видны тени, учтите следующее:

  • Угол направленного света: Убедитесь, что направленный свет расположен так, чтобы его лучи падали на ваши объекты. Поэкспериментируйте с его вращением.
  • Настройки объекта: Проверьте, включена ли опция "Cast Shadows" для объектов, от которых вы хотите отбрасывать тени.
  • Разрешение карты освещения: При использовании карт освещения убедитесь, что ваши статические объекты имеют достаточное разрешение карты освещения. При необходимости увеличьте его.
  • Совместимость шейдеров: Некоторые шейдеры могут быть несовместимы с тенями. Тестируйте со стандартными шейдерами Unity's или шейдерами, предназначенными для совместимости с тенями.
  • Сравнение реального времени и запекания: Тени в реальном времени могут не отображаться, если объект помечен как статический. Выбирайте тени в реальном времени или запеченные.
  • Расстояние тени в настройках качества: Проверьте настройку "Shadow Distance" в настройках качества проекта. Если расстояние установлено ниже текущего расстояния от камеры, тени могут быть не видны на определенных расстояниях.

Оптимизация теней с помощью карт освещения

Unity предлагает Lightmaps в качестве продвинутого метода оптимизации статических объектов, уменьшающего необходимость вычислений в реальном времени.

Запеченные карты освещения в Unity.

Шаг 1. Отметьте объекты как статические

  • Выберите статические объекты в вашей сцене.
  • В Инспекторе установите флажок "Static".

Шаг 2. Настройте параметры карты освещения

  • Перейдите к 'Window -> Rendering -> Lighting', чтобы открыть окно «Освещение».
  • Прокрутите вниз до раздела "Lightmapping".
  • Установите "Lightmapper" на "Progressive" или "Enlighten".
  • Нажмите "Generate Lighting", чтобы запечь карты освещения.

Шаг 3. Настройте тени в реальном времени по сравнению с запеченными тенями

  • Используйте тени в реальном времени для динамических объектов.
  • Для статических объектов используйте запеченные тени из Lightmaps.

Шаг 4. Тестируйте и повторяйте

  • Нажмите Play, чтобы проверить вашу сцену. Настраивайте настройки и повторяйте их, чтобы добиться желаемого баланса между визуальным качеством и производительностью.

Заключение

Вы успешно включили тени в Unity и изучили карты освещения для оптимизации рендеринга теней. Поэкспериментируйте с различными настройками, наблюдайте за их влиянием на сцену и продолжайте создавать визуально потрясающие проекты Unity.

Рекомендуемые статьи
Как изменить Skybox в Unity
Руководство по игре «Рыбалка» для Unity
Как создать 2D-игру, похожую на Super Mario, в Unity
Обучение единству | Детская площадка | Обзор пакета хранилища активов URP
Создание шутера с видом сверху в Unity
Как назначить камеру сценарию в Unity
Создание игры Screamer в Unity