Здравствуйте. Вы находитесь на сайте Unreal Level. Данный ресурс посвящен редакторам карт игр серии Unreal, UT и Gears of War. Основная цель сайта , помочь всем желающим освоить любой из редакторов вышеперечисленных серий. Наибольшим приоритетом на этом сайте, обладает редактор UnrealED for Unreal Engine 3 и редактор движка Unreal Engine 3.5, входящий в комплект разработки UDK, поскольку это наиболее актуальная на сегодняшний день технология.
Shadowing Reference
автор: FACH | 12 Июля 2011 | Просмотров: 2966

Перевод: FACH
Оргигинал: Shadowing Reference

 
Обзор

 

Unreal Engine 3 использует несколько типов теней:

Вся сцена с динамическими тенями- подвижные источники света (Movable lights) заполняют всю сцену динамическими тенями.

Динамические тени для объекта – недвижные источники света (далее просто источники) освещают подвижные или динамические объекты, с использованием динамических теней на объекте.

Предварительно вычисляемые тени – неподвижные источники, освещающие статические объекты, используют предварительно вычисленные карты теней (shadow maps).

Предварительно вычисляемое освещение - статические источники освещающие, статические объекты, используют предварительно вычисляемые карты освещения (light maps).

Классы Источников (Light classes)

Каждый тип источника Вы можете поместить на сцену. Существуют различные классы, которые управляют поведением затенение света. Классы ограничивают изменение света определенным образом во время выполнения (runtime), или назначают источник "доминирующим" источником (dominant light).

Базовый класс для каждого источника света (например, PointLight) является статическая (неподвижная) версия этого света. Он использует на объекте динамические тени в сочетании с предварительно вычисленным освещением.

Подвижный подкласс - источник может быть перемещен во время выполнения. Он использует на всей сцене динамические тени.

Toggleable (переключаемый) подкласс - источник не подвижен, но он может менять цвет и яркость во время выполнения. Он использует на объекте динамические тени в сочетании с картой теней.

Доминирующий (Dominant) подкласс, источник похож на Toggleable источник, но использует дистанционную карту теней (distance field shadow maps).

 

 

Shadowing Reference

 

Рекомендуемое использование

Для большинства источников, Вы должны использовать базовый класс источника: точечный (PointLight), прожектор (SpotLight) и Направленный источник (DirectionalLight). Эти классы меньше остальных влияют на производительность во время выполнения, так как все они используют предварительно вычисленное освещение.

Для источников, которые не нужно двигать, но необходимо изменять их цвет, яркость или включатьвыключать во время выполнения, Вы должны использовать подкласс Toggleable: PointLightToggleable, SpotLightToggleable, DirectionalLightToggleable. Эти классы используются предварительно вычисленные тени вместе с попиксельным освещением во время выполнения, и оказывают малое влияние на производительность.

Для большинства сцен, Вам будет необходимо небольшое количество источников, которые используют предварительно вычисленные тени с более высоким качеством освещения, чем Вы можете получить после предварительного вычисленным освещения. Для этого Вы должны использовать Доминирующий подкласс источника: DominantPointLight, DominantSpotLight и DominantDirectionalLight. Эти классы похожи на Toggleable подкласс, но ограничены, так что каждый объект может быть освещен только одним Доминирующим источником. Это позволяет Доминирующим источникам быть немного более эффективным во время выполнения, чем Toggleable источники. Для получения дополнительной информации см. Dominant Lights.

В случаях, когда Вам нужен подвижный источник, Вы должны использовать Movable подклассы: PointLightMovable, SpotLightMovable и DirectionalLightMovable. Эти классы просчитывают тени и освещение в каждом кадре во время выполнения, поэтому они имеют наибольшее влияние на производительность.

Типы теней

Динамические тени на объекте

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

На этом рисунке, летательный аппарат (Cicada) бросает мягкие динамические тени на мост.

 

 

Shadowing Reference

 

 

Качество динамических теней на объекте и производительность, зависит от того, насколько большой прогнозируемый буфер глубины проекции на экране, зависящий от величины ограничивающего прямоугольника (bounding box) динамического объекта. Это значит, что лучше всего работать с объектами со сложными ограничивающими прямоугольниками. Скелетные меши, не имеющие физического актива (PhAT), будут иметь свободный ограничивающий прямоугольник, который не изменится с анимацией во время выполнения, так что тени будут низкого качества и сильно повлияют на производительность. Таким образом, скелетной мешь с физическим активом будут иметь сложное ограничивающее поле, которое будет вычисляться каждый кадр с совместной анимацией, так что тени будут иметь более высокое качество и меньше влиять на производительность. По этому, Вы должны создавать физический актив для каждого скелетного меша независимо от того, будет ли он иметь физику на его основе или нет.

Вы можете использовать консольную команду "show shadowfrustums", чтобы показать область динамических теней объекта или показать в окне проекции через меню Show->Advanced->Shadow Frustums.

На этом рисунке, скелетной мешь без физического актива. Таким образом, область тени, которая представлена синим контуром (черная обводка добавлена для наглядности), велика и неэффективна.

 

 

