自定义资源类型,史上最强大最需要的 Godot 功能最终将进入 Godot 4.0 Beta 2。此功能将使 Godot 作为游戏引擎脱颖而出!
自定义资源类型 功能:定义自定义资源类型,并可将实例作为属性添加到 Inspector 中的对象。
而之前的操作方法则是:创建扩展资源的脚本。目标对象上资源类型的导出属性。使用 Inspector 创建 Resource 实例。拖放自定义资源脚本。编辑自定义属性。。。
Godot 4.0 将停止可视化脚本visual scripting
视觉脚本是在大约五年前的 Godot 3.0 中引入的。尽管我们不断努力,但它从未获得牵引力,改进它的途径也从未明确。因此,对于 Godot 4.0,我们决定接受我们从一开始就采取的方法根本不正确,并决定将其从引擎中删除。如果存在足够的志愿者兴趣,则可以将其移至扩展名。
起源
当 Godot 2.1 出现时,最需要的功能之一是可视化脚本。当时,这似乎只是另一个功能请求。不过,这个有一个特点:这是许多尚未成为 Godot 用户想要使用 Godot 的功能。
Godot 中的大多数功能都是由实际使用引擎的用户请求的,而不是潜在用户请求的。事实上,现在Godot提案系统的设计方式是特性提案必须满足实际项目需要的要求。当时情况并非如此。
因此,我们进行了一项民意调查,以确定用户想要哪种可视化脚本以及最常提到的蓝图样式。有了这些信息,为 Godot 3.0 创建和发布了 Visual Scripting。
它并不完美,但它包含了我们认为使用它所需的大部分内容。使用它类似于 GDScript 相对容易。
无法达到预期
不幸的是,视觉脚本没有流行起来。当试图询问用户为什么不使用它时,我们得到了两个主要答案:
1.对于很多想要这个功能的潜在用户来说,他们发现 GDScript 非常适合,他们最终更喜欢它而不是可视化脚本。他们没想到 GDScript 如此容易学习和使用(即使他们不知道以前的编程),因为当时流行的引擎都没有提供这种类型的高级脚本。Godot 最终允许它的许多用户成为学习编程的工具。
2.尽管可视化脚本部分已经足够好,但 Godot 缺乏使用它的高级组件。Unreal、Game Maker 或 Construct 等引擎提供与可视化脚本解决方案打包在一起的高级游戏功能。这就是它有用的原因。Godot 是一个非常通用的游戏引擎,您可以轻松地自己制作这些功能,但它们并不是开箱即用的。因此,可视化脚本本身并没有多大用处。
根据我们最近的民意调查(超过 5000 名受访者),只有 0.5% 的用户群使用可视化脚本作为他们的主要引擎语言。
没有前进的道路
贡献者社区对其进行了改进,但在大多数情况下,这些主要是基于对可以改进的假设,因为对于我们在 Godot 中实现的几乎所有功能,我们总是会收到用户反馈,通过问题或提案。
可视化脚本是个例外,我们努力获得足够的反馈来有意义地改进它。我们可以从中得出的结论是,根本没有任何前进的道路:我们采用的可视化脚本方法根本不是正确的方法。
删除并可能转移到扩展
可视化脚本将从 Godot 4.0 的代码库中删除(Godot 3.x 分支仍将支持它)。
一种可能性是使用 GodotCPP 将其转换为官方 GDExtension,它现在非常成熟,应该支持执行此操作所需的一切。作为扩展,它可以更好地作为实验和改进的基础。然而,要做到这一点,必须有志愿者想要实现这一点,并花时间研究前进的道路。如果您有兴趣,请通过 #scripting 频道与我们联系,我们的 RocketChat 服务器位于 chat.godotengine.org。
回顾展
Godot 的开发理念非常强烈地专注于为用户问题和现实生活用例寻找解决方案。可视化脚本不是以这种方式开发的,因此我们无法实现一些有用的东西,从而花费了我们大量的开发时间。这是一次很棒的学习经历,它强化了我们的信念,即必须始终首先开发面向用户的 Godot。
未来
贡献者提出了一些关于实现视觉脚本替代方案的想法,更类似于 Game Maker 或 GDevelop 等工具。所做的任何事情很可能仍然是扩展,因为这样的功能不太可能成为核心。
删除将在 Beta 之前发生(现在非常接近!)。即使它已经消失,我们仍然感谢许多贡献者在过去几年中为使其保持活力所付出的所有努力,即使最终我们无法吸引用户的兴趣!