安装任务系统
概述
Breakroom 的任务系统利用 Unity 的强大功能,在您的虚拟空间中构建叙事结构。任务通常由与 NPC 的互动驱动,可以引导用户进行以游戏为核心的社交、学习或培训模块。您还可以使用它们来引导参观、讲述故事或创建其他基于步骤的互动点。

图示:任务运行中。
在我们的高级文档中,您可能会看到用于描述同一概念或工具的不同词汇。这是因为 Breakroom 基于 Sinespace 虚拟世界平台。请注意以下几点:
- 当您 安装 Breakroom SDK 时,您可能会注意到某些工具和菜单引用了 Sinespace、Sinespace 组件 或 Sinespace SDK。这是正常的,不会影响性能。
- 在测试和上传虚拟物品时,您可能会看到将 Breakroom Worlds 称为 grids(网格) 的文档、菜单和按钮。
本节提供的说明假定您具备 Breakroom、虚拟资产和第三方 3D 软件的高级操作知识。如果您需要帮助 安装 和 定位 虚拟对象,或编辑 RoomFurniture 组件,请参阅我们的文档。
只有 世界所有者、世界管理员和世界开发者 才能向 Breakroom 上传自定义物品。
了解任务系统
任务由位于 任务发布者(Quest Giver) 上方的蓝色感叹号表示,任务发布者可以是任何类型的带有碰撞体组件的可点击游戏对象。点击任务发布者对象会调出第一个 任务对话框(此步骤在 Unity 中编号为 0),以及“开始”和“取消”选项。
任务对话框显示当前步骤的名称和描述。一旦用户接受任务,他们的后续步骤将由蓝色问号指示。
在小地图下方,将显示 任务名称(任务设计器组件),以及任务中包含的步骤数和对用户的提示。提示与用户需要采取的下一步骤(通常是紧接着的下一步)相关。因此,提示需要输入到用户需要到达的下一步骤中。
因此,除非任务将用户带回到任务发布者处,否则无需在第 0 步(起始步骤)中编写提示。
设置任务
任务发布者
所有任务都是通过点击特定对象开始的——即所谓的 任务发布者 或 任务 NPC。在查看任务信息后,用户可以选择继续或取消任务。
要将场景中的任何对象转换为任务 NPC,请向其添加 任务 NPC 组件。如果您愿意,可以使用人形 NPC,但您可以将任务 NPC 组件添加到任何带有碰撞体的对象上。使用 雕像组件对象 将 NPC 渲染为角色,然后添加 任务 NPC 组件。

图示:任务 NPC 组件。
任务 NPC 被放置到任务中任何步骤检查器的 目标 NPC 字段 中。
任务设计器

图示:任务设计器组件。
在场景中创建一个空的游戏对象,将其位置设置为 0,0,0,然后向其添加 任务设计器 组件。给任务命名并添加描述,然后自定义以下字段以满足您的规范。
任务类型描述
- 每日:用户每天可以玩一次任务
- 主线:用户只能玩一次任务
- 支线:此任务只能由另一个任务触发
- 活动:用户可以不断重玩任务
- 临时:(此功能目前不支持)
任务 ID
在检查器中点击 保留 ID 按钮 为您的任务分配一个唯一的 ID。任务 ID 会自动生成。
不要 删除任务 ID 检查器字段。如果您不记得任务 ID 号,您将需要保留一个新的。如果特定任务用于依赖列表中,在更改任务 ID 后,您需要编辑所有依赖于它的任务。
任务依赖 ID
您可以使用 任务依赖 ID 将任务链接在一起。要开始,点击字段左侧的 箭头 以展开此部分。将 大小字段 设置为此任务可用之前需要完成的任务数量。点击 Enter,将出现该数量的字段。在每个空字段中,添加用户在此 特定 任务开始之前必须完成的任务之一的单独任务 ID。
此选项允许您通过同一个任务 NPC 启动一系列任务。
奖励 ID
您可以使用 奖励 ID 字段 为成功完成任务设置奖励。只需输入您上传的任何虚拟商品物品的策展人 ID。您可以从附加到奖励对象(一旦上传)的虚拟商品组件中获取此 ID,或从 Curator 中的物品面板获取。
请注意,奖励对象必须在 上线 后才能由在线任务分发。
打开画布按钮
打开画布按钮 打开任务设计器画布,允许您通过添加步骤来构建任务。要开始,添加第一个步骤,并引用 任务 NPC 对象(通过将对象放入任务 NPC 字段)。
添加和管理任务步骤
在设置好任务发布者对象并自定义基本任务功能后,您可以逐个添加任务步骤以充实您的故事。每次添加步骤时,它将复制您的最后一步。
添加步骤

