触发器Actor(TriggerBoxActor/TriggerSphereActor)

1. 触发器作用及简介

触发器(Triggers)是一种Actor,作用是当世界中的其他对象同其交互时触发事件。也就是说,它们被用于触发事件从而响应世界中的其他操作(默认情况下,在Play状态时,触发器是隐藏的)。比如,你想让一个特定的Actor经过触发器所在的区域时,在指定位置播放一个粒子效果,就可以使用触发器来实现。
使用触发器有一个前提是,如果你想让某一特定Actor经过触发器时,触发设置的事件,该特定Actor必须和该触发器设为同一个碰撞通道。触发事件目前有五种,设置Actor的Transform事件,设置Actor隐藏事件,粒子播放事件,播放动画事件,Lua脚本事件(使用人员根据自己的需求编写Lua脚本,设置为Lua脚本事件进行触发,这要求使用人员有编写简单Lua脚本的能力)。
触发器的主要区别是其影响区域形状,触发器使用这些影响区域来检测另一个对象是否激活了它。目前有两种触发器Actor,盒体触发器(TriggerBoxActor)和球体触发器(TriggerSphereActor)。

2. 添加方法

同大部分的编辑器内置的Actor添加方式一样,触发器的添加也是由工具栏往世界内拖放来完成添加的操作。
alt
alt

3. 触发器使用

3.0.1. 触发器属性

在世界中鼠标单击拾取触发器Actor,或者在世界自定义栏中选中对应的触发器Actor,然后在属性栏中就会显示出触发器Actor可设置的属性。触发器作为Actor,除了基本的Actor属性(变换、Actor常规设置)外,还可在属性面板中设置触发器事件和设置触发器形状。
alt

3.0.2. 触发器形状设置

可根据实际需要,在触发器形状属性中调整触发器的大小等属性,也可以直接在“变换”属性中调整缩放倍数,或者工具栏缩放按钮直接调整触发器的大小。
1.盒状触发器:可设置盒体的长宽高以及盒体颜色。

alt

2.球状触发器:可设置球体半径和球体颜色。

alt

3.0.3. 碰撞通道设置

因为触发器使用的前提是,特定Actor(你想让它经过触发器触发事件的Actor)必须和该触发器设为同一个碰撞通道。所以,需要先设置好特定Actor和触发器的碰撞通道。
点击属性面板中的世界属性,“碰撞/点选通道设置”下的自定义通道,添加一个新的自定义通道或者选择一个已有的,这里添加了一个“Custom_channel-test”的通道。
alt
然后,选中特定Actor,在属性面板中的“Actor常规设置”中,设置当前Actor的“碰撞/点选通道”为“Custom_channel-test”。同样方法设置触发器Actor的“碰撞/点选通道”为“Custom_channel-test”。这样,就设定了特定Actor和触发器Actor在同一个碰撞通道。
alt

3.0.4. 触发器事件设置

添加事件分为三类,添加重叠开始/重叠中/重叠结束事件,对应三种触发状态。

1.重叠开始事件是其他Actor触碰到触发器那一瞬间触发的事件;

2.重叠中事件是其他Actor已经触碰到触发器,还未离开触发器这一过程中触发的事件;

3.重叠结束事件是其他Actor刚离开触发器那一瞬间触发的事件。

alt

点击“添加重叠开始事件”,弹出选择事件类型对话框,选择一种事件类型。 “添加重叠中事件”、“添加重叠结束事件”同“添加重叠开始事件”设置方式相同
alt

  • 添加ActorMovement事件
    • 1.点击编辑事件数据按钮,弹出下图左侧对话框,可编辑Actor的transform数据,设置完之后需要点击“确定”才会生效;
    • 2.发送者可为空(即空白选项);
    • 3.执行者即为你想要操作的Actor,可由下拉框选取当前世界中的Actor;
    • 4.延时,单位是毫秒(ms),意为触发条件达到后,延时多久触发,默认为0,意为触发条件达到后立即触发;
    • 5.重复触发(默认开启),开启时,特定Actor每次经过该触发器都触发事件绑定的事件,否则,只触发一次,即第一次经过该触发器时触发事件;
    • 6.删除事件,删除当前事件,目前删除不支持Redo/Undo操作。

alt

  • 添加ActorVisible事件
    • 1.点击编辑事件数据按钮,可勾选为隐藏/非隐藏;
    • 2.其他设置,同ActorMovement事件。

alt

  • 添加播放动画事件(PlayAnimation)
    • 1.点击编辑事件数据按钮,设置动画资源路径;
    • 2.需要注意的是,这里发送者为播放动画资源的载体Actor,不能为空;
    • 3.执行者可为空;
    • 4.其他设置同ActorMovement事件

alt

  • 粒子播放事件(SpawParticleSystem)
    • 1.点击编辑事件数据按钮,弹出左侧对话框,可设置粒子资源路径和播放位置,设置完之后需要点击“确定”才会生效。
    • 2.发送者和执行者都设为空,其他同上。

alt

  • Lua脚本事件(Custom)
    • 1.点击编辑事件数据按钮,可选择已存在的Lua脚本文件路径。 alt
    • 2.也可创建新的代码文件,默认内容为event脚本模板,可在OnEventEntrance()(事件初始化之后时执行)OnEventRelease()(事件析构之前执行)和OnEventTrigger()(对于触发器来说,此接口为触发时执行的接口,OnEventTick()和OnEventRestore()无效,这两个接口在过场动画的事件轨道中使用)中添加对应的内容。
    • 3.点击编辑代码文件,即可打开Lua脚本编辑窗口(Lua脚本编辑窗口,详细可见过场动画中事件轨道部分的使用介绍),可对脚本编辑保存;在运行过程中,运行Lua脚本日志会输出到Lua日志窗口(Lua日志窗口作为主界面一个Dockwidget,放在界面最下端,默认隐藏,可在主编辑器界面菜单栏下面的空白处,单击鼠标右键,弹出的菜单中勾选“Lua日志”,即可打开日志面板。编辑器中所有运行Lua脚本的日志都会输出到此窗口,可在此窗口检测执行的脚本事件是否正确)。
    • 4.其他,同ActorMovement事件。

alt

alt

3.0.5. 触发器数据保存

保存工程时,触发器的信息数据,包括基本信息以及事件信息等都会保存到工程文件中。

4. 注意事项

1.碰撞触发器的Actor一定要与被碰撞的触发器Actor设置为同一个碰撞通道,否则,即使经过触发器区域也不会触发相应的事件。

2.触发器事件设置时,弹出的数据编辑框,设置完想使设置的数据生效的话,要单击“确定”按钮,关闭对话框,单击“取消”按钮,关闭对话框数据不会生效。

@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2021-04-12 18:28:14

results matching ""

    No results matching ""