Свободная разработка игр на Godot и Blender, часть 1
Все помнят, что Unity стала источником скандала, после изменения своей лицензии. А ведь есть ещё санкции от компании Adobe. Вопрос: реально ли разрабатывать качественные 3D приложения, используя исключительно свободные и бесплатные средства разработки? Без помощи пиратской бухты. Думаю, вполне реально.
Что тут происходит?
В прошлом посте я рассказал о негативном опыте миграции на Godot4 простенькой 2D игрушки. И наметил два пути дальнейшего развития: либо откат и уход в 2D на старой версии, либо повышение экспертизы и создание проектов 3D пространстве.
Выбор сделан, хочу попробовать 3D, благо новая версия к этому располагает. Думаю, постепенно WebGL2 докатится и до Apple устройств, или я докачусь до порта под iOS, и все будут счастливы. Под предыдущим постом просили разбор инструментария, что и как я делаю. Ну, сами напросились.
Для понимания происходящего у вас должен быть хотя бы базовый опыт в программировании и базовый математический аппарат: поверхность, вершина, линии, вектор, радианы, градусы.
Инструменты
Инструменты, которые будем использовать на протяжении цикла статей. Рекомендую использовать английские версиипрограмм. Т.к. к ними будет легче найти мануалы.
- Godot 4.2.1 свободный графический движок.
- Blender 3.6 свободный 3D редактор. Качаем именно последнюю версию тройки. Т.к. интеграция в Godot4 заявлена именно 3. Можете попробовать четвёрку на свой страх и риск.
- Krita, Gimp, Inkscape свободные 2D редакторы. Зачем так много 2D редакторов? У каждого из них немного своя специфика, и мне не удалось выбрать конкретный. Krita хороша для рисования в прямом смысле слова. Gimp для редактирования и создания коллажей. Inkscape — это векторный графический редактор.
- LMMS, OBS Studio, возможно, что-то ещё для монтажа аудио, признаться, это не моя сильная сторона.
Скачав данный инструментарий, вы сами уже можете сделать свой проект, не обязательно игру.
Есть проекты комиксов, реализованных полностью на свободном ПО, которые и сами по себе имеют свободные авторские права: Пеппер и Кэррот. То есть на базе этого лора можно создавать игры, фильмы
На момент написания я уже поднаторел в 3D моделировании и свободных 2D редакторах. Если надо, могу подробнее остановиться на процессе моделирования, правда, учитывая специфику своей разработки. Пишите комментарии, на чём остановиться подробнее. Эту сторону буду разбирать детальнее.
Ну, а пока для прототипа буду использовать предназначенный для этого набор ассетов.
Делаем первую сцену
Распаковываем набор ассетов, видим что файлы в формате .fbx, видимо, для Unity. Запускаем Blender и ипортируем файлы. В целом можем импортировать и уже готовый объект Sample 2, собранный из модулей в наборе. Затем можем просто сохранить в формате. blend файла.
Запускаем Godot, переходим в библиотеку ассетов, находим First Person 3D Template, смело качаем. Предупреждения о том, что объект создавался в движке версии 4.1 смело игнорируем. Уже можем запустить игровую сцену с видом от первого лица, не написав ни одной строки кода.
Важная часть для работы с 3D в Godot4 это активировать фичу интеграции с Blender. Заходим в Editor->Editor Settings. Не пугаемся огромного количества опций слева. У нас есть поисковая строка. Ввводим в неё blender. Выбираем опции import и указываем путь к папке с вашему Blender конкретной версии. После это нажимаем «save and restart».
Теперь идём в Project Settings повторяем процедуру. Если работаете под Android или Web активируете и другие соответствующие галочки.
Теперь можем копировать blend файл в директорию проекта, Godot начнёт его импортировать. А после этого его надо просто перетащить на сцену. Поворачиваем, масштабируем под свой вкус. Запускаем сцену и видим, что объект добавился.
Но если попробовать на него прыгнуть, мы провалимся. Ну пока для начала более чем достаточно, я считаю.
Что дальше?
Дальше, сделаем так, чтоб не проваливаться в объекты, добавим цвета, так интереснее и веселее. Разберём основы программирование Gdscript под 3d. Говорят очень похоже на 2d. Пока не знаю точно, ну вектора точно будут отличаться дополнительной координатой, пробую вместе с вами в формате блога.
Ну если кого заинтересовало что-то конкретное, пишите в комментариях или на почту.