Summary

翻译自:https://www.behaviortree.dev

Summary of the tutorials [教程总结]

T.1: Create your first Behavior Tree [创建您的第一个行为树]

This tutorial demonstrates how to create custom ActionNodes in C++ and
how to compose them into Trees using the XML language. [本教程演示如何在 C++ 中创建自定义动作节点,以及如何使用 XML 语言将它们组合成树。]

T.2: Parametrize a Node with Ports [使用端口参数化节点]

TreeNodes can have both Inputs and Outputs Ports.
This tutorial demonstrates how to use ports to create parametrized Nodes. [TreeNode 可以同时具有输入和输出端口。本教程演示如何使用端口创建参数化节点。]

T.3: Generic and type-safe Ports [通用和类型安全的端口]

This tutorial is an extension of the previous one. [本教程是上一教程的扩展。]

It shows how to create and use ports with generic and user-defined
types. [它展示了如何创建和使用具有通用和用户定义类型的端口。]

T.4: Difference between Sequence and ReactiveSequence [Sequence 和 ReactiveSequence 的区别]

Reactive ControlNodes can be a very powerful tool to create sophisticated
behaviors. [反应式控制节点可以成为创建复杂行为的非常强大的工具。]

This example shows the difference between a standard Sequence and a Reactive one. [这个例子展示了标准序列和反应序列之间的区别。]

T.5: How to reuse entire SubTrees [如何重用整个子树]

Reusability and Composability can be done at the level of a single Node,
but also with entire Trees, which can become SubTrees of a “parent” Tree. [可重用性和可组合性可以在单个节点的级别上完成,也可以在整个树上完成,它们可以成为“父”树的子树。]

In this tutorial we will also introduce the builtin Loggers. [在本教程中,我们还将介绍内置的 Loggers。]

T.6: Remapping of Ports between SubTrees and their parents [子树与其父级之间端口的重新映射]

Any Tree/SubTree in the system has its own isolated BlackBoard. [系统中的任何树/子树都有自己独立的黑板。]

In this tutorial we extend the concept or Ports to SubTrees, using
port remapping. [在本教程中,我们使用端口重映射将概念或端口扩展到子树。]

T.7: How to wrap legacy code in a non intrusive way [如何以非侵入性方式包装遗留代码]

This tutorial shows one of the many possible ways to wrap an existing code
into the BehavioTree.CPP infrastructure. [本教程展示了将现有代码包装到 BehavioTree.CPP 基础架构中的多种可能方法之一。]

T.8: Passing arguments to Nodes without Ports [将参数传递给没有端口的节点]

If your custom Node has a lot of ports, it is probably a sign that you didn’t
understand the problem that Ports are supposed to solve 😉 [如果您的自定义节点有很多端口,则可能表明您不了解端口应该解决的问题;)]

In this tutorial, we show how to pass arguments to a custom Node class without
polluting your interfaces with pointless Input Ports. [在本教程中,我们将展示如何将参数传递给自定义 Node 类,而不会用无意义的输入端口污染您的接口。]

T.9: Asynchronous actions with Coroutines [使用协程的异步操作]

Coroutines are a powerful tool to create asynchronous code. [协程是创建异步代码的强大工具。]

In this tutorial, we outline the typical design pattern to use when you
implement an asynchronous Action using CoroActionNode. [在本教程中,我们概述了使用 CoroActionNode 实现异步操作时使用的典型设计模式。]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值