This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Тени

UNIGINE provides realtime and precomputed shadows from light sources. UNIGINE обеспечивает тени от источников света в реальном времени и предварительно вычисленные.

Shadows are cast using a commonly used technique called Shadow Mapping: a depth texture (or a cubemap for omni lights) is grabbed from the position of the light source and used to define lit and shaded areas. Тени отрисовываются с использованием традиционного метода, называемого Shadow Mapping: текстура глубины (или кубическая карта для всенаправленных источников света) захватывается с позиции источника света и используется для определения освещенных и затемненных областей.

World light sources use an advanced shadow mapping technique called Parallel-Split Shadow Mapping to handle shadows at large distances. The shadow settings are available per each world light source. Источники света World Light используют продвинутую технику отображения теней под названием Parallel-Split Shadow Mapping для обработки теней на больших расстояниях. Параметры тени доступны для каждого источника света в мире.

To enable shadow casting from a light source, check the Enabled option in its Shadow Settings: Чтобы включить отбрасывание тени от источника света, установите флажок Enabled в его настройках Shadows :

All light sources can be either in Dynamic or Static mode according to which it is decided if shadow maps are computed in real time or saved in an asset once, thus significantly reducing the number of polygons rendered each frame. Все источники света могут быть либо в динамическом, либо в статическом режиме, в соответствии с чем определяется, будут ли карты теней вычисляться в реальном времени или сохраняться в один раз в ассет, таким образом значительно уменьшая количество полигонов, отрисовываемых в каждом кадре.

Each surface has the shadows-related Rendering Parameters. For a surface to cast shadows, it should have the Cast Proj and Omni Shadows and Cast World Shadows options enabled, the same options are available per material. Каждая поверхность имеет связанные с тенями параметры рендеринга . Чтобы поверхность отбрасывала тени, на ней должны быть включены параметры Cast Proj и Omni Shadows и Cast World Shadows , такие же параметры есть и у материалов.

The Shadow Mode parameter is set per surface

The surface's Shadow Mode is responsible for the type of shadows cast by the surface: Режим тени поверхности отвечает за тип теней, отбрасываемых поверхностью:

  • Static. The surface casts both types of shadows: cached (from static lights) and dynamic (from dynamic lights). Статический . Поверхность отбрасывает тени обоих типов: кэшированные (от статических источников света) и динамические (от динамических источников света).
  • Dynamic. The surface casts shadow only if lit by a dynamic light or a static light with Mixed shadow mode. No shadows baked. Динамический . Поверхность отбрасывает тень только в том случае, если она освещена динамическим или статическим светом с режимом тени Mixed . Тени не запекаются.

You can control shadow-related interactions between surfaces/materials and light sources by using the Shadow Mask. Вы можете управлять связанными с тенями взаимодействиями между поверхностями / материалами и источниками света с помощью Shadow Mask .

See AlsoСмотрите также#

Dynamic ShadowsДинамические тени#

Dynamic or realtime shadows are useful in changing scenes: when a light source or objects lit by it move. In this case all affected geometry is rendered into shadow buffer one more time, which might affect the performance. Динамические тени или тени в реальном времени полезны при смене сцен: когда источник света или освещенные им объекты движутся. В этом случае вся затронутая геометрия визуализируется в теневой буфер еще раз, что может повлиять на производительность.

Примечание
You can estimate the number of polygons rendered into shadows by using the Triangles Shadows counter of the Performance Profiler. Вы можете оценить количество полигонов, отображаемых в тени, используя счетчик Triangles Shadows в Performance Profiler .

To make a light source provide dynamic shadows, set the Mode to Dynamic and adjust the Shadow Settings. Чтобы источник света создавал динамические тени, установите для Mode значение Dynamic и настройте Параметры тени .

Cached ShadowsКэшированные тени#

Mostly, virtual environments tend to be static. That is why it makes sense to drop the shadows computation each frame to gain the performance. Обычно виртуальные среды статичны. Вот почему имеет смысл отбрасывать вычисление теней в каждом кадре, чтобы повысить производительность.

The idea behind precomputed Cached Shadows is to grab the shadow map of a light source and save it in an asset to be rendered later at run time. Идея предварительно вычисленных кэшированных теней состоит в том, чтобы получить карту теней источника света и сохранить ее в активе для последующего рендеринга во время выполнения.

