常见问题(FAQ)
无法启动对话?
确认在
StartDialogue之前已调用LoadDialogueDataAsset检查数据资产中是否存在
SequenceName确保
StartNodeID有效且匹配现有节点 ID确认组件已添加到 Actor
OnDialogueNodeExecuted 未调用?
OnDialogueNodeExecuted 未调用?首节点必须是文本类型;选择/事件/延时节点不会触发此事件
对于其他节点类型,同时绑定
OnDialogueChoiceNodeExecuted和OnDialogueEventTriggered检查
DisplayDelay设置(0 = 立即,>0 = 延时)事件绑定必须在调用
StartDialogue之前完成验证
StartNodeID完全匹配节点的NodeID(复制粘贴,不要生成)确保节点
Conditions为空或所有条件评估为 true组件和 Actor 必须可 Tick(未暂停/禁用)
验证事件签名匹配委托:
Node(FDialogueNode)、SpeakerInfo(FSpeakerInfo)、NodeID(FGuid)
条件不生效?
变量名区分大小写
值类型必须匹配
ValueType设置比较值必须是字符串表示(例如:布尔值:
"true"或"false")数组中的所有条件必须通过(AND 逻辑)
自动推进不工作?
检查文本节点上的
AutoAdvanceDelay > 0如果
AutoAdvanceDelay = 0,需要手动AdvanceDialogue()验证组件正在 Tick
手动推进无效?
AdvanceDialogue()仅在以下情况下工作:当前节点是文本类型
AutoAdvanceDelay = 0节点执行回调已完成
其他节点类型自动继续
选择超时未触发?
验证选择节点上的
SelectionTimeout > 0确保设置了
TimeoutNodeID且指向有效节点检查组件是否正在 Tick
💬 支持
如有问题,可来Dicord社区找我!
Last updated