Step Customization
Editing the generated steps.
为了通用使用,将 Interaction 设置为 Manually Call,并将 Step Start 设置为 Manually Call。将所有必需的提示分配到步骤的视觉元素,通过脚本触发步骤,并在需要时通过脚本完成步骤。
在 ATM 中打开 Step Sequence 列表。

该列表包含项目——玩家需要执行的步骤。最初,这些步骤按顺序记录,一个步骤在另一个步骤之后激活。在此可编辑每个步骤的逻辑。
Step Name字段用于输入步骤名称,以便通过字符串而不是索引进行手动引用。
Step Replay(Reusable / Play Once / Play Once Per Session)——确定此提示可以显示多少次的字段。
Manually Call Template - 如果启用,将步骤简化为手动调用条件而不是自动触发。此类步骤可以从脚本手动调用或通过触发器设置。请参见下面的步骤启动逻辑。
Step State字段为只读,显示运行时的步骤状态(Done - 已完成,Displaying - 活跃,Not Done Yet - 尚未完成)。
Blocked By Time Delay字段为只读。如果设置了Start Delay,该步骤在存在指定时长之前不会启动。这是用于启动步骤的附加功能,例如通过"Tag"搜索对象。因为同时运行时,生成的对象可能未被找到。
Blocked By Time字段为只读。如果设置了Min Time Amount,该步骤在存在指定时长之前不会完成。这是防止误点击意外关闭步骤的附加功能。
Blocked By Button字段为只读。如果步骤包含带确认按钮的图形,只有按下该按钮才能解锁步骤,使执行继续。
请根据需要编辑每个步骤。




要更改步骤的启动逻辑:
要防止步骤自动启动,请将Start Step设置为Manually Call。步骤将等待脚本触发或按钮点击。可使用TutorialSceneReferences脚本中的公共方法,例如
StartTutorialStep(0);来启动步骤编号0。请参阅Manual Step Calls。或者,勾选Manually Call Template复选框。这将提供一个用于播放步骤的触发器模板。默认情况下,Trigger字段等待来自对象的外部调用,但您也可以配置提示通过与对象的Hover/Click/ScreenCenter交互来触发,例如,任何标记为InteractiveObject的对象(Check Object = By Tag,Compare Tag = 'InteractiveObject')。
如果希望步骤在前一步完成后立即启动,请将Start Step保持为Auto After Previous Step。如果设置为Element 0,则在Start()时初始化。
要启用序列中多个步骤异步启动,请将组中每个步骤的Execute In Parallel复选框勾选为true,并为它们分配相同的Parallel Group ID。这样,组内所有步骤会同时启动,但每个步骤仅在满足其特定条件时完成。
设置Start Delay时间,例如0.5f,以延迟启动步骤。推荐用于"By Tag"和"By Layer"交互。Min Time Amount——提示在响应完成所需的输入之前存在的时间。Min Existence Time——提示在可以被禁用之前存在的时间。
要更改步骤被视为完成的逻辑:
要修改玩家预期执行的操作类型,请从支持列表中选择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,步骤在指定时长过去之前不会记录用于完成的输入。这是防止误点击意外关闭步骤的附加功能。
如果设置了Min Existence Time,步骤在指定时长过去之前无法完成。这是防止误点击意外关闭步骤的附加功能。
要为步骤添加额外逻辑,请使用 Additional step behaviour 字段。在教程步骤开始时添加触发的方法。在步骤完成时添加触发的方法。适合添加到这些字段的方法包括:
通过脚本暂停/恢复游戏时间
收集完成情况分析数据
应用/移除背景模糊
禁用除必需输入以外的所有其他输入,并在之后重新启用
触发额外动画,例如步骤完成时的指针上升效果
显示整体学习进度,例如填充进度条
通过触觉振动提供反馈
要更改视觉呈现,请在 Visual Tips 和 Localization Reference 字段中填写预制件和文本字符串。不同类型的提示互不排斥,使用独立设置。该资源包含可在此处附加或作为参考创建自定义提示的各种预制件。请参阅 Visual Prefabs。
要用“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文件。
使用内部本地化系统时,在步骤中启用Use CSV Table Keys,并输入翻译表中的键而不是直接文本。这可确保会话期间自动翻译。
默认情况下,步骤使用英语,每个视觉元素使用单个输入字段。要实现更灵活的文本自定义和本地化,请参阅Localization(用于翻译)或Manual Calls(用于在执行期间简单替换文本)。
要添加额外的工具提示元素或文本,只需将其添加到预制体中。如果您需要不依赖ATM的自管理本地化文本,请使用LocalizedTooltip组件,如Graphic Popup Skip Tutorial示例所示。
要暂停或恢复教程,例如在游戏暂停或打开设置时,使用TSR中的辅助方法:HideTutorial()和ContinueTutorial()。
请勿忘记保存更改。建议解包 ATM 预制件,并为每个场景使用独立实例。
Last updated