..или Blender в Godot ? в общем не суть)
История от Miguel de Icaza про встраиваемый игровой движок.
Много лет назад, работая в Xamarin, где мы создавали кроссплатформенные библиотеки для мобильных разработчиков, мы хотели предложить нашим пользователям возможности 2D и 3D игр в виде добавления 2D или 3D контента в их мобильные приложения.
Для 2D мы создали и разработали множество библиотек, вдохновленных Cocos2D.
С 3D ситуация была сложнее. Мы финансировали несколько библиотек в течение нескольких лет, вносили свой вклад в другие, но ничего не вышло (история этого заслуживает отдельного поста).
Примерно в 2013 году мы огляделись вокруг, и на тот момент у нас было два претендента: один - встраиваемый движок с множеством симпатичных функций, но не очень хорошей поддержкой пользовательского интерфейса под названием Urho, а второй - Godot, который имел отличную IDE, но не поддерживал встраивание.
В то время я связался с Juan, чтобы обсудить, можно ли превратить Godot в такой движок. Хотя я обычно веду подробные записи всех своих встреч, эти записи, к сожалению, пропали в результате приобретения Microsoft, но из того, что я помню, Juan сказал мне: "Godot - это не то, что вы ищете" в двух измерениях, не было никаких ближайших планов по превращению его во встраиваемую библиотеку, и он не был таким продвинутым, как Urho, поэтому он рекомендовал мне выбрать Urho.
Мы вложили значительные средства в привязку Urho и создали UrhoSharp, которая стала отличной 3D-библиотекой для наших пользователей C# и работала не только на всех настольных и мобильных платформах, но мы проделали тонну работы, чтобы сделать ее отличной для гарнитур AR и VR. К сожалению, руководство Microsoft оставило UrhoSharp умирать.
Затем сопровождающий Urho ушел с поста, и Godot стал одним из самых популярных проектов с открытым исходным кодом в мире.
В прошлом году @Faolan-Rad внёс патч для Godot, чтобы превратить его в библиотеку, которую можно было бы встраивать в приложения. Я использовал эту библиотеку для создания SwiftGodotKit и с тех пор очень доволен ею - она позволяет людям встраивать содержимое Godot в свои приложения.
Однако патч имел серьезные ограничения: он мог запускать только одну игру Godot в качестве встроенной системы и не мог делать ничего больше. Ребята из Smirk Software хотели пойти дальше. Они хотели разместить независимые сцены Godot в своем приложении и иметь больше контроля над ними, чтобы они могли посыпать свое мобильное приложение контентом Godot по своему усмотрению.
Они профинансировали некоторые первоначальные работы и наняли Gergely Kis's company для выполнения этой работы.
Gergely продемонстрировал эту работу на GodotCon в прошлом году. Я вернулся с GodotCon очень воодушевленным и решил превратить свой прототип Godot on iPad в полноценный продукт.
Одной из функций, которые мне были нужны, была возможность встраивать фрагменты Godot в отдельные компоненты пользовательского интерфейса iPad, поэтому мы работали с Gergely над созданием и полировкой этого патча для общего использования.
Сейчас на рассмотрении находится полный патч, позволяющий людям встраивать произвольные сцены Godot в свои приложения. Для пользователей SwiftUI это означает, что вы можете встроить сцену Godot в представление, отображать и управлять ею по своему усмотрению.
Надеюсь, команда примет это изменение в Godot, и как только это будет сделано, я обновлю SwiftGodotKit, чтобы предоставить эти новые возможности пользователям Swift (привязка для других платформ и языков оставлена на усмотрение)
После разговора с Juan прошло всего десять лет, но я снова твёрдо стою на земле Godot) 23 апреля 2024 г.
LibGodot - это система, позволяющая компилировать Godot как библиотеку и подключаться к ней с помощью GDExtensions, передавая указатель функции на точку входа реализации GDExtension перед запуском Godot.
LibGodot добавляет поддержку языков, которые поддерживают C, но не могут быть скомпилированы в общую библиотеку.
LibGodot позволяет использовать различные режимы выполнения C#, позволяя компилировать dotnetAOT, поддерживать C# android и C# web.
https://tirania.org/blog/archive/2024/Apr-23.html
https://github.com/migeran/libgodot_project
https://github.com/godotengine/godot/pull/72883
Комментарии (2)
pecheny
01.02.2025 08:50Какой блендер? О чем вы? В оригинальной статье ни слова о нем. Речь идет о том, что разработчик делая свое нативное приложение, например, под мобилы, может подключить годо как зависомость, чтобы запускать внутри отдельную вьюшку со сценой из годо внутри. Ну типа как WebView, только не веб, а годо.
Нет, это никак не поможет и не позволит встроить годо в блендер или блендер в годо. Ничем не обоснованные фантазии переводчика.
Если хочется движка в блендере, то есть например https://armory3d.org/engine/
Jijiki
вроде прикольно звучит, если не гемор почему нет), у блендера помню был свой движок, еслиб была либа годот былоб интересно посмотреть