Skip to main content
VRCHINA
 首页 » 资源教程 » UE4教程

UE4 HTC VIVE - 番外篇 - 事件系统

2016年09月18日 12:18:007830蛮牛网

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第1张

目的:

解耦,对象化,消息分发等等

UE4事件系统的主要两个组成

1)自定义事件

2)事件调度器

第一步:

自定义事件的创建和使用:

a,首先创建出一个自定义事件

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第2张

添加自定义事件

b,尝试调取自己创建的事件

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第3张

调用自定义事件

c,外部调用和创建有参数的事件

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第4张

创建有参数的自定义事件.png

d,在场景蓝图中触发自定义事件

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第5张

在场景蓝图中调用自定义事件.png

第二步:

事件调度器的创建和使用拟定一个‘’事件分发 ‘’情景:

A对象吼了一嗓子,B和C听到作出吓一跳的反应;

如何确定何时需要使用事件分发机制:

1,A吼叫后与其再无关系,并且能被所有听力正常的生物听到,形成一对多事件触发条件;

2,B,C属于听力正常的生物,那么需要在出现声音的时候及时获取内容并进行各自对应的应激反应,所以在B,C出生的时候都要注册进听声音事件形成听众;

具体实现:

首先创建一个GameModle 类型作为方便编辑的媒介,然后创建一个新的事件调度器

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第6张

创建事件调度器

B,C的处理

首先来看B,C,B和C在出生时需要将自身听声音事件注册到消息列队,并且在听到声音后做了相应的实现;

其中假设C适应力较差导致耳聋,将不再需要听声音,如果听到吼叫就将C的听声音事件从消息列队中剔除;

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第7张

C的蓝图

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第8张

B的蓝图

A的处理

A需要做的就是按一定频率不断吼叫,(定时触发事件列队的消息发送);

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第9张

A的蓝图

将A,B,C三个对象放入场景中,显示结果为:

由此可见B,C均接到到事件调用,并且C也在第一调用完后成功将自身事件从列队中剔除;

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第10张

执行现象

第二步拓展:在场景蓝图中操作事件

我们即将使用手动调用的方式来触发吼叫,所以将A的吼叫计时器给关掉即可

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第11张

断开A的吼叫计时器

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第12张

创建临时消息列队

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第13张

引出CreateEvent节点

当BingEvent to xxxx节点的事件与CreateEvent的Event节点连接后出现selectEvent下拉菜单,我们从中选择吼叫事件来作为触发目标事件;

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第14张

将事件绑定

运行结果同步骤二,此处不截图了

第三步

制作一个切换模式功能(最后附实例下载):

1)控制器接收目标模式后关闭当前模式,并加载目标模式

2)控制模式在各个事件列队的注册和卸载,确保不出现空的事件引用

具体实现内容:

1)玩家输入鼠标左键切换游戏模式

2)玩家输入键盘按键内容将附加模式名称以标识当前模式

制作过程:

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第15张

创建一个集成自ActorComponent的基础模式蓝图

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第16张

创建基础模式类

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第17张

创建具体模式对象

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第18张

子类复写父类事件时可以主动调用父类来保留父类实现

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第19张

模式01蓝图

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第20张

模式02蓝图

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第21张

将模式蓝图放入角色控制器

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第22张

在角色控制器中写入鼠标输入事件

UE4 HTC VIVE - 番外篇 - 事件系统 UE4教程 第23张

2897290-5405c6ad64be1721.png(194.74 KB, 下载次数: 0)

下载附件  保存到相册

昨天 18:02 上传

继续在角色控制器中编写一段按键输入事件

评论列表暂无评论
发表评论