Zoharwolf's blog
  • 主页
  • Godot优缺点笔记
  • 剧本命令参考
由 GitBook 提供支持
在本页
  • 特色
  • 编辑器和脚本高度一致化
  • 合并概念,组件=对象,场景=对象
  • 树形文档查找
  • 缺点
  • 第三方工具暂时都不支持它
  • 编辑器有些功能还比较简陋

这有帮助吗?

Godot优缺点笔记

记录自己使用godot过程中发现的godot的各种优缺点和可能性的探索

特色

编辑器和脚本高度一致化

一致化到极致了,因为它的编辑器就是用它的脚本实现的。 所以可以轻松用脚本来控制它的编辑器,比如在编辑器中直接看代码运行效果、看shader实际效果。 另外也可以在运行游戏的过程中实现许多编辑器中的功能,比如动态生成一些东西,或者将运行时的东西反保存到编辑器中。

虽然这些不算什么新鲜功能,比如后者rpg maker都能做到,前者unity想弄也可以(虽然无比麻烦和拉胯)。但godot的特点因为是高度一致化,所以学习成本极低。

合并概念,组件=对象,场景=对象

用过Unity的可能比较清楚,因为我这里完全就是拿unity里的概念来对比说的。 在Unity里的话,首先是分了很多的场景Scene,场景里会有许多的对象Object,一个对象上挂许多的组件Component。每个Component对应一类功能,比如物理运动、碰撞盒、音频、位图、动画……

而在Godot里,所有的这一切,都算是对象。

场景本身其实就是一个对象,所以可以场景套场景,或者一下实例化好几个场景。其实Unity虽然设计了场景这种东西,但大家用的时候,却似乎许多项目并没按它设计的那种来用,因为限制很多,而且有许多不可控因素,使用方式反而更倾向Godot的这种设计。 另外就是,组件也是对象。把一个带功能的对象作为子对象挂在一个对象上,这个对象就有了这个功能。这个子对象,既算是组件,也是一个对象。这一点和Unity风格不同,初见可能觉得不太习惯,但用久了会发现是非常美妙的。

Godot的这种合并概念的设计,大大地简化了开发,也弱化了限制,非常先进。

树形文档查找

就是类似网页前端开发Jquery的那种风格的快速查找对象功能,查找直接用的是路径名称,非常方便也非常快速。前边说了,它一切概念都合并成了对象,所以使用这种快速查找可以快速找到一切对象(场景、组件)。这个风格贯彻着整个游戏开发的始终。

缺点

第三方工具暂时都不支持它

现在流行的各种游戏开发工作流的第三方工具,基本都不支持直接往这个引擎里接入。比如音频引擎工具fmod,骨骼动画工具spine。 不过现在的godot其实完全是支持音频引擎控制和多边形动画的,懂原理的大神当然可以完全不借助第三方工具自己就搞出殿堂级的效果。不过考虑到大部人都比较懒,还是喜欢用现成的,所以暂时还是个缺点。godot虽然支持这些东西,但缺少的就是第三方工具们对它的一个主动对接。暂时是有些个人写的对接的包,但可惜完成度都不高。

这个没办法,新事物就是这样,就和当年的blender一样,爹不疼娘不爱的。但相信用的人多起来之后,这部分也会渐渐好起来的。鉴于此,godot商业化应用可能暂时还比较困难,小规模独立游戏开发者可能更适合它。

编辑器有些功能还比较简陋

虽然功能很多,但某些功能实际用起来还是偏简陋一些。比如当动画机属性很多很复杂时,查找起来比较费劲。信号选择页面的搜索功能过于简单,虽然勉强能用。信号之类的功能不能批处理,动画机属性的复制粘贴、分组、调整之类的。tilemap功能也用起来比较难受。

上一页主页下一页剧本命令参考

最后更新于4年前

这有帮助吗?