Четверг, 21.11.2024, 10:32
Приветствую Вас Гость | RSS

Главная | Регистрация | Вход

Освещение

 Этот раздел освещения в Unreal. Рассмотрим, какие инструменты могут быть использованы для достижения хорошего эффекта света. 
 
1) Введение

Одной из особенностей Unreal редактора заключается в том, что вы можете увидеть последствия изменения освещения в реальном времени. Это позволяет очень эффективно работать в небольшом районе, изменять вашу подсветку по мере необходимости. После того как вы уверены, что свет выглядит так, как вы хотите, вы можете "проребильдить" освещение и увидеть окончательный результат оптимизации. Иногда изменение незначительно, но это легко изменить и получить, то, что вы хотите увидеть. 
Для большинства уроков мы поставим новый свет, и будем работать с ним в динамическом режиме, а затем проребилдим, когда мы все сделаем. 



2) Виды Light объектов 

Существуют четыре основных вида объектов света в Unrealе - точечный свет (PointLight), освещение мест(DirectionalLight), направленный свет (SportLight), небесный свет (SkyLight).
 
PointLight - можно рассматривать как лампочки - они излучают свет во всех направлениях. 
SportLight – прожектор, как фонарик, или фары от автомобиля. Они излучают свет в виде конуса в определенном направлении. 
DirectionalLight - выглядит больше всего, как свет от солнца - они заполняют все сцены светом по единому направлению. 
SkyLight - покрывает все однородным серым освещением и вы получите, как бы, облачный день. 

Все эти четыре типа имеют много общих свойств (например, яркость, цвет…), поэтому мы будем капаться в свойствах какого-нибудь одного света, а затем просто обсудим, в чем различие других. 



3) Point Lights

Откройте существующую тестовую карту, или создадите. Начнем в неосвещенном режиме (Unlit). 
 Разместить точечный свет легко – нажмите правой кнопкой мыши на поверхность и выберите Add Actor-> Add Light (Point). Или просто удерживайте клавишу "L" (для "света") и нажмите на поверхность. И точечный свет появится.  
 Перейдите в режим Lit и нажмите F4, чтобы вывести на экран свойства нашего Light-объекта, затем разверните вкладку "Light", и подкатегорию "LightComponent".
 
 
Свет (Light)

 
Есть несколько контролей свечения. Например, если вы хотите изменить яркость света (Brightness), можно ввести новое число вместо "1,000000". Или, держите мышь между двумя черными стрелками справа. Нажмите и перетащите мышь вверх или вниз, и вы измените яркость динамично. 

Рядом с полем LightColor (цвет света), вы можете нажать на увеличительное стекло, чтобы открыть цветовую палитру, также Вы можете развернуть эту вкладку LightColor, открыв настройку цвета в RGB. Вы также можете нажать на иконку курсора мыши для получения цвета, который вы можете выбрать мышью, где-нибудь на карте. Попробуйте оба способа сейчас. 
Вот список самых важных свойств.Не забудьте попробовать каждый из них по своему усмотрению. 

Brightness (яркость) – все достаточно очевидно.  
FalloffExponent - резкость света или спад в рамках своего радиуса. Переместите свет близко к стене, и побалуйтесь с этим значением, и вы увидите, как это работает. 
LightColor - цвет света. 
Radius - область света. 
Другие свойства, лучше всего оставить без изменения, но мы обсудим некоторые из них позже. 
Сделаем свет оранжевого цвета, с достаточно высокой яркостью и большого радиуса, чтобы заполнить комнату. Обязательно "перепостройте (отребилдите)" (Build Light) освещение, чтобы окончательно сформировать свет.


 
 

4) SportLight

Размещение Spotlight немного сложнее, чем размещение точечного света – можно найти его в Actor’ах Generic’a. Откройте браузер (Generic) и перейдите на вкладку Actor Classes. Откройте "Light", и выберите Sport Light. (Вы увидите две подкатегории, SpotLightMovable и SpotLightToggleable. Они в основном используются в анимации или подключаются к геймплею, так что не будем трогать их сейчас.) 
 Щелкните правой кнопкой мыши в вашей сцене, и выберите ункт "Add SpotLight here". Вы увидите прожектор белого цвета, указывающий вниз. Переместите его так, чтоб он видимо бросал круг света куда-нибудь.
 

 
 
Sport Light имеют все те же свойства (цвет, яркость, радиус, спад), однако они имеют несколько дополнительных свойств. Убедитесь, что выбран прожектор и откройте его свойства. Найдите два новых свойства. 

