从玩家视角描述物体
让角色从玩家自己的摄像机坐标系而不是自己的视角来描述周围环境,这样它就能给出方向。
默认情况下,聊天机器人收到的每一条空间信息都以聊天机器人自身的参照系来表述——“木箱就在附近,在你前方”意思是相对于角色的前方。 从玩家视角描述 会额外添加一个从玩家参照系出发的第二个分句,因此角色可以告诉玩家某物相对于玩家自身视角的位置,而无需自己进行旋转换算。本指南会开启该分句,并向你展示如何在叠加层中确认它。
先决条件
项目已启用空间感知——参见 空间感知快速入门.
一个
UConvaiPlayerComponent存在于玩家 Pawn 上,因此可以从玩家摄像机参照系来描述。
此设置的作用
bDescribePlayerPerspective 是一个项目范围内的设置,位于 UConvaiSettings ——它适用于每个聊天机器人的周围环境信息,而不是逐个角色单独设置。开启后,每条信息都会带上一个额外的分句,明确指出玩家和方向,例如:
“从 Eshmawy 的位置看,木箱就在附近,前方偏左。”
玩家视角分句不会因为距离而被省略:即使目标很远,这个分句也只会降级为简短的“远处”,而不会被省掉,因此一旦玩家走远,先前的“就在附近”表述就不会作为过时信息残留。
开启“从玩家视角描述”
这个分句大约会使发送给每个聊天机器人的空间文本长度翻倍。对于从不需要给玩家指路的角色,请将其关闭。
在 Convai 调试叠加层中验证
进入播放模式,打开 Convai 调试覆盖层 使用 Ctrl+Alt+K,并选择一个已具有 bReceiveSurroundings 开启。
查看 周围环境 玩家附近某个对象的面板。该行的句子现在应包含两个分句:先是聊天机器人自身的参照系,随后是“From <Player>’s position, ...” 分句。将玩家移动到相对于该对象的不同位置,并确认第二个分句会在下一次轮询时更新。
下一步
空间感知的工作原理空间感知设置参考最后更新于
这有帮助吗?