Step Customization

Editing the generated steps.

为了通用使用,将 Interaction 设置为 Manually Call,并将 Step Start 设置为 Manually Call。将所有必需的提示分配到步骤的视觉元素,通过脚本触发步骤,并在需要时通过脚本完成步骤。

  1. 在 ATM 中打开 Step Sequence 列表。

Step

该列表包含项目——玩家需要执行的步骤。最初,这些步骤按顺序记录,一个步骤在另一个步骤之后激活。在此可编辑每个步骤的逻辑。

  • Step State 字段为只读,显示运行时的步骤状态(Done - 已完成,Displaying - 活跃,Not Done Yet - 尚未完成)。

  • Blocked By Time Delay 字段为只读。如果设置了 Start Delay,该步骤在存在指定时长之前不会启动。这是用于启动步骤的附加功能,例如通过“Tag”搜索对象。因为同时运行时,生成的对象可能未被找到。

  • Blocked By Time 字段为只读。如果设置了 Min Time Amount,该步骤在存在指定时长之前不会完成。这是防止误点击意外关闭步骤的附加功能。

  • Blocked By Button 字段为只读。如果步骤包含带确认按钮的图形,只有按下该按钮才能解锁步骤,使执行继续。

  • 请根据需要编辑每个步骤。

Start condition
Completion condition
Target details
Additional methods

要更改步骤的启动逻辑:

  • 要防止步骤自动启动,请将 Start Step 设置为 Manually Call。步骤将等待脚本触发或按钮点击。可使用 TutorialSceneReferences 脚本中的公共方法,例如 StartTutorialStep(0); 来启动步骤编号 0。请参阅 Manual Step Calls

  • 如果希望步骤在前一步完成后立即启动,请将 Start Step 保持为 Auto After Previous Step。如果设置为 Element 0,则在 Start() 时初始化。

  • 可设置 Start Delay 时间,例如 0.5f,以延迟启动步骤。推荐用于“By Tag”和“By Layer”交互。

  • 要启用序列中多个步骤异步启动,请将每个步骤的 Execute In Parallel 复选框勾选为 true,并为它们分配相同的 Parallel Group ID。这样,组内所有步骤会同时启动,但每个步骤仅在满足其特定条件时完成。

To 要更改步骤被视为完成的逻辑:

  • 要修改玩家预期执行的操作类型,请从支持列表中选择 Interaction 类型。请参阅 Supported Input。例如,Click——玩家必须左键点击或触摸目标。KeyCode——玩家必须按下 KeyCodes 列表中列出的所有目标键,顺序不限。

  • 要更改玩家交互目标的定义方式,请从支持列表中选择 Check Interaction 类型。例如,Click+ByGameObject = 玩家必须点击场景中的特定对象。Click+ByTag = 玩家必须点击场景中具有该标签的任意对象。Click+ByLayer = 玩家必须点击场景中具有该图层的任意对象。Click+AnyTarget = 玩家可以点击任意位置以完成步骤,适用于不需要特定目标的情况,如键盘输入。Click+ByType 将等待点击指定类型(2D、3D、UI)的任意对象。

  • 要直接设置目标及其类型,可使用多个列表,例如特定的 GameObject、标签、图层、键盘按键,以及用于指定对象类型(2D、3D、UI)的列表。使用这些列表以补充 Check Interaction。例如,如果选择 ByTag,请确保 Tags 列表中包含将使用的标签。

  • 如果设置了 Min Time Amount,步骤在存在指定时长之前不会完成。这是防止误点击意外关闭步骤的附加功能。

要为步骤添加额外逻辑,请使用 Additional step behaviour 字段。在教程步骤开始时添加触发的方法。在步骤完成时添加触发的方法。适合添加到这些字段的方法包括:

  • 通过脚本暂停/恢复游戏时间

  • 收集完成情况分析数据

  • 应用/移除背景模糊

  • 禁用除必需输入以外的所有其他输入,并在之后重新启用

  • 触发额外动画,例如步骤完成时的指针上升效果

  • 显示整体学习进度,例如填充进度条

  • 通过触觉振动提供反馈

要更改视觉呈现,请在 Visual Tips 和 Localization Reference 字段中填写预制件和文本字符串。不同类型的提示互不排斥,使用独立设置。该资源包含可在此处附加或作为参考创建自定义提示的各种预制件。请参阅 Visual Prefabs

Adding visuals
Fields
  • 要用“UI Pointer”提示说明步骤,请将所需指针预制件分配到 Pointer Prefab 字段。要为指针附加文本,请填写 Pointer Text 字段。

  • 要用“UI Graphic”提示说明步骤,请将所需图形预制件分配到 Graphic Prefab 字段。要为图形附加文本,请填写 Graphic Text 字段。

  • 要额外指示最终目标对象,例如拖放步骤的终点,请将 hover 预制件分配到 Hover Prefab 字段。这是另一个标准 UI Pointer,作为步骤的补充。

  • 要用“World Pointer”提示说明步骤,请将所需指针预制件分配到 World Pointer Prefab 字段。要为指针附加文本,请填写 World Pointer Text 字段。

  • 要用“World Graphic”提示说明步骤,请将所需图形预制件分配到 World Graphic Prefab 字段。要为图形附加文本,请填写 World Graphic Text 字段。

  • 要额外指示最终目标对象,例如拖放步骤的终点,请将 hover 预制件分配到 World Hover Prefab 字段。这是另一个标准 World Pointer,作为步骤的补充。

要通过遮罩阻止除必需对象外的所有射线检测,请将通用 UI Transparent Mask 预制件分配到 Hover Prefab 字段,并在 IrisCutoutMask 组件中设置合适的剪裁尺寸和形状。

要更改 PointerText、GraphicText、WorldPointerText、WorldGraphicText 中的文本值:

  • 在每个步骤中编辑文本值,或前往 TSR > InputTextStrings 对象查看存储所有文本提示的位置。这些文本是互相关联的,可在步骤中或从此中央集合中无缝编辑。

  • 要保存当前文本值,可使用专用按钮将其导出为 CSV 文件。

  • 默认情况下,步骤使用英文,并且每个视觉元素只有一个输入字段。有关更灵活的文本自定义和本地化,请参阅 Localization(进行翻译)或 Manual Calls(在运行时直接替换文本)。

请勿忘记保存更改。建议解包 ATM 预制件,并为每个场景使用独立实例。

Last updated