LOADING

加载过慢请开启缓存 浏览器默认开启

Godot快速上手

2024/7/21 Godot

前言

Godot是一款多功能、跨平台的2D与3D开源游戏引擎。可运行于Windows、macOS、Linux等多种操作系统。而其创建的游戏可运行于PC、Android、iOS、HTML5等平台。

为什么写这篇文章,主要是记录一下Godot游戏引擎的使用体验。

我跟着的教程是油管游戏开发大神BrackeysHow to make a vedio game

至此,这篇文章于你的作用可能就结束了,因为他的视频教程真的非常棒,非常酷,跟着做就可以完成一款简单的2d平台跳跃游戏。

怎么感觉好像这篇文章不怎么必要写,不管哩,写都写了

接下来,简单讲讲Godot的优点与不足

优点

编辑器和脚本高度一致化

一致化到极致了,因为它的编辑器就是用它的脚本实现的,就是说Godot编辑器本身就是一个游戏。

所以可以轻松用脚本来控制它的编辑器,比如在编辑器中直接看代码运行效果。

另外也可以在运行游戏的过程中实现许多编辑器中的功能,比如动态生成一些东西,或者将运行时的东西反保存到编辑器中。

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

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

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

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

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

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

树形文档查找

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

不足

相对于UE和Unity,它的学习资料实在是太少了,社区生态也并没有发展起来,编辑器的功能相对来说也还是薄弱。

确实准确来说,我也不太懂其他方面,我只能说对于初学者而言,体验到的就是这些方面。

总结

Godot还是蛮不错的感觉,至少在跟着Brackeys的教程做的时候感觉很简单、很爽。(不排除是因为大神教学牛逼)个人认为该引擎适用于做些独立小游戏这类的,未来学习资料多了,社区发展起来,还是不错的一个选择。至少这种,所有东西都看成Node的理念,我喜欢。