阶段 3:带单个参数的自定义操作
动作可以带有参数,例如: 拾取 是一个期望接收一个将被拾取的对象的动作,在本指南中,我们将了解如何解析这些参数,以及诸如文本之类的其他类型参数。
引用对象或角色
在你的 AI 角色中引用对象或角色非常重要,原因有两个:首先,它会知道该对象/角色的存在;其次,当与它们相关的动作被触发时,你将能够获取这些对象或角色的引用,例如 移动到 - 拾取 - 跟随 都会始终与对象或角色一起触发
引用对象需要你将该对象添加到 环境 位于……中的对象 ConvaiChatbot 组件中。这样做有两种方式:
第一种方法是在场景中选择角色,然后在细节面板下,将引用添加到
Convai Info下的 Objects 数组中,这种方法要求你继承自ConvaiBaseCharacter蓝图。
在
开始游戏事件中,在角色蓝图上遍历你希望角色了解的所有对象,然后将其添加到环境对象中。在下面的蓝图中,我们给想要添加到环境中的对象添加了标签,这样就能更方便地在开始游戏时获取它们,然后我们分别使用第二和第三个标签作为名称和描述。
可以在运行时添加、编辑或移除对象。
使用
Add Object用于对象的函数和添加角色用于角色。如果你使用
CovnaiBaseCharacter 作为父类,则会处理环境中玩家和其他角色的添加。
解析对象和角色类型
当你成功将对象和角色添加到环境后,让我们通过一个快速场景来看看如何处理响应:
创建一个名为
看向的动作,该动作会强制 AI 角色看向某个特定对象或角色。
在角色蓝图中创建一个同名事件,并添加一个类型为 Convai Result Action的输入参数,这将包含该动作所需的参数,在我们的例子中就是要看向的对象/角色。

现在让我们按如下方式完成实现,我们将拆分
动作参数结构,然后设置相关对象或角色为主角,请注意,这只是一个让 AI 角色看向所引用对象或角色的快速技巧。
拆分
相关对象或角色结构,以获取有关该对象或角色的更多详细信息,例如其引用、名称和描述。
如果你没有为该对象添加引用,你将得到一个无效引用,但仍然可以得到名称和描述。
解析其他参数类型
待续..
最后更新于
这有帮助吗?