OuterConeAngle - внешний угол конуса (углы здесь от оси конуса до образующей, от 0 до 90 градусов).  
InnerConeAngle - контроль Hotspot в середине конуса. Если 0, то будет «мягкий» свет. Если это же радиус, равен OuterConeAngle, прожектор будет иметь яркий круг света. (Побалуйтесь с этим значением, и вы увидите, как это работает) 

Вы можете вращать прожектор с использованием стандартного инструмента ротации в редакторе. Также Вы можете контролировать его в режиме от «первого лица» (нажав на кнопку " Lock Selected Actors To The Camera" в верхней части окна просмотра перспективы. 
 
Свет (Light)

Измените угол конуса Spotlight, чтобы охватить более широкие области. Перестройте освещение, чтобы получить окончательный вид.
 
Свет (Light)
 


5) DirectionalLight
 
Этот свет затрагивает все участки уровня, как внутри, так и снаружи, от стен комнаты или чего-нибудь еще будет тень. Этот свет лучше всего использовать на открытых уровнях.  

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

Если у Вас есть несколько близко стоящих объектов, то при определенном повороте света от объектов появится тень.
 
 
При «перепостроении» света, тени могут выглядеть так:
 
 
Такая тень смотрится не очень хорошо, но ее видно с большого расстояния.

Но если поставить галку напортив bForceDynamicLight в настройках света и bCastDynamicShadows в настройках нужного объекта, то после «перепостроения» света, тень будет четкая:
 
 
Свет (Light)
 
 
Но эта тень будет пропадать по мере Вашего отдаления от объектов (Вы можете заметить, что тень от разных объектов исчезает на разных расстояниях). Но такие тени как на Epic’овских картах достигаются не этими параметрами. Они их делали вручную.
Если Вам не нужны тени, то отключите "CastShadows" на нужном вам объекте, от которого не должна идти тень или на нужном источнике света, если не хотите чтобы тени вообще были от этого света.
 
Свет (Light)
 


 6) Sky Light

Этот свет освещает все и везде, не создавая теней (из-за этого минимальное падение FPS), поэтому его лучше использовать на открытых уровнях или для того, чтобы на уровне не было темных мест. 
Давайте добавим его (найти его можно в Generic’е, в Light’ах). 

Свет (Light)
Сразу же на уровне становится намного ярче (за исключением потолка, который является неизменным.) Освещаются поверхности «сверху», поэтому пол получает много света, стены среднее количество света, а потолок остается не освещенным.  
Здесь две настройки (что они делают описать сложно). 

LowerBrightness - яркость (микс цветов, что-то в этом роде, вообще Hz что это) (по умолчанию 0) 
LowerColor - цвет (вторичный цвет для менее освещаемых участков, стен и, особенно, потолка). 

Отрегулировав свойства SkyLight, получаем цвет снизу ярко красный, а цвет сверху ярко голубой (с достаточно яркой LowerBrightness, это видно.) 
Заметно, как красный и синий цвета объединились и сделали стену фиолетового цвета. Это должно быть очевидно, если удалить PointLight.
 
 
И последнее - иконка для SkyLight очень мала, и, вероятнее всего, Вы потеряете ее в большом уровне. В свойствах, в Display категории, измените DrawScale на 10
 

 

7) Размещено все вместе
 
Давайте посмотрим, как различные Light объекты используются в сцене. 
Откроем (Unreal Tournament 2007\UTGame\CookedPC\Private\Maps\DM-RisingSun.ut3), так вы можете увидеть, как Epic использовала эти виды света в практических условиях.  
Загрузите карту, и Вы увидите что-то вроде этого: 


Свет (Light)
Посмотрите вокруг. Вы знаете какой свет что освещает? Есть куча PointLight и SportLight рядом светильники и светящиеся двери. Но, что освещает в деятельности скалы на заднем плане? Давайте выясним. 
Нажмите на кнопку ";Toggle Show Flags" кнопку, и включите "Light Influences". Выберите скалы, и вы увидите две синих линии выходящих из них.  

 
Свет (Light)

Линии приведут к двум DirectionalLight на сцене.
Свет (Light)
Вы увидите, что оба DirectionalLight направлены в противоположные стороны. И если Вы загляните в свойства, Вы увидите, что они делают на сцене. Один яркостью (Brightness) 2.5 и испускает желтый цвет - он действует, как солнце. Другой яркостью 0.25 и испускает бледно синий цвет – свет как от неба. Если вы удалили все (для этого щелкните правой кнопкой мышы на каком-нибудь источнике света и выберите Select All Lights), за исключением этих двух источников света, пространство, все равно, будет выглядеть неплохо, за исключением пары десятков объектов, которые специально подсвечивались другими источниками света. 

 

8) Поиск

Вы можете выбрать источники света в 2D или 3D окнах проекции, чтобы выяснить, что они делают, но давайте посмотрим инструмент - "Search for actors". Вы можете открыть его, нажав на иконку бинокля в верхней части окна - сделайте это сейчас
 
