Godot 转向 AI 框架
这个项目是一个框架,用于在 Godot 游戏引擎 中使用 GDScript 编写复杂而流畅的 AI 移动,采用转向行为。它适用于2D 和 3D 游戏。
➡ 在 Twitter 和 YouTube 上关注我们,获取免费的游戏创作教程、技巧和新闻!购买我们的 Godot 游戏创作课程 来支持我们的自由软件工作。
它支持所有基本的转向行为,如逃离、跟随、注视,还包括混合行为、群体行为、避开邻近物体、沿路径移动、跟随领导者等等。
获取框架
这个仓库包含了框架和一些用于学习目的的演示。
如果你只想要框架而不需要其他内容,或者想创建 Git 子模块,可以使用 Godot 转向 AI 框架子模块 仓库。
介绍
在 20 世纪 90 年代,Craig Reynolds 开发了常见 AI 行为的算法。这些算法使 AI 代理能够寻找或逃离目标、沿预定路径移动或面向特定方向。它们是简单、可重复的任务,可以分解为编程算法,这使得它们易于重用、维护、组合和扩展。
虽然 AI 代理的下一步行动是基于决策和规划算法,但转向行为决定了它在每一帧中如何移动。它们使用可用信息并计算当前时刻应该移动到哪里。
将这些系统结合在一起可以产生复杂而优雅的移动,同时比复杂的寻路算法(如 A*)更高效。
框架
这个项目是 Godot 游戏引擎 的框架。它的灵感来自于优秀的 GDX-AI 框架,后者是为基于 Java 的 LibGDX 框架设计的。
框架中的每个类都继承自 Godot 的 Reference 类型。不需要复杂的场景树;你可以将所有与 AI 移动相关的内容都包含在 GDScript 类中。
工作原理
在 GSAI 中,转向代理代表一个角色或车辆。代理存储其位置、方向、最大速度和当前速度。代理存储一个转向行为,根据其信息计算线性或角速度的变化。
然后,程序员以适当的方式将该加速度应用于角色,以改变其速度,比如使用 RigidBody 的 apply_impulse
或 KinematicBody 的 move_and_slide
。
文档
框架的文档和代码参考可在此处获取:Godot 转向 AI 框架文档
贡献
如果你遇到错误或有改进工具的想法,请提交问题。
如果你想为项目做出贡献,例如修复错误或添加功能,请查看我们的:
支持我们
我们在自由软件上的工作由我们的 Godot 游戏创作课程 赞助。考虑购买一个来支持我们!
如果你喜欢我们的工作,请为仓库加星!这有助于更多人发现它。