我正在寻找任何语言的behavior tree实现,我想更多地了解它们是如何实现和使用的,所以我可以自己动手但我只能找到一个 遗憾的是,Owyl不包含如何使用它的示例。
任何人都知道我可以浏览代码的任何其他开源代码,看看它们如何使用的一些例子等?
编辑:行为树是数据结构的名称。
答案 0 :(得分:5)
以下是我发现的一些内容:
GameDev上的这个Q也可能会有所帮助。
答案 1 :(得分:3)
看看https://skill.codeplex.com/。这是一个用于统一的BehaviorTree代码生成器。您可以下载源代码并查看它是否有用。
答案 2 :(得分:2)
我在C ++中使用了自己的行为树实现,并使用了Protothreads Library中的一些修改代码。 Coroutines in C也是一本很好的读物。使用这个可以实现一个协程系统,允许一个人同时运行多个行为而不使用多个线程。基本上每个树节点都有自己的协程。
答案 3 :(得分:1)
我不知道我理解你是对的,但我认为要实现一棵树你更好的选择是使用F#或Haskell这样的形式语言。使用Haskell,您可以使用灵活快速的树结构,使用F#,您可以使用多范式语言来解析和处理oo代码中的树结构。
我希望能帮助你。
答案 4 :(得分:0)
您可以在YVision框架中找到在.NET中实现的行为树。我们发现它们特别适合开发自然用户界面(NUI)应用程序。 它不是开源的,但它可以免费使用,你可以在教程中找到我们如何实现它们的信息:http://www.yvision.com/support/tutorials/
编辑:让我补充一点,我们使用的行为树不仅仅是人工智能。甚至游戏循环中子系统的同步也由它们定义。 检查cases page以查找我们正在使用它们的应用程序范围:机器人,基于摄像头的交互,增强现实等。 下载框架,尝试样本,并请给我们反馈我们的实施。
答案 5 :(得分:0)
https://github.com/TencentOpen/behaviac非常出色。
behaviac支持行为树,有限状态机和分层任务网络。 行为可以在设计者中设计和调试,由游戏导出和执行。
C ++版本适用于客户端和服务器端。
并且,它是开源的!