图示:任务设计器画布下可用的选项。
通过点击 打开画布按钮 打开任务设计器画布。然后点击 添加步骤按钮。
删除步骤
您可以删除链中的任何步骤;其子步骤将重新连接到父步骤。您不能删除第一个步骤。
重新排序步骤
点击步骤检查器窗口左上角的 箭头 以重新排序您的步骤。您不能重新排序第一个步骤。如果您的任务中只有两个步骤,您将看不到第二个步骤的箭头。
步骤类型解释
NPC 步骤
NPC 步骤类型对于启动任务是强制性的。第 0 步将始终是 NPC 步骤,您无法编辑它以使其成为其他类型。
其他步骤也可以是 NPC 步骤。您可以使用游戏对象(或任何对象)并向其附加 任务 NPC 组件,将其放置在 目标 NPC 字段 中。
活动步骤

图示:配备可启动项的活动步骤。
活动步骤是通用步骤,您可以使用它们部署用户必须在下一步启动之前完成的各种活动。以下是各个字段的细分。
活动
您可以将任何 可启动组件 拖入此步骤的 活动字段 中。
任务系统包括一系列您可能想使用的标准 可启动项——例如,您可能要求用户穿戴特定的服装物品或坐在特定的家具物品上。您还可以编写自己的可启动项,它们可以是完整的游戏回合或学习模块。正确设置后,用户需要在继续任务之前完成每个可启动项。
自动播放
如果您希望此步骤在前一步骤完成后立即开始,请选中“自动播放”选项。如果您未选中自动播放选项,用户将需要点击任务 NPC 以提示下一步。
如果前一步骤是在步骤开始时注册为完成的步骤,并且用户仍将参与未记录的活动,您可能需要取消选中自动播放。例如,如果前一步骤是使用 StartableGestureRequirement 的活动步骤,任务系统将在用户启动手势时注册用户已完成该步骤——但该手势可能需要三十秒才能播放,在此期间您可能不希望下一步启动。
重播讨论 NPC
重播讨论 NPC 是场景中用户需要点击的对象,如果他们未能完成任务步骤。这可能是因为任务步骤是可以失败的游戏组件,例如具有及格分数的学习组件。或者可能是因为他们在可启动项部署中途注销或断开连接。
重播 NPC 可以是您最初的任务 NPC——但如果它在地理上与相关任务步骤相距甚远,您可以选择在任务步骤活动附近放置另一个对象,用户可以点击它以重新启动步骤。
这可以是任何添加了 任务 NPC 组件 的对象,拖入步骤中的 重播讨论 NPC 字段。
区域提示
如果您使用 NavMesh 引导用户完成任务,区域提示将告诉他们去哪里。这可能与重播讨论 NPC 是同一个对象,但也可以是任何您拖入字段的游戏对象。
任务步骤

图示:任务步骤。
任务步骤允许您将一个任务嵌入到另一个任务中。这是将用户从一个区域移动到另一个区域的好方法。(您还可以使用 任务游戏对象组件 在用户面前在适当的时候生成传送门,引导他们进入下一个区域。)
子任务 ID
这是您粘贴子任务 ID 的字段。
访问位置步骤

图示:访问位置步骤。
访问位置步骤要求用户前往您区域中的特定位置以继续任务。
要访问的区域
将任何游戏对象,包括任何 NPC,拖入此字段,以要求用户在任务继续之前访问此位置。此步骤可以与 NavMesh 结合使用,通过可见路径引导用户到达目标。
接近度(米)
这会在目标对象周围创建一个“接近度光环”,在其中将注册用户的位置。例如,您可能希望指定用户必须在一米范围内旅行。
收集步骤

