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

视觉使用示例

应用 Unreal 视觉的常见 Blueprint 模式,包括自动开始采集、手动控制、FPS 调整和来源切换。

这些示例展示了适用于以下内容的实用 Blueprint 模式: Environment Webcam。请先完成 视觉快速入门 如果你尚未为角色添加 Vision,请先完成。

每个示例都包含一个场景、要应用的设置、预期的运行时行为,以及如何验证。

在 BeginPlay 时自动开始 Vision

场景: 位于固定工作站的训练 NPC 应在关卡加载后立即开始场景采集。

设置: 选择 Environment Webcam 在角色 Blueprint 中。在 Details 面板下的 Convai | Vision,启用 bAutoStartVision。分配 Convai Render Target ,然后再进入播放模式。

预期行为:BeginPlay期间,组件会调用 Start。当 Convai Render Target 已分配, 获取状态 返回 正在采集 ,并且聊天机器人可以在活动会话期间发送帧。

验证: 调用 支持 Vision 在聊天机器人上,并且 获取状态 on Environment Webcam。两者都应在 正在采集 状态。

手动开始和停止

场景: 一个医疗培训模拟应仅在操作阶段使用 Vision。

设置:

  1. 在你的操作开始事件中,获取对以下对象的引用: Environment Webcam 并调用 Start.

  2. 在你的操作结束事件中,调用 Stop 于同一组件上。

  3. 在调用 Start之前,检查 获取状态 ,以避免如果该事件可能触发多次时出现重复启动。

预期行为: 该组件仅在活动操作阶段采集帧。 获取状态 返回 正在采集Start 是位于 已停止Stop.

验证: 只有在操作处于活动状态时,才询问角色关于可见物体的问题。在该阶段之外,回复不应引用场景内容。

限制采集 FPS 以减少带宽

场景: 一个企业入职培训模拟运行在受限网络上。降低采集速率是可以接受的。

设置:Details 面板中,设置 最大 FPS (m_MaxFPS)设为 5。或者,调用 Set Max FPS 的值 5 从 Blueprint 初始化函数中。

预期行为: 聊天机器人读取 GetMaxFPS() 并将帧上传节流到大约每 0.2 秒一帧。

验证: 比较更改前后的响应延迟。 输出日志 应继续显示 SendImage: 正在发送原始图像 ,并保持降低后的节奏。

检查是否已注册 Vision 组件

场景: UI 指示器应显示聊天机器人是否具有有效的帧源。

设置: 在事件图或小部件 Tick 函数中,调用 支持 Vision on UConvaiChatbotComponent。使用布尔返回值来驱动指示器。

预期行为: 支持 Vision 返回 true 当实现 UConvaiVisionInterface 的组件已在聊天机器人上注册或可被发现时 Actor.

验证: 还要调用 获取状态 on Environment Webcam。仅注册并不足以上传;源必须处于 正在采集 状态。

在采集开始后触发逻辑

场景: 角色应仅在 Environment Webcam 进入 正在采集.

设置: Bind 帧就绪时 on Environment Webcam 到一个自定义事件。使用布尔标志,使逻辑只运行一次。

预期行为: 设置逻辑会在组件正在采集时,第一次触发 帧就绪时 的 Tick 上运行一次。

验证: 请确认 获取状态 返回 正在采集 在自定义逻辑运行之前。

在运行时切换 Vision 组件

场景: 同一关卡中的两个角色各自拥有自己的 Environment Webcam。当控制切换到另一个角色时,当前聊天机器人应使用该角色的帧源。

设置: 在切换事件中:

  1. 获取目标聊天机器人的 UConvaiChatbotComponent 引用。

  2. 获取所需的 Environment Webcam 组件引用,位于该角色上。

  3. 调用 设置 Vision 组件 到聊天机器人上,并传入摄像头组件。

预期行为: 设置 Vision 组件 返回 true 并替换之前注册的源。聊天机器人会在下一次上传 Tick 中转发来自新组件的帧。

验证: 调用 支持 Vision 在目标聊天机器人上调用 获取状态 ,并在新摄像头上调用

下一步

视觉 Blueprint 参考排查视觉问题视觉帧来源

最后更新于

这有帮助吗?