创建一个基本的事件触发器 (Creating a Basic Event Trigger)

事件触发器 (Event Triggers)

“事件触发器(Event Triggers)“用于在玩家进入触发器的范围时,调用一个你指定的函数(或者依次调用几个函数)。

事件可以是简单的,也可以是复杂的,因为它们是在Inspector面板中进行定义的。请参阅本插件中自带的demoTriggers预制体,或者参考示例场景。


以下是制作最基本的事件触发器,所需的步骤:

  1. 创建一个空的游戏物体,将它命名为"MyEventTrigger"

  2. 在MyEventTrigger身上添加一个Box Collider组件,并勾选“Is Trigger”选项。 这个Box Collider用于:当玩家进入时,触发事件。

  3. 在MyEventTrigger身上添加一个FPEEventTrigger组件.

  4. 调整FPEEventTrigger组件上的选项:

    • Target Tag (目标的标签):拥有什么Tag的游戏物体,能够触发这个“事件触发器”。默认为Player,这意味着Tag为“Player”的游戏物体,进入这个“事件触发器”时,会触发此触发器中的事件。

    • Arm On Start (在开始时部署):如果为true,则在场景初始化(Start)时,部署这个“事件触发器”。 如果此“事件触发器”是需要由另一个“事件触发器”触发的,请将此值设置为false。

    • Triggers to Arm On Activation (在激活时部署其他的“事件触发器”):当目标对象(比如玩家)进入此“事件触发器”时,将这个选项中的这些“事件触发器”,都设置为部署(Arm)状态。

    • Triggers to Disarm On Activation (在激活时撤销其他的“事件触发器”):当目标对象(比如玩家)进入此“事件触发器”时,将这个选项中的这些“事件触发器”,都设置为撤销(Disarm)状态。

    • Arm Event (部署事件):当此“事件触发器”部署时,将触发这个事件。

    • Disarm Event (撤销事件):当此“事件触发器”撤销时,将触发这个事件。

    • Activation Event (激活事件):当目标对象(比如玩家)进入此“事件触发器”时,将触发这个事件。

    • Disarm On Activation (激活时撤销):如果为true,则在此“事件触发器”被激活时(激活事件执行后),将此“事件触发器”撤销。(也就是当目标对象进入此“事件触发器”时,此“事件触发器”将被撤销。)

    • Draw Trigger Gizmos (绘制“事件触发器”的Gizmos):如果为true,将在Unity编辑器的Sence面板中,绘制“事件触发器”的Gizmos(就是会让事件触发器的区域范围可视化)。我建议你将这个选项设置为true,以便于更直观,也便于测试。

      “事件触发器”有的3种状态:
      部署:就是启用一个事件触发器。(只有事件触发器是部署状态的时候,才能够激活这个事件触发器。)
      撤销:就是禁用一个事件触发器。(当一个事件触发器是撤销状态时,无法激活这个事件触发器。)
      激活:当事件触发器时部署状态时,目标对象进入事件触发器时,就会激活这个事件触发器。(当激活完成后,就会恢复到部署状态,或者撤销状态)
      
  5. 运行场景,然后让玩家进入“事件触发器”,看看效果吧。

  6. 根据你需要的结果,来编辑“事件的列表”(ArmEvent、DisarmEvent、ActivationEvent)。

注意:
在默认情况下,“事件触发器”的状态将简单地被保存和加载。
例如,如果在保存游戏时,场景中有几个触发器处于部署或撤销的状态,则在加载游戏时将恢复这些状态。
保存“事件触发器”的其他结果,可能需要你额外做一些工作。
例如,如果“事件触发器”生成一个“可拾取道具(Pickup)”,那么将自动保存这个“可拾取道具”,因为“可拾取道具”会自动保存。
但是如果你的“事件触发器”,会播放一段过场动画,或者让墙壁破裂,那么你需要自己去保存这些状态。
有关更多详细信息,请参阅Save/Load System(保存和加载系统)的章节,或者查看本插件自带的demoTrigger预制体。


如果你完成了上面步骤,那么你的FPE Event Trigger脚本,将会如下图所示:

此“事件触发器”在场景初始化时,处于“部署”状态。当触发“事件触发器”中的每个事件的时候,都会播放一个声音。然后,这个“事件触发器”会在激活时,处于“撤销”状态。

SampleTrigger.jpg


下图,是一个尚未“部署”(处于“撤销”状态)的“事件触发器”(显示为红色)。

TriggerUnarmed.jpg


下图,是一个处于“部署”状态的“事件触发器”(显示为绿色)。

TriggerArmed.jpg



FPEEventTrigger脚本上的变量

变量名———————— 变量名的中文翻译———————— 说明
Target Tag 目标的标签 拥有什么Tag的游戏物体,能够触发这个“事件触发器”。
默认为Player,这意味着Tag为“Player”的游戏物体,进入这个“事件触发器”时,会触发此触发器中的事件。
Arm On Start 在开始时部署 如果为true,则在场景初始化(Start)时,部署这个“事件触发器”。
如果此“事件触发器”是需要由另一个“事件触发器”触发的,请将此值设置为false。
Triggers to Arm On Activation 在激活时部署其他的“事件触发器” 当目标对象(比如玩家)进入此“事件触发器”时,将这个选项中的这些“事件触发器”,都设置为部署(Arm)状态。
Triggers to Disarm On Activation 在激活时撤销其他的“事件触发器” 当目标对象(比如玩家)进入此“事件触发器”时,将这个选项中的这些“事件触发器”,都设置为撤销(Disarm)状态。
Arm Event 部署事件 当此“事件触发器”部署时,将触发这个事件。
(部署:就是启用一个事件触发器。只有事件触发器是部署状态的时候,才能够激活这个事件触发器。)
Disarm Event 撤销事件 当此“事件触发器”撤销时,将触发这个事件。
(撤销:就是禁用一个事件触发器。当一个事件触发器是撤销状态时,无法激活这个事件触发器。)
Activation Event 激活事件 当目标对象(比如玩家)进入此“事件触发器”时,将触发这个事件。
Disarm On Activation 激活时撤销 如果为true,则在此“事件触发器”被激活时(激活事件执行后),将此“事件触发器”的状态设置为撤销。
(也就是当目标对象进入此“事件触发器”时,此“事件触发器”将被撤销。)
Draw Trigger Gizmos 绘制“事件触发器”的Gizmos 如果为true,将在Unity编辑器的Sence面板中,绘制“事件触发器”的Gizmos(就是会让事件触发器的区域范围可视化)。
我建议你将这个选项设置为true,以便于更直观,也便于测试。

results matching ""

    No results matching ""