图示:收集步骤。
收集步骤要求用户点击并“收集”场景中的特定游戏对象。
可收集物品
向您希望用户点击并收集的对象添加 任务 NPC 组件。将对象拖入任务步骤中的 可收集物品字段。确保它具有碰撞体,以便用户可以点击它。
区域提示
如果您希望 NavMesh 引导用户到达可收集物品,您可以将其拖入 区域提示字段。如果您希望用户在没有提示的情况下搜索,请将其留空或添加您最初的任务 NPC 以在用户在此步骤期间离开区域时引导他们回到任务区域。
计数器步骤

图示:计数器步骤。
计数器步骤要求用户收集定义数量的计数器。将此步骤与场景中附加了 任务计数器可点击 或 任务计数器接近度组件 的对象结合使用。
您可能还想使用 可启动计时计数器,当添加到活动步骤时,它提供与此步骤类似的功能,但是基于时间的。
所需数量
此字段指定用户需要收集的计数器数量。这可以与场景中可用的总数相匹配,或者根据游戏的性质,场景中的数量可能远多于所需数量。
快速 ID 选择器/令牌 ID
将您手动应用于附加到计数器的 任务计数器可点击 或 任务计数器接近度组件 的 计数器 ID 字段 的任何 ID 添加到此字段。
区域提示
将此字段与 NavMesh 功能结合使用以引导人们到达某个区域,或将您的任务 NPC 拖入此处,以在用户完成前重新登录时引导他们回到步骤的开头。
对话步骤

图示:对话步骤。
对话步骤允许您在任务中构建过场动画,将对话、摄像机、音频和动画的连续组合分配给 NPC 和玩家。
要编辑对话步骤,请打开任务设计器画布(使用检查器窗口任务链底部的 打开画布按钮)。然后查找并编辑以下字段。
对话演员

对话演员可以是一个或多个 NPC 以及玩家本人。添加一个演员,并将任何附加了 任务 NPC 组件 的对象拖入 NPC 对象字段。
演员名称
此名称将出现在对话期间的对话面板中。
是玩家
选中此框以使用玩家作为您的演员。在 演员名称字段 中输入 %PLAYER% 以在对话中使用玩家自己的用户名。
移动到位置
在此字段中添加场景中的空游戏对象,以在对话期间将玩家移动到该对象的位置。这允许您将玩家与您在对话期间定义的特定摄像机镜头对齐。
对话对话

一旦定义了对话中的演员,您就可以根据需要向对话添加任意数量的步骤。
演员
选择叙述对话步骤的演员。
文本
输入应在对话面板中显示的文本。
动画
向 NPC 或玩家添加动画。
等待继续?
如果您希望对话步骤保留在屏幕上,直到用户点击 继续,请选中此框。
等待超时
如果您希望一组对话结束并自动开始下一组,而无需用户点击 继续,请定义以秒为单位的时间。
摄像机角度
在场景中创建一个空的游戏对象并定位它,以便它看向您希望用户在对话期间摄像机看向的地方。
您可以在 Unity 中的场景中定位您的视图,然后突出显示游戏对象。在顶部菜单中,转到 GameObject > Align with view 以将游戏对象的位置和旋转移动到您的视图。
对话音频
您可以通过将音频文件从项目拖入此字段来向对话添加音频剪辑。
使用唇形同步
如果您希望演员的嘴巴由您的音频文件动画化,请选中此框。
过场动画对话画布
要使用对话步骤,您需要将 过场动画对话画布预制件 拖入您的场景。此屏幕空间画布在过场动画期间显示对话,并包含如果您决定在对话中包含该功能用户可以访问的 继续按钮。
确保画布的子对象 Panel 被禁用(检查器顶部的复选框)。 这确保面板仅在任务的对话步骤期间对用户可见。如果保持开启,它将永久应用于区域中每个人的屏幕。
避免将过场动画对话画布放入父对象中——或者,如果这样做,请确保父对象位于场景中的 0,0,0。否则,画布将对玩家偏移或不可见。
分支 NPC 步骤

图示:分支 NPC 步骤。
分支 NPC 步骤允许您设置几个选项供玩家选择。这可以根据用户的选择导致不同的任务步骤。
可启动项
可启动项是可以拖入任务 活动步骤 的组件。您必须将可启动组件附加到相关游戏对象;在某些情况下,这可能是一个仅用于容纳可启动项的空游戏对象。然后您可以将该对象拖入活动步骤的 活动字段。
可启动手势要求

