Convai Scene Tagger:几分钟内为 AI 角色标注整个 Unreal Engine 关卡
Convai Scene Tagger: Tag an Entire Unreal Engine Level for AI Characters in Minutes
原文给出了四类审核结果的处理方法和角色选择对输出质量的影响,为准备 AI NPC 场景提供了可迁移的审核工作流。
一个包含六十三件艺术品的博物馆关卡在大约两分钟内完成了命名和描述。另有三十二件物体被标记出来,需要人工查看。第二个数字才是值得关注的。
Scene Tagger 遍历一个 Unreal Engine 关卡,找出具有意义的物体,从它自行选择的角度对每个物体拍照,并为它撰写名称和描述。整个流程在 Unreal Editor 内运行。完成后它会交给你一份审核清单然后停止,因为在应用结果之前,关卡保持原样不变。
那个停顿就是设计本身。这个工具是一个初稿生成器,它要求你具备的技能是知道一个好的标签长什么样,以便你能判断初稿。这项技能可以迁移到你将来准备的每一个AI NPC场景。
本文涵盖整个完整流程:设置、大多数人会选错的角色选择、你在审核列表中会看到的四种结果以及每种结果该如何处理、应用标签,以及使用几乎没人知道存在的调试视图来验证它们。
同时观看下方本文所遵循的完整教程:
什么是 Convai Scene Tagger?

Scene Tagger(在文档中称为 Scene Auto Tagger)是 Convai Unreal Engine 插件中的一个编辑器工具,可为关卡中的对象生成名称和描述,并将其作为场景元数据应用。
场景元数据是 Convai 角色用来识别周围环境的信息,是角色环境上下文的静态部分。将一个带有名称和描述的 Convai Object Component附加到 Actor上,关卡中的每个角色就会知道该对象的存在、它的名称以及它的用途。当玩家询问房间里有什么时,角色就会据此作答。
手动操作,通过场景元数据快速入门路径,是瓶颈所在。一个大型3D 环境或虚拟世界包含数百甚至数千个 Actor,必须有人逐一打开每一个重要的对象,输入名称,并撰写一段描述。Scene Tagger 将这一过程从创作转变为编辑。
教程中的博物馆只是一个示例,而非限制。同样的运行流程适用于工厂车间、零售空间、训练环境、数字孪生、VR 场景,或任何需要具身智能体获取其所处环境结构化信息的关卡。
开始之前你需要什么?
三样东西。一个在 Windows 上通过编辑器打开的 Unreal Engine 项目,且已 安装了 Convai 插件。一个通过 Convai 窗口登录的会话,你的账户上至少有一个角色。以及一个已打开的 关卡,其中包含你想要标记的对象。
如果尚未安装插件, 安装教程和 入门指南涵盖了安装和登录的步骤。
从编辑器工具栏中的 Scene Auto Tagger按钮打开该工具,或从 Convai 部分下的 Tools 中打开。首次使用时,它会要求你接受 AI 场景分析,因为运行时会将会捕获的图像和你书写的指导内容发送到 Convai。
为什么你选择的角色会改变结果?

这是大多数人会略过的部分,但它是对输出质量影响最大的单一因素。
Scene Tagger 不会对你的关卡运行一个通用的视觉模型。它使用你从 Convai 仪表板中选择的角色的 AI 配置、 性格和 知识库。你是在用自己的一个角色指向自己的环境,然后问它看到了什么。
所以,选择属于那个空间的角色。画廊配一位 博物馆讲解员。工厂配一位 维护教官。展厅配一位 零售接待员。
然后在运行之前为该角色喂入数据。在工具中选择 Open in Convai,进入该角色的 Knowledge Bank,上传能为你场景中物品命名的资料。展览图录、设备手册、参考文档、图片,甚至视频——In-Context Knowledge Bank 会将它们作为媒体读取,而非作为文字转录。该教程使用一个名为 Livia 的角色,在返回 Unreal 之前展示了上传路径。
效果是直接的。读过你展览图录的标签器会将艺术家和时期写入描述。没读过的则只写出一尊坐着的猫的青铜雕像。
还有一个更低调的收益。给关卡打标签的角色,就是之后能谈论该关卡的角色,教程最后会确认场景中的角色 ID 与用于打标签的角色 ID 一致。用你的向导来打标签,你的向导就已经了解这个房间,并拥有长期记忆来承载玩家关于它的提问。
描述环境并设定焦点

