Истребители багов: подсветка шлема





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

Форрест загружает персонажа из билда для Gamescom 2017 и сразу же обнаруживает первую проблему — в начале координат появляется источник света. При переключении на вид от 3-го лица оказывается, что под ногами персонажа появился еще один такой же источник. Это тот самый свет, который должен находиться внутри шлема и освещать лицо. Он не присоединен к костям и поэтому появляется в начале координат модели.

Форрест переключается в DataForge, чтобы узнать, как осуществляется вызов объекта источника. По пути «Helmet Item -> Entities -> SC Item -> Characters -> Human -> Armor -> Light -> Helmet -> m_light_helmet» он находит персонажа Explorer и переходит в параметры эффектов Light, где расположен активированный источник.

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

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

В новом компоненте эффектов сущностей есть эффекты для освещения. Лучший способ прикрепить свет к персонажу — использовать слот, который напрямую связан со вспомогательными точками на шлеме. Ранее разработчики уже создали набор костей, который отображается на персонаже при загрузке, и к этим костям можно прикреплять источники света. Из всех доступных позиций сейчас нас интересует центральная нижняя. Форрест указывает источник под номером 04 в качестве параметра для переменной «Bone Attachment», затем дает ему имя, меняет температуру и некоторые другие параметры. Вся прелесть в том, что кто-то уже корректно расположил и повернул все кости на шлеме, поэтому не потребуется сильно их редактировать.

После сохранения, экспорта и загрузки тестовой сцены видно, что свет появился, но оказался очень сильным. Сам источник является точечным и всенаправленным (Point Light), а это значит, что он светит из одной точки во все стороны с одинаковой интенсивностью. Нужно сменить его на направленный источник (Directional). Для этого Форрест решает использовать текстурную проекцию.

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

После загрузки персонажа все источники работают, хотя и выглядят довольно странно. Им явно требуется дальнейшая регулировка. Форрест пытается внести изменения через DataForge в режиме реального времени без перезагрузки проекта, и это работает. Закончить настройку он решает в условиях черноты космоса, находясь на борту Constellation (в кресле пилота которого сидит персонаж Марка).

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


Комментировать