图示:可启动手势要求字段。
此可启动项将要求用户播放特定手势以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
物品 ID
此字段包含您希望用户播放的特定手势的物品 ID 号。您可以在手势提交后从附加到手势的 VirtualGood 组件中获取此 ID 号,或从 Curator 中的物品列表中获取。
任意
如果您愿意接受任何手势以完成任务步骤(而不是特定的手势),您可以选中此框。
最少参与者
此选项定义完成步骤所需的最少手势参与者数量。例如,您可以将此选项设置为“2”并勾选 任意,以要求用户与另一个用户进行任何两人手势。
可启动服装要求

图示:可启动服装要求字段。
此可启动项将要求用户穿戴特定服装物品以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
服装物品 ID1/ID2
这些字段允许您指定两件可以穿戴以满足要求的服装物品。例如,您可以指定一件男装和一件女装。您可以在服装物品提交后从附加到服装物品的 VirtualGood 组件中获取此 ID 号,或从 Curator 中的物品列表中获取。
可启动坐姿要求

图示:可启动坐姿要求字段。
此可启动项将要求用户坐在特定家具物品上以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
目标对象
向场景中的任何游戏对象添加 SeatImproved 组件,然后将该游戏对象拖入 目标对象字段。请记住,此物品也可以动画化——因此,例如,您可以使用此步骤将某人从您区域的一部分飞到另一部分。
用户坐下后,任务步骤将完成。如果坐下启动了您希望在下一个任务步骤启动之前播放的序列,您可能希望使下一步不自动启动。相反,您可能要求用户点击另一个 任务 NPC 对象 以继续。
可启动物品要求

图示:可启动物品要求字段。
此可启动项将要求用户在库存中拥有特定物品以继续任务。他们不需要使用物品,只需拥有它即可。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
物品 ID
这是您希望用户拥有以继续的物品。您可以在物品提交后从附加到物品的 VirtualGood 组件中获取此 ID 号,或从 Curator 中的物品列表中获取。
可启动房间访问

图示:可启动房间访问字段。
此可启动项将要求用户访问特定区域以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
背景 ID
在此字段中输入区域 ID 以指定用户需要去的地方。如果您拥有该区域,您可以在 仪表板 或 Curator 中找到此 ID 号。
可启动快照

图示:可启动快照字段。
此可启动项将要求用户使用世界内的 快照功能 拍摄快照以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
快照数量
在此您可以指定用户需要拍摄的快照数量以完成步骤。
可启动传送

图示:可启动传送字段。
此可启动项将用户传送到同一区域中的特定位置以继续任务。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
目标
将场景中的任何游戏对象拖入目标字段,以将用户传送到世界中该对象的位置。为了确保用户不会到达树顶或类似位置,通常最好创建一个空游戏对象,正好位于您希望他们到达的位置。
延迟
此选项允许您在传送发生之前添加时间延迟。建议添加少量延迟(约 1 秒),以确保前一步骤的所有动作有时间完成。较长的延迟可能与前一步骤中播放的特定手势结合使用。
可启动计时计数器

图示:可启动计时计数器字段。
可启动计时计数器是一个您可以添加到任务中的游戏组件,要求用户在指定时间框架内收集一定数量的计数器。将此可启动项与场景中附加了 任务计数器可点击 或 任务计数器接近度 组件的对象结合使用。各个字段详细说明如下。
是否独占
此选项在所有可启动组件上可用。选中此框将使用户 如果另一个活动正在进行中 无法启动指定活动。例如,如果一个任务正在等待用户按下按钮,那么他们将无法同时启动此任务——他们需要首先完成按按钮的任务。
所需数量
在此您可以指定用户需要收集的计数器数量。这可以与场景中可用的总数相匹配,或者根据游戏的性质,场景中的数量可能远多于所需数量。
秒数限制
此选项定义回合的持续时间。如果用户失败,他们可以重新点击 NPC 以重试。
计数器 ID
在此字段中,添加您手动应用于附加到计数器的 任务计数器可点击 或 任务计数器接近度 组件的计数器 ID 字段的任何 ID。
其他组件
雕像组件