两个可选文本字段塑造了每次运行产生的每一条描述,每个字段的代价是一句话。
场景描述告诉工具这是一个什么样的地方。例如,一座陈列着雕塑和画作的博物馆展厅。你可以手动输入,也可以在 层级视口中框选一个具有代表性的视角,然后选择"从当前视图生成草稿",工具会根据相机所见为你撰写一份草稿。该草稿通过所选角色生成,因此你附加的任何知识库素材也会对其产生影响。请仔细阅读后再继续。
描述焦点告诉工具需要关注什么。该教程以博物馆工作为例,要求历史准确性、艺术家姓名、日期、事件及其他历史细节。文档自身的示例则要求描述每件展品的材质、形状和可见细节。
这两个字段的区别在于:一个是能帮助角色维持对话的描述,另一个只是复述网格。把这句话用到位。同样的自律在角色背景故事中同样奏效。
分析选项控制什么?
范围决定了扫描的内容。Selected Actors 会遍历你在关卡编辑器中挑选的符合条件的对象,这是小批量或首次测试时的正确选择。Current Level 则会在整个关卡中发现重要对象。
「重要」是关键所在。全关卡扫描不会标记每一面墙。它寻找的是承载细节或意义的对象,这就是为什么博物馆扫描浮现的是艺术品而非建筑结构。
Accurate 会提升对艺术品、文字和特定主题的分析质量,代价是运行时间更长。对于一个摆满有名称画作的画廊来说,多花的时间是值得的。
重新分析已有标签的对象 决定本次运行是否会重新访问已带有 Convai Object Component 的 Actor。在首次处理未标记的关卡时保持勾选。当你有手动编写的标签且不希望被覆盖时,取消勾选;关卡经过几轮处理后,这将成为常规设置。
然后按 Explore。该工具会移动一台采集相机穿过环境,从多个角度拍摄物体,寻找光照和可见度良好的视角,搜寻每个物体上能呈现最多有用细节的角度。这是计算机视觉应用于你自己的渲染结果,你可以在视口中观看它的工作过程。
在整个运行过程中,你的关卡保持不变。
审查列表中的四种结果类型

博物馆场景的运行返回了六十三个已分析的物体和三十二个需要关注的物体。整理该列表才是真正的工作,每一行都属于四种情况之一。知道你看的是哪种情况,就能告诉你该按哪个按钮。
1. 名称正确,视角不完美:接受它
教程中的奈费尔提蒂半身像是从背面拍摄的。名称和描述仍然返回了正确的结果。
不用管它。拍摄的图片只是手段,目的是让文本到达你的角色。一张从后侧方拍摄但产出了正确答案的照片已经完成了它的任务,因为到达 Convai 的是对象条目,而不是图片。重新取景只会浪费时间,毫无收益。
这种情况比看起来更常见,把它当作缺陷是让你两分钟就能跑完的流程变成一下午的最快方式。
2. 右侧视角,名称不完整:添加备注
该工具拍摄了一座大象雕塑,将其识别为大象,但没有给出它的实际名称。
选中该行,在 Refine suggestion 下方输入更正内容,然后选择 Analyze with note。教程中输入这是 Konark 大象,针对已保存的图像重新分析,名称随即更新。
这正是领域知识发挥作用的地方。视觉分析能识别出一头雕刻的大象,但除非有信息告知它,否则它无法知道这是来自 Konark的那一头——无论是你输入的一条备注,还是你事先上传到 Knowledge Bank的目录。
如果多行存在同类错误,勾选它们,然后使用 More 以批量方式运行 Analyze with notes 或 Analyze all checked,而非逐条处理。
3. 视角错误导致名称错误:重新取景并重新分析
有些拍摄恰好取了一个角度,遮住了能辨认该物体的特征,而描述也跟着图片跑偏了。
在图像下方选择"编辑视图"。拖拽以环绕,Shift+拖拽或右键拖拽以平移,滚动以缩放。这些操作控制的是 捕获相机,而非关卡中的对象,这一点比听起来更重要:在此视图中所做的任何操作都不会影响您的场景。
框选出能识别该事物的细节,然后选择"使用并分析",以新角度重新生成。
教程以这种方式修复了三尊雕像:勾选它们,然后一起运行"分析所有已勾选"。它们被识别为 Tirthankara雕像、帕克哈姆夜叉,以及 Mohenjo-daro的祭司王。这三尊雕像在第一次扫描所选的角度下都无法辨认,而从更好的角度则一目了然。
4. 不是真实对象:删除它
这有两种形式,两者都是预期行为而非故障。
第一种是具有足够形状、看起来重要但没有理由被标记的几何体。教程找到了系统认为值得一看的静态网格几何体的一个角落。它们每一个都有带资产前缀的名称,因此按该前缀搜索即可批量选中它们以便删除。
第二类是大多数需要关注的堆中最终呈现的情况:昏暗、无法辨认的截图。几何信息足以被标记为值得关注,但可见细节不足以进行描述。选中并删除。
移除一行会将其从复习列表中清除。这不会从您的关卡中删除任何内容。
这就是完整的分类体系。接受、记录、重构、移除。一旦你开始将各行归入四个类别,而非从零开始逐一评估,一百行的清单就能迅速处理完毕。
一个好的物品描述是什么样的?

