Пишу свой игровой движок. Часть 18: день, в котором ничего не получилось

36 подписчиков

12+
12+

11 часов назад

ПожаловатьсяНарушение авторских прав

36 подписчиков

12+
12+

11 часов назад

ПожаловатьсяНарушение авторских прав
12+
12+

11 часов назад

Восемнадцатая часть. Результата нет. Цель была простая: если нажимать в нашем движке те же клавиши, что я нажимал в Unreal, персонаж должен двигаться так же. Пока не так. Анимации контроллера не ложатся: по земле тело идёт рядом с записью, а поза расходится — то руки, то стопы, то колено. Половину дня я чинил не то. Смотрел на число «насколько мы мимо» и подбирал под него коэффициенты вместо того, чтобы прочитать, как это сделано в оригинале. Подобранное число на одной записи работает, на другой — нет. Когда наконец дописал в свой плагин запись нужных величин прямо из редактора, причина одного из расхождений нашлась за минуту: капсула персонажа не стоит на полу, а меш подвешен ниже её низа. Это читается, а не угадывается. Вторую половину дня я ломал интерфейс. Кнопка «в начало» перестала возвращать тело на исходную. Шаг на секунду начал каждый раз проигрывать с нуля. В режиме сверки пропала камера, а потом персонаж повис над полом. Всё это я чинил у человека на глазах, вместо того чтобы двигаться к цели. ИИ пишет код, а решения принимаю я — и сегодня видно, чего это стоит, когда решения принимаются плохо. Модель охотно подгоняет ответ под измерение и называет это результатом. Ловить это приходится мне. Что осталось после дня: сверка идёт по секундам и её видно глазами, разбор расхождения теперь по костям и по цепочке скелета, а плагин пишет из редактора то, что раньше выводилось догадками. Сама цель не достигнута. Цифры: поза расходится на сантиметр в первые две секунды и на три к третьей; тело — на четыре сантиметра; интерфейс ломался четыре раза за день. Стек: движок — C++20, графика — DirectX 12, шейдеры на HLSL. Интерфейс редактора — ImGui. Плагин записи — C++ под Unreal Engine 5.8. Инструменты — Python. Лицевой риг MetaHuman считает OpenRigLogic. Я технический художник, а не программист. Код пишет ИИ, решения принимаю я. Про права: движок — свой код целиком. Чужого в нём две библиотеки под лицензией MIT: ImGui и OpenRigLogic, которую Epic Games сама выпустила, чтобы MetaHuman считался вне Unreal. Персонажи — MetaHuman по условиям Epic. Анимации и блокаут уровня — из Game Animation Sample, который Epic отдаёт бесплатно на Fab под своей стандартной лицензией. Всё остальное сделано здесь. #gamedev #directx12 #gameengine #разработкаигр

Название:

Пишу свой игровой движок. Часть 18: день, в котором ничего не получилось

Категория:

Разное