跳转到正文

交互系统

作

作者

作者

创建时间: 2025年4月14日更新时间: 2026年10月19日

目录

概述

GenericGameSystem 的交互模块围绕 Smart Object 提供候选对象、交互选项与权威状态管理。它可以用于拾取、门、座椅或多入口交互等玩法,但项目仍需实现对象搜索、界面呈现和具体交互行为。

搜索与候选对象

服务器拥有候选对象列表并负责刷新交互状态。SearchInteractableActors() 只广播搜索触发,不执行 Trace、Overlap 或 Targeting 查询。项目可监听该事件实现自己的搜索策略,再调用 SetInteractableActors() 将候选对象交给组件。

组件据此更新当前对象和可用选项。交互定义、Smart Object 槽位与项目筛选规则共同决定最终可用的入口。

多人权威与执行

StartInteraction()、EndInteraction() 和 InstantInteraction() 是服务器权威操作。候选对象数组保留在服务器;拥有者客户端接收数量、当前对象、选项和活动索引等展示状态。当前源码没有承诺由该组件提供客户端预测;若项目的 Ability 流程使用预测,应由项目结合自身 Ability 网络策略验证。

对于 Smart Object Gameplay Behavior,可在 Ability 流程中使用 UGGS_AbilityTask_UseSmartObjectWithGameplayBehavior 启动行为。项目负责定义 Smart Object、槽位、占用条件、行为资产以及搜索和 UI 表现。

配套项目中的交互示例

当前 GenericGame 项目的 InteractionCore 目录包含 GA_GGS_Interaction、TP_QueryPotentialSmartObjects 和 `WB_GGS_InteractionBox),分别可作为交互 Ability、Smart Object 查询 Targeting Preset 和交互提示 Widget 的检查入口。它们展示了项目如何把插件组件接入具体玩法,但 Trace/Overlap 搜索、对象配置与最终表现仍归项目管理。这些资产位于配套项目而非插件 Content;完整路径见配套项目内容与示例资产。

接入与场景

可用服务器端 Trace、Overlap、Targeting 或项目规则搜索对象;搜索结果通过组件提供的权威接口更新。椅子多槽位、交互式门、可选救援动作或即时拾取都可以建立在这一组合上,实际并发和规则取决于 Smart Object 配置与项目行为。

详见 如何集成,并参阅 通用玩法工具 中的交互 Targeting 过滤任务。