Shadowing Reference

 

На этом рисунке, скелетный мешь с физическим активом. Таким образом, область тени, которая представлена синим контуром (черная обводка для наглядности), плотная и эффективная.

 

 

Shadowing Reference

 

 

Для обработки тени от статических объектов, попадающие на динамические объекты, от неподвижных источников, для объекта будет создан второй проецируемый буфер глубины теней. Этот буфер глубины будет создан на основе статического объекта между светом и динамическим объектом.

На рисунке на скелетный мешь падают предварительно просчитанные тени. Убедитесь, что у Вашего скелетного меша в DynamicLightEnvironments включена функция «Use Boolean Environment Shadowing», чтобы отключить предварительный просчет динамических теней (отключено по умолчанию для SkeletalMeshCinematicActor).

 

 

Shadowing Reference

 

На этом рисунке, на interpolated static mesh падают предварительно просчитанные тени. Убедитесь, что у Вашего интерполированного меша в DynamicLightEnvironments включена функция «Use Boolean Environment Shadowing», чтобы отключить предварительный просчет динамических теней (по умолчанию для InterpActor).

 

 

Shadowing Reference

 

 

Модулированные тени (Modulated shadows)

Динамические тени для объекта могут быть модулированными (modulated) или нормальными (normal). Нормальные тени не пропускают свет на поверхность с тенью, а модулированные тени модулируют тень на поверхности с заданным цветом тени. Статическим источникам нужны модулированные тени, чтобы объединить динамические тени объекта с предварительно вычисленным освещением, которое они используют.

На этом рисунке, применены нормальные тени

 

 

Shadowing Reference

 

На этом рисунке, применены модулированные тени с измененным цветом тени (Mod Shadow Color) на 0.f, 0.f, 0.f, 1.f (Черный).

 

 

Shadowing Reference

 

 

 

Shadowing Reference

 

На этом рисунке, цвет тени установлен на 1.f, 0.f, 0.f, 1.f (красный).

 

 

Shadowing Reference

 

 

 

Shadowing Reference

 

Статические и toggleable источники, имеют по умолчанию модулированные тени, а доминирующие - нормальные тени.

Динамические тени на всей сцене

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

На этом рисунке, все тени от подвижного точечного источника.

 

 

Shadowing Reference

 

 

На этом рисунке, тени от подвижного прожектора.

 

 

Shadowing Reference

 

На этом рисунке, тени по всей сцене от подвижного доминирующего направленного источника.

 

 

Shadowing Reference

 

 

В отличие от теней каждого объекта, динамические тени всей сцены не могут быть модулированными.

Каскадные карты теней (Cascaded shadow mapsCascaded shadow maps)

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

 

 

Shadowing Reference
 

Предварительно вычисляемые тени

Toggleable источники используют предварительно вычисленные тени. Предвычисленные тени хранятся в виде маски оттенков серого, которая применяется при рендере источников, или для удаленных объектов доминирующих источников.

 

 

Shadowing Reference
 

 

Предварительно вычисленное освещение

Статические источники используют предварительно вычисленное освещение на статических объектах. Вычисленное освещение сочетает в себе все статические источники, так что свет уже не может быть отделен во время выполнения. Из-за этого, статические источники могут отбрасывать только модулированные тени от динамических объектов.

 

 

Shadowing Reference
 

Тени от прозрачных элементов


Маска прозрачности в материале будет учитываться всеми видами теней.

 

 

Shadowing Reference

 

 

Translucent прозрачность материала будет учитываться тенями только от статических объектов, от Toggleable или статических источников.

 

 

Shadowing Reference

 

Чтобы translucent материалы отбрасывали динамические тени, как masked материалы, выберите Cast Lit Translucency Shadow As Masked свойство и установите текстуру Opacity Mask в параметр материала.

 

 

Shadowing Reference
 

 

Разрешение карты освещенности и теней (Shadow and light-map resolution)


Предварительно вычисляемые Тени и BSP

Для изменения разрешения карт теней и света, используемых на поверхности BSP, выберите поверхности или поверхности, и нажмите F5. Это вызовет меню Surface Properties.

 

 

alt
 

 

Под Pan/Rot/Scale Вы найдете значение Light map. Чем меньше значение, тем выше разрешение. Результат показан на рисунке ниже:

 

 

Shadowing Reference
 

 

Предварительно вычисляемые тени и статические меши

Предварительно вычисляемые тени хорошо отображаются на геометрии статического меша. По умолчанию, вычисляется вершинная тень (vertex, по сути вертексная раскраска). Для лучшей резолюции тени, должны быть созданы для каждого статического меша карты теней.

Карта теней требует, чтобы все данные UV были уникальным. Чтобы не было зеркальных разверток или тайлинга. Если Ваши UV статического меша имеют зеркальность, пересечение, или тайлинг, то Вам нужно будет создать второй канал уникальных UV. Для получения дополнительной информации о том, как создавать несколько наборов UV смотрите VertexBlendingTutorial и читайте форум Unreal-Level.