To get shadows from a light source cached: Чтобы получить тени от источника света в кэше:

  1. Select Static Shadow Mode for all stationary surfaces. This is the default mode for surfaces of Mesh Static objects. Выберите "Статический" Shadow Mode для всех неподвижных поверхностей. Это режим по умолчанию для поверхностей объектов Mesh Static .
  2. Open Bake Lighting window and check Bake Static Shadows For Lights.

    Примечание
    Enable the Automatic Rebake option to make shadows for static light sources be automatically rebaked every time you make changes to their transformation and shadows-related settings.Enable the Automatic Rebake option to make shadows for static light sources be automatically rebaked every time you make changes to their transformation and shadows-related settings.
    Enable the Automatic Rebake option to make shadows for static light sources be automatically rebaked every time you make changes to their transformation and shadows-related settings.
    Откройте окно Bake Lighting и установите флажок Bake Static Shadows For Lights .

  3. Choose Static Mode for the light source.

    Выберите режим Static для источника света.

  4. In the Shadow Settings, select the Static shadow mode and Resolution of the shadow map.

    В настройках теней выберите режим тени Static и разрешение карты теней.

  5. Click Bake Selected in the Bake Lighting window. The shadow map of the light source will be saved at the bake_lighting/shadows folder and assigned to the Depth Texture asset field. Нажмите Bake Selected в окне Bake Lighting. Карта теней источника света будет сохранена в папке bake_lighting/shadows и назначена полю ресурса текстуры глубины.

After that, the light source will provide static cached shadows only. After changing light's position, rotation or parameters, it should be rebaked for proper shadow casting. После этого источник света будет предоставлять только статические кэшированные тени. После изменения положения, поворота или параметров источника света его следует переснять для правильного отбрасывания тени.

Примечание
Enable the Automatic Rebake option to make shadows for static light sources be automatically rebaked every time you make changes to their transformation and shadows-related settings. Включите параметр Auto Rebake в соответствующем разделе окна Bake Lighting, чтобы тени для статических источников света автоматически пересекались каждый раз, когда вы вносите в них изменения.

World light sources require additional adjustments. For more details refer to the Shadow Settings of the World light. Мировые источники света требуют дополнительных настроек. Для получения дополнительных сведений см. Параметры тени Мирового света.

Mixing Dynamic and Cached ShadowsСмешивание динамических и кэшированных теней#

By using the Mixed shadow mode you can combine baked shadows from static geometry and realtime shadows cast by certain dynamic meshes: Используя режим теней Mixed , вы можете комбинировать запеченные тени от статической геометрии и тени в реальном времени, отбрасываемые определенными динамическими сетками:

  1. Select Static Shadow Mode for all stationary surfaces. Выберите Static Shadow Mode для всех неподвижных поверхностей.
  2. Select Dynamic Shadow Mode for all moving or changing surfaces. Выберите динамический Shadow Mode для всех движущихся или изменяющихся поверхностей.
  3. Open Bake Lighting window and check Bake Static Shadows For Lights.

    Откройте окно Bake Lighting и установите флажок Bake Static Shadows For Lights .

  4. Choose Static Mode for the light source.

    Выберите Static режим для источника света.

  5. In the Shadow Settings, select the Mixed shadow mode and Resolution of the shadow map.

    В настройках теней выберите режим теней Mixed и разрешение карты теней.

  6. Click Bake Selected in the Bake Lighting window to bake static shadows. The shadow map containing shadows cast by static geometry will be saved at the bake_lighting/shadows folder and assigned to the Depth Texture asset field. Нажмите Bake Selected в окне Bake Lighting, чтобы запечь статические тени. Карта теней, содержащая тени, отбрасываемые статической геометрией, будет сохранена в папке bake_lighting/shadows и назначена полю Depth Texture.

After that, the light source will provide both cached and dynamic shadows. After changing light's position, rotation or parameters, it should be rebaked for proper shadow casting. После этого источник света предоставит как кешированные, так и динамические тени. После изменения положения, поворота или параметров источника света его следует переснять для правильного отбрасывания тени.

Примечание
Включите параметр Auto Rebake в соответствующем разделе окна Bake Lighting, чтобы тени для статических источников света автоматически пересекались каждый раз, когда вы вносите в них изменения.

Area ShadowsТени от поверхностных источников света#

Soft shadows from area lights can be simulated for both static and dynamic light sources by using the Penumbra Settings. Мягкие тени от поверхностных источников света можно моделировать как для статических, так и для динамических источников света с помощью Настройки Penumbra .

Screen-Space ShadowsТени в экранном пространстве#

Screen-Space Shadows are raytraced shadows calculated in screen space. This effect does not depend on the polygon count, that is why it may be a great solution for small contact shadows or shadows at a high distance from the camera. Тени в экранном пространстве (Screen-Space Shadows) - это тени с трассировкой лучей, рассчитанные в экранном пространстве. Этот эффект не зависит от количества полигонов, поэтому он может быть отличным решением для небольших контактных теней или теней на большом расстоянии от камеры.

Последнее обновление: 23.06.2023
Build: ()