‫你好, 欢迎｡
‫在这节课中, 我们将在C++中设置一个黑板键, 这样我们就可以在开始播放时设置播放器的位置｡
‫让我们深入了解一下它是如何工作的｡
‫好吧, 我会的
‫正如我在上节课中所说的, 我们希望能够在黑板上设置一些游戏状态, 让人工智能根据这些状态采取行动｡
‫黑板看起来像这样, 它现在有一个自激活键, 但是这里没有其他键｡
‫我们可以添加密钥, 就像单击这个新密钥按钮一样｡
‫您可以变更类型｡
‫实际上并没有一个演员的类型或者类似的东西, 只是在模糊的对象类型下｡
‫有球, 阶级, 敌人, 等等｡ 但是你可以选择你想要的对象类型,
‫方法是在黑板上找到详细信息, 下拉列表, 选择你想要的基类｡
‫比如说, 这里说的是自参与者是参与者类型｡
‫默认情况下, 这是刚刚在这里放置的｡
‫但我们要做的是设置一个新的关键点｡
‫要做到这一点, 我们需要找到如何在C++中访问它｡
‫因此, 我们已经有了一个简单的函数, 允许我们通过在AI控制器上执行get
‫blackboard组件来获取黑板｡
‫很简单, 我们只需要得到黑板组件, 让我们看看黑板组件, 点h,
‫看看这里有什么可用的｡
‫我们要做的是设置键, 或者设置黑板, 或者实际上, 就像设置值一样简单｡
‫黑板组件上有很多不同的函数, 它们允许你设置不同的值, 所以你可以通过一个键名来设置,
‫这里是一个F名字.
‫然后, 您可以将值设定为物件, 或者您可以将类别设定为此处可用的所有不同型别｡
‫所以我们来给予试吧｡
‫我将转到C++并尝试将玩家兵的位置设置为变量之一｡
‫所以我们首先要做的是, 我们需要得到黑板组件｡
‫让我们试一下, 看看黑板组件｡
‫然后我们需要有正确的包含｡
‫因此, 如果我将鼠标悬停在H上的黑板组件上, 您可以看到我们需要包括行为树正斜杠黑板组件｡
‫我们来做哈希包含, 然后它就是行为树正斜杠黑板组件H｡
‫现在我们可以在该类型上使用箭头操作符, 并且应该正在运行｡
‫我们想, 在这种情况下, 设置一个向量｡
‫我们要设定地点｡
‫我们设置了一个向量, 并没有复制整行, 只是设置了向量, 然后我们想,
‫第一个参数是我们要设置的名称, 这样我们就可以使用文本宏了.
‫我将把它称为播放器位置, 它将在开始时给予位置, 因为我们在开始Play中调用它,
‫然后我们需要设置位置, 这样我们就可以从代码行中得到位置,
‫得到播放器——首先｡
‫所以取消注释, 然后我们要做玩家典当箭头, 得到演员位置, 就像这样, 用分号结束这行｡
‫就这么简单, 设置一个黑板值.
‫所以你们的挑战是做另一半, 在黑板上创建一个键.
‫所以在黑板上添加键, 确保它的类型和名称正确, 如果一切正常,
‫你应该可以在运行时检查这个值｡
‫还记得上节课吗？
‫我们看到了如何查看行为树｡
‫你也可以这么做｡
‫你可以在运行时检查黑板, 当你玩的时候, 你应该能够看到C++代码设置了什么值｡
‫暂停视频, 开始体验｡
‫好吧, 我会的
‫欢迎回来｡
‫我将进入编辑器, 点击compile, 因为我还没有这样做｡
‫我们将添加一个新的黑板键｡
‫在这种情况下, 我们必须把名字和类型弄对, 否则事情会出错｡
‫我们有一个向量键, 我们称之为播放器位置, 我会复制它,
‫以确保拼写正确.
‫是的, 我们有很酷的豆子｡
‫然后我们要做的是, 我们要去检查黑板上的细节是否正确｡
‫是的, 有一个名字, 如果你想的话, 你可以加上描述｡
‫型别是向量｡
‫那很酷｡
‫例如, 选择｡
‫这是一个我们目前并不特别感兴趣的变量｡
‫好的, 谢谢
‫我们已经编译好代码了, 让我们点击“播放”, 看看我们是否能检查黑板值｡
‫转到黑板上, 您可以看到我们仍然可以使用下拉菜单来选择我, 我们希望与之相关的内容｡
‫在我们的世界中只有一个, 但你可以看到, 自我演员还没有设置,
‫但球员的位置确实已经设置｡
‫让我们检查一下这是否大致正确｡
‫如果我拥有, 看看我的球员, 看看球员的位置｡
‫你看得出来｡
‫是的, 非常正确｡
‫2000年-5100年｡
‫这就是从C++中设置的值｡
‫就这么简单｡
‫我们可以开始了解如何与行为树交互｡
‫在下一节课中, 我们会看看行为树的实际结构, 并让它们做些什么.
‫激动人心的部分｡
‫到时候见｡