图示:雕像组件。
雕像组件最常用于在场景中创建 NPC。它允许您使用世界中可以拥有的 任何 服装或配饰物品为您的 NPC 穿衣——包括您自己的虚拟商品,以及您从其他创作者那里购买或收到的任何物品。
要使用脚本,请将其应用于场景中的 空胶囊碰撞体,或使用您的空间编辑器包中的 NPC 模板预制件。然后您可以编辑出现的字段,下面将更详细地描述这些字段。
名称
NPC 很容易与世界中的真实头像区分开来,因为它们没有显示名称的悬停文本。但是,您仍然可以使用此字段为您的 NPC 命名。此名称将出现在任务对话步骤中。
玩家服装 ID
![]()
图示:服装窗口,突出显示服装 ID。
在 Breakroom 中,每个保存的头像或头像外观都有一个关联的服装 ID 号。您可以使用此数字将保存的头像外观应用于任何 NPC。

突出显示:您的 NPC 的服装 ID 字段。
为此,请注意您想要使用的服装 ID 号。在 Unity 中,将此数字添加到 NPC 雕像组件 上的 玩家服装 ID 框,然后正常上传 NPC。
渲染设置
如果您想在 NPC 上应用材质,可以在此处添加。这可能导致 NPC 看起来像全息图、石像等。
如果您想展示特定物品的商店模特,同时其他方面看起来像塑料或石头,只需将您想要展示的物品商店 ID 添加到 跳过材质更改 ID 字段。这将允许您,例如,创建一个银色模特,只有您出售的太阳镜保留其原始材质。您可以在附加到它的虚拟商品组件中找到物品 ID,或使用 Curator;物品提交后 ID 将出现。
缩放
您可以放大您的 NPC,使其成为高耸于场景之上的巨人,或缩小到精灵的大小。雕像(和一般头像)将 不 尊重 Transform 上的 Unity 嵌入缩放。这是为了防止当它们坐在不是 1,1,1 的对象上时被缩放。
禁用阴影/剔除距离
您可以使用 NPC 系统部署人群场景。禁用阴影并优化每个 NPC 的绘制距离将提高性能。
自定义动画
默认情况下,您的 NPC 将使用标准空闲动画。您可以通过添加自己的动画来覆盖此设置。
随机动画位置
选中此框,您选择的动画将在其时间线的随机点启动。这对于生成人群场景非常有用,您不希望多个 NPC 在屏幕上同步执行相同的动画。
任务计数器可点击

图示:任务计数器可点击组件。
向用户必须点击以收集的计数器添加 任务计数器可点击组件。在您自己创建的 ID 中输入 计数器 ID 字段,然后将相同的 ID 添加到相关 计数器任务步骤 的计数器 ID 字段或 可启动计时计数器组件。
任务计数器接近度

图示:任务计数器接近度组件。
向用户必须在一定接近度内才能收集的计数器添加 任务计数器接近度组件。在您自己创建的 ID 中输入 计数器 ID 字段,然后将相同的 ID 添加到相关 计数器任务步骤 的计数器 ID 字段或 可启动计时计数器组件。在 触发距离字段 中指定将触发成功收集的距离。
QuestGameObject
此组件允许您在指定的任务步骤期间在场景中生成和销毁物品。只有玩家可以看到这些对象。
可配置参数包括:
- QuestID
- MinStep
- MaxStep
将此组件附加到其他对象(最好是父组,如果您在单个步骤中更新多个对象)。它将基于用户是否包含在指定的最小和最大值之间的任何步骤中来启用或禁用其上的对象。
PlaceAtOrigin
此组件将对象放置在头像的原点;相对于该头像的 0,0,0,非附加。要偏移对象,请放置带有 PlaceAtOrigin 脚本 的空父对象,然后从不可见的父对象偏移可见对象。
%PLAYER%
在任务文本字段中使用此内容以将玩家名称添加到游戏内对话中。
重播 NPC
如果活动步骤可能失败,请将任务 NPC 拖入 重播 NPC 字段。它将显示一个“!”,要求用户重复该步骤。
头像效果 NPC
![]()
将此组件应用于设计为自动接受手势邀请的 NPC。