Kaiju Engine — много обновлений
Brent Farris
0:00 / 0:00
Kaiju Engine — много обновлений
4 470 просмотров · 5 мес. назад
Brent Farris
9,72 тыс. подписчиков
4 470 просмотров · 5 мес. назад
Проект Kaiju Engine ► https://github.com/KaijuEngine/kaiju
X ► https://x.com/ShieldCrush
Discord ► / discord
Долгое время я уделял большое внимание коду, производительности и тому, как движок воспринимается программистами/разработчиками. В последние несколько месяцев я решил улучшить инструменты не только для себя, но и для художников и дизайнеров. Это означает добавление элементов, улучшающих удобство использования, создание инструментов для художников, подготовку к локализации и т.д.
Первое впечатление важно, и приятное визуальное восприятие при первом запуске движка со временем становится всё важнее. Для достижения этого нового внешнего вида были внесены несколько обновлений в шейдер пользовательского интерфейса, улучшающих качество контура, точность, форму/размер границ и другие мелкие детали. Недавние обновления значительно продвинули нашу реализацию CSS по сравнению с первоначальным вариантом. В последних обновлениях также появился новый тег "kaiju-include", как видно в файле stage_workspace.go.html, позволяющий разбивать большие HTML-файлы пользовательского интерфейса на управляемые части.
Еще один новый многоразовый инструмент пользовательского интерфейса — это палитра цветов.
Привязка к вершинам уже здесь! Вы можете удерживать клавишу "V" на клавиатуре, когда у вас выделены объекты, и вы перейдете в режим привязки к вершинам. Это позволит вам выбрать вершину, к которой вы хотите привязаться, внутри выделенной области и перетащить ее на другие вершины в сцене, чтобы привязаться к ним.
Далее я добавил возможность дублирования объектов, удерживая клавишу Shift и перетаскивая мышью инструмент перемещения. Это также работает с привязкой при удержании клавиши CTRL/Mod.
Я также добавил настройку в параметрах редактора, позволяющую изменить управление вызовом инструмента с G/R/S для перемещения, вращения и масштабирования на W/E/R (типично для таких программ, как Maya).
Я добавил возможность создания примитивов через выпадающее меню «Создать» в строке меню. Кстати, о строке меню: теперь вы можете щелкнуть, чтобы развернуть раздел, а затем перемещать мышь вперед и назад по другим параметрам, чтобы развернуть их; вместо того, чтобы щелкать по каждому по отдельности.
В Kaiju теперь встроен собственный многопоточный физический движок, написанный непосредственно на Go. У нас больше нет зависимости от Bullet3. Эта реализация намного лучше предыдущей версии Bullet3, поэтому это фантастическое улучшение. Физическая система также поддерживает как ограничения, так и столкновения с ландшафтом.
Теперь вы можете создавать интеграционные тесты в Kaiju. Это позволяет создавать тесты, которые фактически запускают интеграционные тесты (не модульные тесты) для сложных игровых или программных систем. Я часто использую это для создания скриншотов элементов пользовательского интерфейса, результатов шейдеров или других визуальных элементов для дальнейшей обработки и итерации. Посмотрите аргумент командной строки integrationtest, есть пример -integrationtest=screenshot, который вы можете запустить. Обратите внимание, что это работает только в отладочных сборках, вы можете изменить это, если вам это нужно для релизных сборок.
Это совсем небольшое упоминание, но в коде Kaiju теперь есть пакет локализации. Это закладывает основу для реализации локализованного ввода с клавиатуры, а также для подготовки к системе локализации на основе строк.
Спасибо всем участникам, которые постоянно улучшали Kaiju, повышали производительность, улучшали пользовательский интерфейс, добавляли функции и вообще были настоящим благословением! Постоянная поддержка и энтузиазм людей действительно вдохновляют меня двигаться дальше.