在评判草稿之前,这一点值得了解,因为它为你提供了一个评判标准。场景元数据故障排除指南对此表述得很直接,同样的标准也适用于安全关键场景——在这些场景中,错误的描述比没有描述更糟糕。
"灭火器"是一个薄弱的描述。一个红色的干粉灭火器,安装在南墙与视线齐平的高度、紧邻紧急出口处,是一个有力的描述。"门"是薄弱的。一扇带有黄色警示条纹的重型钢制气密门,通往去污室,是有力的。一个紧靠着灰色补给箱的盒子,补给箱上标有红十字,里面装着医疗用品,放在入口附近的左侧架子上。
三者背后的共同规律:相对于某个标志物的位置、视觉识别特征(如颜色、大小和材质),以及在关键处的功能。以一位见多识广的向导的口吻来写,保持易于扫读,并具体到足以让人在一间房里一眼认出那个物件。
命名遵循同样的逻辑,只是方向相反。简短自然的名称优于冗长技术化的名称,文档也明确指出,"前门"比资源名称更易读。Convai 通过用于解析引用的对象条目接收该名称,因此一个干净的名称能让角色的引用正确落地。名称在每层中还必须唯一,否则子系统会重命名重复项并记录一条警告,这意味着角色可能会听到一个你从未写过的标签。
您可以在应用之前编辑任意一行中的两个字段。生成的文本只是一个起点,而非最终定论。
您如何应用这些结果?
勾选您想要的行,然后选择"包含已勾选"。选中某行以查看它并不会将其包含在内,而这正是人们容易遗漏的一步。该功能指南也因同样的原因对此进行了说明。
然后选择"应用",此时会显示已包含的建议数量,准备就绪。该工具会在每个相关 Actor 上添加或更新一个 Convai Object Component,并携带生成的名称和描述。
在继续之前先验证一个。在关卡编辑器中选择一个已标记的对象,打开"详细信息",找到由场景标记器添加的组件,该组件在组件列表中可能以自动标记名称显示。在"对象条目"下,确认"名称"和"描述"与您批准的内容一致。
然后保存你的关卡。打标签和保存是两个独立的操作,忘记保存的一次运行,就是你要重复的那次运行。
如果"应用"按钮呈灰色,则以下三种情况之一为真:分析仍在运行中、编辑视图已打开且未完成、或尚未包含任何已完成的项目。完成或取消视图编辑器,勾选至少一行已完成的项目,然后选择"包含已勾选项"。
被标记的对象如何到达角色?