Search for Actors открывает окно со списком всего, что есть на карте. Но мы просто хотим посмотреть на свет. Нажмите на "Containing", а затем в разделе "Search For ", введите " light ". В нижней части дисплея выводится количество найденных объектов, например "11 objects found".  
Свет (Light)
 
Итак, что мы имеем? Несколько directional lights, directional lights, и spotlights. Уведомление skylight. Если вы дважды щелкните на свет в списке, который используется на сцене, то камера перейдет к этому источнику света.  
Потратьте несколько минут и посмотреть свойства каждого источника и выясните, роль каждого из них на сцене. 



9) PostProcess volume
 
Влияет на внешний вид и освещения на уровне. PostProcess Volume находится вокруг всей сцены. Если отдалить камеру в 3D окне, Вы заметите тонкие изменения цвета на арене. PostProcess volume контролирует яркость, и кучу других последствий до тех пор, пока камера находится внутри него. 
 Выберите PostProcess volume и откройте его свойства. (Он выглядит, как пурпурное поле в 2D проекции, или же вы можете найти его через Search for Actors.)

 

Все параметры будут рассмотрены в другом туториале, нонекоторые из них мы рассмотрим сейчас. Контроль, не очень понятен, цвета Scene_Desaturation (черно-белое изображение), Scene_Highlights (что-то вроде цветного тумана) и Scene_MidTones (похоже на предыдущий) параметров. 
 
Свет (Light)
 
Наглядный пример изменения настроек.
 
 
Свет (Light)


Свет (Light)


 

10) Lighting Channels
 
Возможно, Вы заметили, что directional lights имеют несколько иконок - один с "U" (например, тот типа солнца), другой "S". Если сравнить их свойства, и посмотреть в разделе "LightingChannels", Вы увидите, что у «солнца» стоит галочка на " Dynamic ", а в другом (типа небо) свете нет. Общего в них BSP и Static контроль, что означает, что они будут влиять BSP (CSG) поверхности и статические объекты (сетки).
Но что делают другие? Как влияют CompositeDynamic и Dynamic эффекты?
CompositeDynamic - свет влияющий на персонажей. 
Dynamic - это самый распространенный тип освещения, например, в DM-RisingSun, используется для двери, которая открывается вверх, как часть сценария игры. Используется динамическое освещение (Dynamic), потому что дверь движется, и не может использовать статическое освещение (Static). Именно поэтому они помечены таким образом, чтобы только определенные Dynamic огни затрагивали ее. Иными словами Dynamic для освещения движущихся объектов.
Есть много других каналов,которые Вы можете использовать, как Вам нужно. Например - Вы хотите, чтобы прожектор (SportLight) освещал только стену. Вы можете создать Spotlight, поставить галку в каналах напротив "Unnamed_1" , то убедитесь, что "Unnamed_1" также был выбран в свойствах Вашей стены. Зная о том, как манипулировать световыми каналами они, в особых обстоятельствах, дают Вам, немного дополнительного контроля, который может Вам понадобиться.



11) Pickup Lights
Здесь все просто. Это огни которые освещают оружие, аптечки и т.п. Вы наверное замечали ошибку при тесте карты что-то вроде: UTWeaponPickupFactory_1 doesn’t have a pickup light near it. Это значит что данное оружие затемнено и его нужно подсветить, а подсвечивается оно именно этими источниками.



13) Уменьшение времени «перепостроения» / Сохранение памяти   
Чрезмерно большие «lightmap resolution» является основной причиной, чтобы занять большое количество времени, чтобы ее «отребилдить» (построить). 
 -- Оптимизировать BSP скрытых поверхностей. Установить разрешение 65536, и снимите флажок с " Accepts Dynamic Lights " (восприятие сияния), " Accepts Dynamic Lights" (восприятия динамического освещения, т.е. тени на поверхности) и " Force Lightmap ". Также применяйте материал "RemoveSurfaceMaterial" из EngineMaterials пакета. 
 -- Снижайте lightmap resolution на поверхностях, которые не нуждаются в ней. Если поверхность имеет резкие тени через нее это нормально покинуть резолюции высокая, но много поверхностей, которые не получили прямого освещения смотреть штрафа с разрешением 64, 128, или даже выше.
 -- Если вы назначаете lightmaps к Static Object, то поставьте резолюцию на низкий уровнь.   -- Если возможно, сделайте низкое разрешение lightmaps Static object, которые имеют высокое количество полигонов.


Форма входа

Календарь новостей

«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930

Поиск

Статистика


Онлайн всего: 6
Гостей: 6
Пользователей: 0
Сайт управляется системой uCoz