选择目标模式
选择与相机和控制方案匹配的对话目标选择模式,以便正确的角色响应玩家。
设置 ConversationTargetingMode 时 ConvaiManager 这样 SDK 就会在房间里有多个角色时选对角色——适合第一人称视角的模式,并不适合俯视相机或对话菜单。当你有两个或更多时,请使用此页面 ConvaiCharacter 场景中的组件,并且需要决定玩家如何与其中之一对话。
前提条件
已安装并配置 Convai Unity SDK
两个或更多
ConvaiCharacter在场景中注册的组件熟悉其中的模型 对话定位的工作原理
选择一种模式
ConvaiManager 在……下提供三种模式 Convai Manager → 玩家与谁对话 → 由以下方式决定。当场景中可供选择的角色超过一个时,该部分会出现在 Inspector 中。
LookAt 会将话题指向最接近玩家视野中心的角色。它会根据与视线方向的夹角为每个符合条件的角色打分,并以距离作为平局裁定,因此在鼠标、手柄、触摸屏和头戴式显示设备上都完全一致地工作——它读取的是相机,而不是输入设备。
使用 LookAt 适用于第一人称和 VR 场景,以及任何相机方向就是玩家视线方向的场景。
Proximity 会将话题指向最近的角色,而不管玩家正在看哪里。
使用 Proximity 适用于俯视和第三人称游戏,其中相机并不是玩家的视线——例如等距训练模拟或带自由相机的第三人称场景,在这种情况下 LookAt 会将话题指向相机碰巧对准的任何角色,而不是玩家实际上靠近的角色。
手动 只有当游戏调用时才会更改目标 ConvaiManager.TalkTo。没有任何东西会自行移动。
使用 手动 适用于对话菜单、任务步骤和过场动画,在这些场景中,决定被指向谁的是游戏本身,而不是玩家的视角或位置。参见 为对话目标编写脚本.
设置模式
选择 ConvaiManager GameObject,打开 玩家与谁对话,然后从……中选择一个值 选择方式.
ConvaiManager manager = ConvaiManager.ActiveManager;
manager.ConversationTargeting.Mode = ConversationTargetingMode.Proximity;验证模式是否生效
在已注册两个或更多角色的情况下进入播放模式。在……下 LookAt 或 Proximity,在角色之间移动玩家的视角或位置,并确认对话会随之跟随。选择 ConvaiManager 在播放模式下的 Inspector 中查看 Live 部分——其中会显示当前被指向的角色,以及上一次定位决策背后的判定结果。
Live 部分会报告你在角色之间移动时被指向的角色发生变化。如果它从未变化,请参见 排查对话定位问题.
下一步
调整对话目标选择编写对话目标脚本最后更新于
这有帮助吗?