Истребители багов: разламываем Sabre

На этой неделе выпуск «Истребителей багов» проведет наш специальный гость Патрик Салерно. Он подменит занятого в работе над 3.0 Марка Эйбента и исследует проблему, почему Aegis Sabre при разрушении не разваливается как положено.

Суть бага в том, что после уничтожения корабля его нос просто зависает на месте, тогда как остальная часть улетает в сторону. Чтобы понять суть проблемы Патрик ознакомился с отчетом об ошибке и посмотрел видео, как кто-то врезается на Sabre в скалу, после чего корабль взрывается и вращаясь отлетает в сторону. Вообще на поиск причины некорректного поведения может уйти день или два, но Патрик уже исправил этот баг, а сейчас просто показывает, как же он это сделал.

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

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

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

Патрик переключился на 3D Max и стал смотреть, как элементы корабля вообще должны отделяться. В иерархии корабля хорошо видны зависимости одних деталей от других. Если выделить крыло, в окне перспективы появятся зеленые квадратики – вспомогательные объекты, использующиеся для создания спецэффектов. Попутно с устранением основного бага можно отрегулировать и их работу. В итоге Патрик настроил частицы и параметры повреждений, перегрузил xml в тестовой сцене и начал методично отстреливать крылья и прочие выступающие элементы корабля. Теперь детали корректно разлетаются в стороны по множеству различных путей.

Если посмотреть в xml на код носа корабля, там можно обнаружить строчку, отвечающую за отсоединение. В ней заданы два параметра: степень отделения и возможность отделения, а также указаны произвольные силы (для осей X, Y и Z), благодаря которым деталь после взрыва отлетит в сторону. Здесь можно установить правило, чтобы после уничтожения носа возникала некоторая вероятность его отделения. И это нужно проделать с каждым отделяемым компонентом.

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

Еще одним багом в игре стало меньше!

Источник: https://forum.star-citizen.pro

logo

ПОХОЖИЕ СТАТЬИ

ПИСЬМО ОТ ПРЕДСЕДАТЕЛЯ (04.08.18)

ПИСЬМО ОТ ПРЕДСЕДАТЕЛЯ (04.08.18)

Привет, Граждане Я надеюсь, все вы наслаждаетесь Альфой 3.2.1. Мы прекрасно проводим время за просмотром стримов, видео и скриншотов от сообщества, которые вы создаете. Мероприятия, подобно собранию 50 игроков из испанского сообщества ради совершения совместного квантового прыжка на Daymar и...

ПРЕДВАРИТЕЛЬНАЯ РАСПРОДАЖА DRAKE CORSAIR

ПРЕДВАРИТЕЛЬНАЯ РАСПРОДАЖА DRAKE CORSAIR

ПРИСЛУШАЙТЕСЬ К ЗОВУ ДАЛЕКИХ ЗВЕЗД Романтика. Опасность. Загадочность прокладывания курса в неизвестность. Она поет вам. Дух исследования неотвратим. Он показывает, кто вы есть на самом деле. Вы слышите песню далеких галактик, неисследованных систем и необъезженных границ. Вы...

Pioneer: вопросы и ответы

Pioneer: вопросы и ответы

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