For the complete documentation index, see llms.txt. This page is also available as Markdown.

对话流程参考

Conversation Flow 控制器公共 API 的完整参考、其返回的对话状态读取,以及配置文件资源上的每个时序字段。

公共对话流表面的参考: ConvaiConversationFlowController,则 DialogueStateReading 它返回的结构,以及其中的每个字段 ConvaiConversationFlowProfile。关于每个 DialogueState 值的含义,请参见 对话状态。跨模块契约 IConversationFlowSource 是内部实现,不属于此表面的一部分——请改为读取控制器自身的成员。


ConvaiConversationFlowController

ConvaiConversationFlowController (密封类:ConvaiCharacterModule<ConvaiConversationFlowProfile>, [AddComponentMenu("Convai/具身化/对话流")], [DisallowMultipleComponent])是角色唯一的作者编写来源 DialogueState。当其他模块需要一个时,Convai 会自动添加它——请参见 对话流程.

属性

成员
类型
描述

当前

DialogueStateReading

角色当前的对话状态读取。返回 DialogueStateReading.Idle 在控制器首次 tick 之前。

事件

事件
签名
在以下情况时触发

Changed

事件 Action<DialogueStateReading>

该读取的 状态发生变化时触发。仅在混合进度变化时不会触发。


DialogueStateReading

DialogueStateReading (readonly struct, SDK/Domain/Embodiment/Readings/DialogueStateReading.cs)是由……公开的不可变快照 当前 并传递给 Changed。读取始终描述两个状态之间的混合,而不是硬切换,因此消费者可以交叉淡入淡出其输出,而不是突然跳变。

字段
类型
描述

DialogueState

当前的权威状态。

BlendTo

DialogueState

正在向其混合的状态。等同于 在没有过渡进行时。

BlendWeight

float

从……开始的线性混合权重 BlendTo,夹紧到 [0, 1]. 0 表示完全处于 ; 1 表示过渡已完成。

TimeInState

float

角色处于……中的秒数 ,夹紧到 0 或以上。

EnergyLevel

float

归一化能量,范围为 [0, 1] 供手势调度器和微行为强度使用——在……期间更高 说话反应,在……期间更低 空闲.

IsTransitioning

bool

true 时自动连接, BlendTo 不同且 BlendWeight 大于 0.

DialogueStateReading.Idle 是一个静态属性,返回角色在……中的稳态读取 空闲BlendTo 两者都 空闲, BlendWeight 0, TimeInState 0, EnergyLevel 0.


ConvaiConversationFlowProfile

ConvaiConversationFlowProfile (密封类:ScriptableObject, [CreateAssetMenu(menuName = "Convai/具身化/对话流配置文件")], SDK/Modules/ConversationFlow/Profiles/ConvaiConversationFlowProfile.cs)用于编写状态机的时序参数。将其分配给控制器的 流配置文件 字段;如果未分配,控制器将使用以下值作为内置默认值运行。

过渡

字段
范围
默认值
描述

过渡持续时间

02

0.25

两个状态之间线性交叉淡入淡出的持续时间(秒)——读取回来的值为 BlendWeight 进度。

对话节拍

字段
范围
默认值
描述

思考最短保持时间

03

0.25

角色在……中停留的最短时长 思考 在玩家确认一个回合之后。

思考最长保持时间

0.510

2.5

角色在……中停留的最长时长 思考 在回退到……之前 关注中.

注意宽限期

02

0.3

玩家停止说话但未确认回合后的宽限期,然后角色会从……继续前进 关注中.

稳定持续时间

03

0.6

回合后的稳定节拍持续时间,在角色返回到……之前 空闲.

空闲返回延迟

0120

60

无活动的秒数,在角色从……冷却下来之前 关注中 切换回 空闲.

中断冻结持续时间

02

0.25

角色被冻结在……中的持续时间 Interrupted 在被中断之后。

如果 思考最短保持时间 设置高于 思考最长保持时间 在检视器中,该资源会将 思考最长保持时间 以匹配 思考最短保持时间 自动提升,因此检视器中显示的两个值始终与角色在运行时的行为一致。

能量

字段
范围
默认值
描述

说话基础能量

0.11

0.6

在……期间发出的基础能量水平 说话,由 EnergyLevel 读取并用于缩放肢体语言强度。


下一步

配置对话流程对话流程故障排查具身化脚本参考

最后更新于

这有帮助吗?