> For the complete documentation index, see [llms.txt](https://octanta-studio.gitbook.io/zi-dong-jiao-cheng-sheng-cheng-qi-you-xi-nei-ti-shi-cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://octanta-studio.gitbook.io/zi-dong-jiao-cheng-sheng-cheng-qi-you-xi-nei-ti-shi-cn/data/supported-visuals-ui.md).

# Supported Visuals (UI)

{% hint style="info" %}
此处描述了支持的视觉效果的类型和功能。要了解用于使用的特定预制体，请参见 [Visual Prefabs](/zi-dong-jiao-cheng-sheng-cheng-qi-you-xi-nei-ti-shi-cn/data/visuals-prefabs.md)。
{% endhint %}

<table><thead><tr><th width="439">Abstract</th><th>Fields for step visuals</th></tr></thead><tbody><tr><td><p>在ATM系统中，视觉提示包括：UI Pointers、UI Graphics、World Pointers、World Graphics。教程步骤可以显示全部或仅显示其中一部分。不同的视觉效果互不冲突。所有指针都可以指向UI目标和世界坐标中的对象。Hovers与指针相同，但主要用于仅突出显示最终目标对象。</p><p>视觉预制体可以通过合并元素来创建。但是，视觉效果的基本行为由其基本类型决定。</p></td><td><img src="/files/0ZAHRF0HwHdwUhri2rYz" alt=""></td></tr></tbody></table>

<figure><img src="/files/s402veeCxGESs4Dzm7Ni" alt=""><figcaption><p>UI tip types</p></figcaption></figure>

| UI Pointer                     | UI Graphics              |
| ------------------------------ | ------------------------ |
| Dynamic（动态）                    | Static（静态）               |
| 相对于场景中的目标对象定位（指示要与什么交互）        | 独立放置在画布的某处               |
| 通常，这会是箭头、指向的手、鼠标或十字准线          | 通常，这会是文本、动画UI图像、弹出窗口或幻灯片 |
| 如果您为此添加图形，您将得到一个带有附加标签的移动指针，例如 | 如果您为此添加指针，它将只是附加到区域的说明材料 |

<figure><img src="/files/lUOAkYZE8QTCQAbFUDoJ" alt=""><figcaption><p>Pointer examples</p></figcaption></figure>

## **UIPointerGraphAnimation** **(UI Pointer)**

个控制每个UI指针行为的组件。不用于手动编辑。它应该附加到每个作为UI指针的预制体上。它实现了此视觉提示的出现、移动到目标、动画和消失的逻辑。例如，要创建您自己的自定义指针，您创建一个UI Image，将其制作成预制体，然后将此组件添加到其中。在检视器中包含用于交互的公共字段：

* Settings scriptable object（必需）。使用它来控制指针动画。如果未分配，将使用无动画的设置。
* Text Element（可选）。用于显示文本提示并对其进行动画处理。
* Images To lerp列表（可选）。预制体内所有需要颜色插值的图像都应添加到此处。
* Mouse Parts（可选）。用于为指针鼠标的各个部分制作动画。

{% hint style="info" %}
**更改提示类型** 如果默认指针动画不适合您，请设置`UIPointerNone`并将您的自定义动画组件添加到预制体。
{% endhint %}

**PointerSettings (UI Pointer)**

一个允许创建包含UI指针动画设置的可脚本化对象的组件。不用于手动编辑。它被分配给每个UI指针预制体。例如，如果设置指定出现类型为"Slide"，指针将以滑动动画出现。包含用于交互的字段：

* Use Pivots. 如果为True，那么在指向指针时，它将查找为对象设置的轴心点，而不是其实际中心。
* Movement Settings. 在此设置指针在目标对象之间移动的速度和延迟。
* Appearance Settings、Slide Animation. 在此分配指针出现和消失的类型、速度以及"Slide"类型的特殊位置。
* Idle Animation settings. 在此调整不同类型空闲动画的速度和延迟。
* Screen Edge Settings. 在此设置值以在指针目标超出屏幕边界时调整指针。

<figure><img src="/files/rsqe8Gv1fYn5ocGbpOay" alt=""><figcaption><p>Graphic examples</p></figcaption></figure>

## **UIGraphicAnimation (UI Graphics)**

一个控制每个UI图形元素行为的脚本。不用于手动编辑。它应该附加到每个作为UI图形的预制体上。该脚本实现了此提示的出现、动画和消失的逻辑。例如，要创建您自己的自定义图形，您创建一个GameObject，添加动画和文本，将其制作成预制体，然后将此组件添加到其中。动画使用Graphic Settings进行控制。在检视器中包含用于交互的公共字段：

* Settings scriptable object（必需）。使用它来控制图形动画。如果未分配，将使用无动画的设置。
* Background Color（可选）。如果不透明，将为使用此图形元素的步骤创建此颜色的背景（无raycast target）。
* Positioning. 允许将图形附加到画布的指定角落或使用其当前锚点。
* Text Element（可选）。用于显示文本提示并对其进行动画处理。
* Images To lerp列表（可选）。预制体内所有需要颜色插值的图像都应添加到此处。
* Confirm Button（可选）。如果存在，步骤将不会完成，直到玩家按下确认按钮并满足步骤的条件。这是防止误点击的方法。
* Swipe Part to Rotate（可选）。在此分配带有滑动动画的对象。脚本根据滑动类型自动旋转和镜像它，无需多个单独的图形。默认情况下，期望右滑动。

{% hint style="info" %}
如果默认图形动画不适合您，请设置`UIGraphicNone`并将您的自定义动画组件添加到预制体。
{% endhint %}

**GraphicSettings (UI Graphics)**

一个包含UI图形动画基本设置并允许创建具有预配置设置的可脚本化对象的脚本。不用于手动编辑。它被分配给每个UI图形预制体。例如，如果设置指定出现类型为"Slide"，图形将以滑动动画出现。包含用于交互的字段：

* Appearance Settings、Slide Animation. 在此分配指针出现和消失的类型、速度以及"Slide"类型的特殊位置。
* Idle Animation settings. 在此调整不同类型空闲动画的速度和延迟。