Откройте статически мешь в Static Mesh Editor (дважды щелкните по нему в Generic браузере). Введите нужное значение в LightMapResolution. Значение по умолчанию 0 означает, что карта теней не будет создана.

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

 

 

Shadowing Reference

 

Если Ваш мешь имеет несколько UV, выберите набор, который будет использован для карты теней в LightMapCoordinateIndex. По умолчанию 0 - исходный набор UV (первый, текстурный).

Обратите внимание, что количество UV каналов, перечислены в левой верхней части окна просмотра.

Ниже приведены примеры вершинного затенения и карт теней.

 

 

Shadowing Reference
 

 

Свойства теней

 

 

Shadowing Reference
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1 написал: Sealrean
13 Июля 2011 03:47 | ICQ: Не Указано |


Группа: Активист
Регистрация: 26.02.2010
+
Публикаций: 0 | Комментариев: 5      
#2 написал: A-Lex
13 Июля 2011 08:37 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 27.01.2011
спасибо)
P.S.: с прошедшим юбилеем)
Публикаций: 0 | Комментариев: 3      
#3 написал: FACH
13 Июля 2011 13:43 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
юбилей это обычно кратное 10, реже 5


--------------------
Публикаций: 134 | Комментариев: 778      
#4 написал: Casuss
13 Июля 2011 20:34 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 5.05.2010
Это один из самых полезных уроков, спасибо.
Публикаций: 0 | Комментариев: 7      
#5 написал: netgoblin
14 Июля 2011 02:42 | ICQ: Не Указано |


Группа: Активист
Регистрация: 27.02.2010
+1
Публикаций: 0 | Комментариев: 22      
#6 написал: Radiotehnik
15 Июля 2011 00:25 | ICQ: 622503184 |


Группа: Посетители
Регистрация: 3.08.2010
классный урок , с отличным переводом тутора и таблички свойств теней good
Публикаций: 0 | Комментариев: 7      
#7 написал: Sylent
17 Июля 2011 14:55 | ICQ: Не Указано |


Группа: Посетители
Регистрация: 18.11.2010
Какрас то что нужно!
Публикаций: 0 | Комментариев: 2      
#8 написал: Pirog
27 Июля 2011 14:00 | ICQ: 490561676 |


Группа: Посетители
Регистрация: 11.07.2011
FACH, всеравно не пойму никак - почему нету теней на меше от него самого- даже если выставить в LightMassReslution вершинном освещении 0, то почему оно не отключается это злобное вершинное освещение?. либо может нужно чтото в источнике света поменять?


--------------------
Публикаций: 0 | Комментариев: 5      
#9 написал: FACH
27 Июля 2011 14:07 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Погуглить ты не погуглил...
ЛАЙТМАПЫ НЕТ У ТВОЕГО МЕША ВООБЩЕ! Создай 2-й ЮВ канал наконец


--------------------
Публикаций: 134 | Комментариев: 778      
#10 написал: Pirog
27 Июля 2011 14:10 | ICQ: 490561676 |


Группа: Посетители
Регистрация: 11.07.2011
hi все оказалось проще чем я думал ^___^ спасибо большущщее! drinks


--------------------
Публикаций: 0 | Комментариев: 5      
#11 написал: rambooze
9 Октября 2011 16:57 | ICQ: 222338854 |


Группа: Посетители
Регистрация: 28.04.2010
Спасибо, крутой урок. Почти во всём разобрался, но кое что так сделать и не могу. Какой источник мне нужно сделать, что бы получить анимированные тени от мувера? У меня есть вентилятор, вставленный в сцену через динамический актор и закрученный через PHYS_Rotation. Уже все источники перепробовал, никак не могу получить от него теней. scratch_
Публикаций: 0 | Комментариев: 4      
#12 написал: FACH
9 Октября 2011 20:27 | ICQ: 562039160 |


Группа: Администраторы
Регистрация: 27.06.2009
Можно несколькими способами. Смотря в чем работаешь

Для УЕ 2 и 1 декали
Для УЕ3.0 мувементлайт

или латйфункцию, что выгоднее во многом
Для УЕ3.5 модно юзать доминантлайт - естественно только один на одну зону
Ну соответственно в более новой версии все прошлые применимы


--------------------
Публикаций: 134 | Комментариев: 778      
#13 написал: rambooze
9 Октября 2011 23:19 | ICQ: 222338854 |


Группа: Посетители
Регистрация: 28.04.2010
Спасибо большое, всё получилось. Отключение Environment компонента помогло, до этого тень оказывается была, но была очень светлой и я её не замечал.
Публикаций: 0 | Комментариев: 4      
#14 написал: NewmanD
26 Ноября 2011 02:41 | ICQ: 454415963 |


Группа: Посетители
Регистрация: 16.12.2009
Спасибо большое!


--------------------
Публикаций: 0 | Комментариев: 3      
Информация
Посетители, находящиеся в группе Гости, не могут оставлять Комментарии в данной новости...


Super kalite led avize bizde var.




При копировании материалов, активная ссылка на UNREAL-LEVEL.RU обязательна!
© 2008—2012, UNREAL-LEVEL.RU. Все права защищены.