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

Core Components

Learning what is what.

Tutorial Scene References (TSR)

个绑定组件,包含对所有系统组件的引用。它还包含用于通过脚本手动调用教程步骤的公共包装方法。TSR在检视器中包含用于交互的公共字段:

  • Target Canvas(必需)。在此分配当前场景的UI画布。

  • Target World Holder. 在此分配生成世界提示(2D/3D)的父对象。

  • Main Camera(必需)。在此分配当前场景的摄像机。

  • Handle Camera Switching. 如果启用,当前摄像机被禁用或从场景中移除时,系统会尝试切换到另一个活动摄像机。

  • Enable Debug. 如果启用,系统会将状态日志输出到控制台。

高级用法的其他设置:

  • CurrentDevice_ATM(必需)& Current Scene. 场景中当前ATM的唯一字符串名称。如果场景中存在多个ATM,应通过此字符串来区分它们。参见 Adaptive Tutorial

  • InputTextStrings(必需)。对存储项目中教程每个部分所有文本和翻译的对象的引用。

  • Autostart. 禁用此布尔值可防止教程自动启动。只有通过 TurnOnTutorial() 手动触发时才会运行。参见 Manual Calls

  • ForMobileBuildOnly. 如果此参数设置为True,教程将仅在移动设备上播放。这允许您在同一场景中为不同设备类型保留多个不同的ATM。

  • ForPCBuildOnly. 如果此参数设置为True,教程将仅在桌面设备上播放。这允许您在同一场景中为不同设备类型保留多个不同的ATM。

  • OnSkipTutorial(). 您可以在此添加应被调用以完成教程的函数(除了内置的提示隐藏功能)。

  • 指向默认视觉设置和预制体的链接。参见 Visual Prefabs

  • Auto Initialized. 首次将TutorialSystem添加到场景时自动初始化的标志。

Automatic Tutorial Maker (ATM)

Automatic Tutorial Maker (ATM) 用于教程录制和生成的主要组件。不用于手动编辑。此脚本在录制期间识别每个操作的类型并为其生成最合适的提示。例如,当对象被移动到库存插槽中时,它识别这是一个拖拽操作并生成指针和文本标签来解释该操作。之后,可以在检视器中进行调整。参见 Step Customization。ATM在检视器中包含用于交互的公共字段:

  • Edit Tooltip Texts & Localization > 按钮,用于快速跳转到TSR中的InputTextStrings脚本化对象以编辑文本。

  • Start Recording/Stop Recording按钮。在运行时可用。用于开始录制和生成教程,然后在完成时保存。

  • 公共Step Sequence列表。此列表中的每个元素代表一个教程步骤。它包含有关步骤开始条件、执行和视觉显示的信息。

  • Copy Sequence、Paste Sequence和Clear Sequence按钮。用于简化列表的手动操作:复制、粘贴和清空(包括关联的文本字符串)。

Step Sequence Player (SSP)

负责教程步骤回放逻辑的主要组件。不用于手动编辑。此脚本查找玩家当前应该执行的步骤,跟踪输入以完成步骤,并为每个ATM单独保存已完成和未完成步骤的进度。SSP在检视器中包含用于交互的公共字段:

  • Open Progress Files > 按钮,用于快速打开存储会话间进度JSON文件的文件夹。

  • Reset Tutorial Progress按钮。在运行时可用。出于测试目的重置当前场景的教程进度。

Tutorial Visual Manager (TVM)

此组件根据回放步骤帮助启用和销毁场景中的各种视觉提示。不用于手动编辑。

ClickData

负责AutomaticTutorialMaker的StepSequence中教程步骤的内容和显示的脚本。

Input Controller

此组件跟踪录制和回放的所有输入。不用于手动编辑。支持移动端和PC端。在检视器中包含公共字段:

  • Input System Type用于在新旧输入系统之间切换。

  • Min Hold Duration. 设置在Hold交互被识别之前必须经过的最小时间间隔。应大于0以区别于点击输入。

  • Min and Max Swipe Distance、Swipe Angle Tolerance. 类似地,定义Swipe交互的最小持续时间和滑动距离(像素)。

  • Min Drag Distance定义在Drag交互中对象被视为移动的最小距离。

  • Joystick Axes包含Input Manager中手柄输入所需的轴名称。Joystick Mapping包含按索引的特定手柄按钮。参见 Joystick Input。

InputStringsScriptableObject

包含教程本地化逻辑的脚本。它链接到TSR中的InputTextStrings对象。在脚本内部,您将预定义的AddCustomLanguage条目替换为public enum Language中的自定义语言。参见 Localization

TutorialTrigger

可以添加到任何对象上以手动触发ATM步骤的组件(Manually Call Template)。例如,当对象被摄像机中心瞄准时显示提示,停止瞄准时隐藏提示。它包含以下公共字段:

  • Linked Step Name(必需)。需要包含与此对象关联的视觉提示的ATM步骤名称。

  • Trigger(必需)。与对象交互以显示和隐藏提示所需的交互模板,例如Hover。

  • Set Step Text和文本字段。当步骤开始时,这些本地文本将传递给ATM提示。您也可以传递键而不是直接文本,以便系统自动本地化。

  • 附加字段:On Trigger Activated / Deactivated. 在此添加本地高亮逻辑:轮廓、放大、nudge等。

IrisCutoutMask

个可附加到启用了Raycast Target的UI预制体图像的组件,用于"挖出"允许射线检测的区域。它用于阻止不需要的交互,同时保持目标区域可访问。该组件允许自定义挖出区域的形状和大小。'Enable Visual Mask'使用选定颜色在"孔洞"周围创建视觉区域。组件需要分配Target Image及其Rect Transform;如果未手动设置,将在Awake时自动完成。

Helpers

AutomaticTutorialMakerEditor, BackgroundManager, ComponentTypeSelector, GrayedAttribute, InputStringsScriptableObjectEditor, JoystickTipController, KeyboardInputHelper, KeyCodeExtensions, LocalizedTooltip, OpenLocalizationAttribute, ParameterSelector, ReadOnlyAttribute, ShowIfAttribute, StepSequencePlayerEditor, TutorialSceneReferencesEditor - 用于清晰资源设计和输入优化的辅助组件。

Last updated