值得理解,因为它解释了一个日后会让人意外的约束。
每个 Convai Object Component 在播放开始时向插件的子系统进行注册。当聊天机器人组件启动会话时,它会收集这些已注册的组件,构建一个操作配置载荷,并将其作为连接握手的一部分发送出去。在会话已处于活动状态下添加的对象则通过单独的场元数据更新来传输。
约束条件:会话开始时存在的对象处于一个冻结的快照中。对其中某个对象的描述修改无法在会话中途到达角色。只有对该会话而言是新增的对象才会通过实时通道传输。要推送已编辑的描述,需停止会话并重新启动。
这在完成一次标签运行后立即生效。应用标签、保存,然后重新开始播放,而不是指望正在运行的会话能察觉到变化。运行时环境 API 涵盖了会话中途可能出现的对象。场景元数据是该插件提供的三个上下文通道之一,另外还有用于实时状态的跟踪属性和用于角色当前关注对象的注意力。标签是另外两个通道所依赖的静态层。
在对话中测试已标记的关卡
教程按下播放键,询问角色关于一座雕塑的问题。回复将其称为巴斯特女神的青铜雕像,以猫形端坐,在古埃及被尊为家庭守护者和生育的象征。
那个答案来自几分钟前由此刻说出这句话的同一角色写下的标签——引导式体验正是由这种交互构建而成的。
对话是很好的抽查手段,却是很差的审计方式。走到六十三件作品前逐一询问,比当初给它们打标签要慢得多。这正是下一节存在的原因。
如何一次性验证所有标签?
在编辑器中播放或开发构建期间,按 Ctrl、Alt 和 K。Convai 调试覆盖层将打开,这是检查标签运行结果的最快方式。
如果该组合键没有反应,请先点击视口,因为获得焦点的文本框会吞掉该按键。一条控制台命令可以切换同一个叠加层,该按键可在 项目设置、插件、Convai 下进行配置。该叠加层参考列出了每个面板和符号。
你得到的是一种实时视图,展示你的角色所知道的内容。该叠加层在世界空间中用菱形标记每个已注册的角色和每个已注册的对象,并用空心菱形标记已启用的命名移动点。Page Up 和 Page Down 键循环切换选择,按住 Shift 键的同时翻页可在循环角色和循环对象之间切换。
对于标签审计而言,真正重要的面板是 Surroundings。它列出了所选角色感知到的对象,并附上角色收到的关于每个对象的原始句子,逐字呈现而非概括。将这些行与你的等级对照,错误的标签便会自行暴露。
标题行告诉你当前选中的是谁、他们是在说话还是空闲,以及他们在看什么。Context States and Facts 显示来自动态上下文中还有哪些内容正在影响行为,每个状态行都带有一个脉冲圆点:红色代表始终响应,琥珀色代表自动,灰色代表从不。
教程在打开叠加层的情况下带领参观博物馆,依次读出《神奈川冲浪里》、拿破仑加冕、《戴珍珠耳环的少女》、《夜巡》、《苏格拉底之死》以及《华盛顿横渡特拉华河》。几分钟即可审核一个花了几分钟完成标注的场景。
每个物体旁边的空间列表的含义
叠加层右侧的列显示每个物体与角色和玩家之间的关系,这来自空间感知而非你的标签。
距离分为三个区间。1000 厘米以内判定为近处,4000 厘米以内判定为有一定距离,超出该范围判定为远处。第四种状态覆盖以上所有状态:当不存在可行走路径时,该事实判定为无可行走路径,无论直线距离上物体有多近。
方向在观察角色自身的坐标系中计算,即前方、后方、左侧、右侧、上方、下方,以及对角线方向的组合。位于观察者位置上的物体判定为就在你身旁,而非某个方向。对于其他角色和玩家,还会报告朝向,即面向或背向;当处于侧面时则省略而非猜测。
两个选项会改变该文本的结构。 关系描述附近物体彼此之间的相对位置,而非相对于角色的位置,仅在 600 厘米以内的主体之间触发,因此房间另一侧的道具不会被描述为存在关联。玩家视角会添加第二个子句,从玩家自身的摄像机画面定位每个主体,使引导系统无需进行旋转计算即可给出方向指引,代价是空间文本量接近翻倍。
视线默认关闭。开启后,墙后的主体将被报告为不在视野内,而非凭记忆描述,每次轮询中每个角色和每个主体各执行一次射线检测。
这些都不是场景标签器所写入的内容。它是由上下文子系统在运行时根据位置计算得出的。你的标签提供名称;空间感知提供位置。
常见问题及解决方法
一个对象位于"需要关注"下,没有可靠的建议。该捕获未携带足够的信息。检查图像,尝试"编辑视图"和"使用"并进行分析,或者将该对象排除在外。
应用已禁用。分析正在运行、编辑视图已打开,或未包含任何已完成项。
标签已应用,但角色无法识别这些对象。请检查对象条目名称是否为空,因为空名称会被拒绝并记录日志。请检查聊天机器人组件上是否已启用操作。如果该对象在上次会话开始时存在且描述不同,请重启会话。
角色使用了你从未写过的名称来指代某个对象。两个组件共用了同一个名称,子系统已将重复项重命名。在输出日志中筛选重复名称警告,并为每个对象分配一个唯一的名称。
在叠加层中,距离或可达性显示不正确。这属于空间感知问题,而非场景元数据问题。通常原因是导航网格未覆盖该区域,因此请添加边界体积并重建路径。排查空间感知问题涵盖了其余内容。
对于超出上述范围的问题,Convai 开发者论坛是配置相关问题的去处,此外还有指南与教程分类、本教程的讨论帖,以及一篇较早的关于让角色理解房间中物体的帖子。
标记关卡的后续去向
标记是准备,而非终点。一个拥有已命名、已描述对象的关卡,是大多数让角色在其中产生存在感的前提条件。
角色可以回答关于其周围环境的问题,这正是教程中标记为即将发布的视频所涉及的导游场景。它可以被派往一个命名对象,因为移动会针对已注册的条目解析目标位置。它可以执行动作,其 Actor Reference 参数会针对同一列表进行解析,这就是自定义拾取动作如何识别一个板条箱的方式。当玩家注视一个带标签的对象时,它可以对注视做出响应,并且还可以额外向其传递实时状态。
那些系统中的每一个都读取 Scene Tagger 刚刚填写的同一个注册表。这正是值得在描述焦点字段上多花一句话的真正理由:你写的不是字幕,而是你的角色在那个房间里做一切事情时所使用的词汇——从叙事节拍到AI 队友执行动作。
另外观看:Convai YouTube 频道,获取 Unreal Engine、Unity 和 XR 教程系列的其余内容。
入门指南
从 Fab 安装 Convai Unreal Engine 插件,通过 Convai 窗口登录,并 创建一个适合你所标记空间的角色。在运行前,用参考材料加载该角色的知识库,打开 Scene Auto Tagger,或让 Convai MCP Unreal 工作流先完成场景设置,然后先用 Selected Actors 对少量对象进行操作,在提交整个关卡之前查看审核列表。
Scene Auto Tagger 指南涵盖了每个控件的说明, 场景元数据快速入门则介绍了你更希望自行编写的那些对象的手动编写路径。
常见问题
Unreal Engine 中的 Convai Scene Tagger 是什么?
Scene Tagger(在文档中称为 Scene Auto Tagger)是 Convai Unreal Engine 插件中的一个编辑器工具,用于分析关卡、识别重要对象、捕获每个对象的视图,并生成名称和描述。您审阅建议并应用后,该工具会将携带该名称和描述的 Convai Object Component 添加到每个 Actor 上。
Scene Tagger 在运行过程中会修改我的关卡吗?
不会。在分析和审阅过程中,关卡保持不变。只有当您勾选行、选择 Include checked,然后选择 Apply 时,对象才会被修改。应用和保存是两个独立的操作,因此之后请保存关卡以保留更改。
为什么我选择用于标记的角色很重要?
Scene Tagger 使用所选角色的 AI 配置和知识库来识别物体并撰写描述。加载了与场景相关材料的角色(例如画廊的展品目录),会生成带有领域知识的名称和描述,而通用处理往往会遗漏这些内容。
如何修正 Scene Tagger 命名错误的物体?
如果拍摄角度没问题,只是名称不完整,请在"优化建议"下输入修正内容,然后选择"带注释分析"。如果角度本身有问题,请选择"编辑视图",环绕、平移和缩放拍摄相机,然后选择"使用并分析"以从新视图重新生成。
Scene Tagger 审核列表中的"需要关注"是什么意思?
这意味着分析未能从捕获的图像中产生可靠的结果。常见原因是捕获图像过暗或无法读取,但具有足够的几何形状使其看起来有意义,而可见细节又太少无法描述。请检查图像,尝试另一个视角,或将该物体排除在外。
如何移除我不希望被标记的物体?
勾选行并选择“更多”,然后从本次审核中“移除已勾选”。这会将条目从审核列表中清除,而不会从您的关卡中删除任何内容。按资产名称前缀搜索是快速选择一组不需要的捕获的方法。
如何在不与角色逐一讨论每个物体的情况下检查所有标签?
在编辑器中播放时,按 Ctrl、Alt 和 K 键可打开 Convai 调试覆盖层。其"周围环境"面板会列出所选角色感知到的对象,并附上角色收到的关于每个对象的原文句子。使用 Page Up 和 Page Down 键可循环切换选择,按住 Shift 键的同时翻页可在角色和对象之间切换。
为什么我的角色无法识别我标记的对象?
检查对象条目名称不为空,因为子系统会拒绝未命名对象并记录一条警告。检查聊天机器人组件上是否已启用操作。如果该对象在上次会话启动时已存在,则重启会话,因为连接时快照中的对象无法在会话中途更改其描述。
什么样的物体描述对 Convai 角色来说是好的?
应包含物体相对于某个地标的位置、颜色、大小和材质等视觉识别特征,以及在相关情况下其功能。一个安装在紧急出口旁南墙上、与视线齐平位置的红色干粉灭火器是有用的。而仅仅写"一个灭火器"则不是。
来源:Convai 智能 NPC 与动态剧情 · convai.com