蓝图特性、基础界面、输入输出、事件调度【第七章】
Game艺视界原创文章原创 39136 0
实名

通过了实名认证的内容创造者

发布于 2023-6-21 17:23:51

您需要 登录 才可以下载或查看,没有账号?注册

x
我们要讨论的是蓝图之间的通信,这是必不可少的这是我们的玩家角色,你走到那扇门,例如需要按E,就像在 PlayStation 上的视频游戏中一样你需要按E这扇门才能正常打开或关闭我们谈谈这个,以及它在虚幻引擎中应该如何工作
97832f08088fff90596fd3915baa5a51.png

这是我们的角色蓝图,然后我们进入门的那个区域,让我们说在这里和这个区域当我们的角色,在这个区域移动时我们需要触发一个动作和按键盘上的 E 以打开门,这是两个不同的实体。所以第一个我们有我们的角色,第二个我们有我们的门,所以这些蓝图如何交流?
6d156803c88a077a2c59e0336bae2316.png

这是我们的角色蓝图,这个是我们的角色BP,它需要像我们的门 BP 发送评论,所以在虚幻中第一个是发送者,第二个是接收者好吧,这些是蓝图实体的类型,所以第一个是将通信发送到第二个,它将执行蓝图开门,还有另一个名称可以用于这些类型的蓝图,第一个是我们正在工作的 BP,第二个是我们的 TargetBPTarget BP 这个来自官方文档,所以第一个是正在执行操作的工作蓝图,第二个是我们的目标 BP,它将接收操作,在这件事上是开门。假设这是我们的 BP 角色,这是我们游戏中最重要的蓝图,因为这个 BP 角色可以执行不同类型的动作,例如射击、开门、蹲伏、跳跃等



我们有一个角色,这是我们的BP角色蓝图,我们要我们的角色按下键盘上的 E 键,以打开一扇门里面有BP门蓝图,我们将在两者之间进行直接交流,那两个蓝图之间直接通信的事情
第一件事是你可以在两个蓝图之间共享值,在两个 BP 类之间共享值。你可以在我们的BP角色和我们的 BP 门之间共享不同的值记住这一点非常重要第二件事是这是我们正在工作的 BP 这就是它如何进行BP角色和你可以请求对我们的蓝图门的不同访问权限,你就可以请求访问例如旋转转换等等所以这是我们要做的第二件事我们的工作BP可以请求访问我们的第二个BP 好吧,或者你可以称之为目标。这是我们的工作,这是我们的目标,第二个蓝图接下来是在目标蓝图中创建引用,在目标蓝图中创建引用,好吧这是第三件事,所以接下来是它可以从 Target 获取数据和变量或者它可以为 Target 发送数据和变量,这样你就可以向 Target 获取或发送数据和变量,这非常重要,你可以从 Target 发送和获取数据最后当然你可以调用来自目标的功能,例如如果我们在门口这里有一些功能,我们可以通过我们的 BP 角色调用它,所以这些是对直接通信很重要的一些事情,让我们进入虚幻引擎

#门的案例
01-创建蓝图类

02-将门导入到bp中添加静态网格模型,第一个是门我要在这里选择静态网格




接下来我们让蓝图角色与门做互动,所以我要进入我的第三人称我正在使用第三人称示例场景我要双击我的第三人称角色,我们要创建一个新变量我要去单击创建,然后从变量类型中,我将使用下拉菜单并放置BP下划线门



我们添加键盘按键E,当我们按E键时,我们想要打开门我们想要关闭门,所以我要拖动并将引用放在这里并选择获取选项,现在我们正在从第三人称角色那里获得对场景中这扇门的引用,我们想在这里引用的是我要拖放到这里,我们想要参考我们的门,因为我们想打开它



选择获取门



获取旋转




当我们把角色放入场景后可以设置下这里,播放后自动拥有玩家为0。这将做的是我们将从这里的这个角色开始我们的游戏



继续,这就是为什么我们创建了这扇门的公开引用这个玩家相连,我们需要将我们的角色连接到门,如何做到这一点单击角色搜索默认值和门引用我们已经在我们的蓝图中创建了,现在我们正在引用门的角色并且连接完成



按下键盘E门打开90度




我想再次按下E来关闭门,可以做到这一点我们可以使用触发器



这就是你如何在两个蓝图类之间直接通信



你可以使用的另一种方法以便您的角色和其他对象之间的对象之间进行交流
我将选择一个静态网格新子类,下一步是我们需要将选择转换为蓝图类



在命名部分我将其称为BP_DoorOpenTrigger



添加碰撞盒







接下来我们创建一些逻辑事件上,从演员点开始重叠,我只是要拖到这里并放下,我要搜索 BT 第三人称,所以我将选择 BP 第三人称角色,这将投射到我的第三人称角色



回到我们角色蓝图逻辑,之前我们有这个逻辑当你按 E 键时,我们有这个触发器,我们会打开和关闭门,我要在这里创建两个自定义事件,所以我要正确单击此处并说自定义添加自定义事件我将命名我的第一个自定义事件




要回到我的 BP 门触发器,在这里我要通过拖放连接我的事件到这里门,打开门从这个触发器打开我要选择它,现在它会做的是当我们重叠我们的角色时它会投射到我们的角色蓝图。所以这将调用我们的角色蓝图这将调用事件门从触发器打开并将






下一步我们关闭这个门,我们需要右键单击我们需要说事件并重叠这个事件演员并重叠和 这将做的是当我们的角色走出时,它会调用另一个事件
角色蓝图




Actor蓝图







了解他与什么对象交互,所以第一步是我们需要我们的胶囊体放入节点,获得胶囊体装机的世界位置,①我们需要知道我们角色,②我们需要知道角色面对的位置,③创建两个浮点向量镜头和一个向量半径



①将两个向量相加我要搜索加号,所以我需要添加两个向量得到位置和得到前进的向量,创建的这个变量拖放进我们事件节点中,我把70放在矢量透镜上,我把20放在矢量半径上
②我们的前向矢量和我们的矢量长度相乘
③把它连接到,我们将把它加到我的世界向量中,因为我们希望我们的球体从我们的角色向前移动,而不是与我们的角色处于相同的位置
④搜索球体轨迹通过通道
⑤我们想从 get word vocation 开始
⑥球体大约以这个 Vector 的长度结束,它在半径中,它定义了我们球体的半径有多大
⑦绘制类型选择持续时间
⑧通过键盘触发




它总是从躯干的胸部在我的角色面前投射



我们创建我们的蓝图界面;我们可以在每个对象的蓝图脚本中调用它




双击打开然后右上角重新命名



选择蓝图下方可以添加:输入与输出



来到我们仙人掌BP蓝图中,你需要做的是点击添加,我们需要搜索我们的界面 BP 与对象在这里交互你可以看到一个带有几个箭头的齿轮这是一个界面,现在我将它连接起来我要 编译并保存



我们需要从球体投射一条消息这两个物体将接收到该消息,以及我们如何做到这一点。选择我们的角色编辑BP,我们需要投射消息以开始与我们的物体交互,这里有个信封表示向其他对象传递消息,所以当我们创建我们的球体时,当我们按下 E 键时我们创建了我们的球体,我们将此消息传递到这里



进入仙人掌蓝图,我要搜索与对象交互事件,这样我们就可以调用函数,我们可以访问类,我们需要做的是我们需要调用这个事件,在右上角你看到一个界面图标这是界面图标带箭头的时钟。所以现在我们正在调用这个事件这个事件将执行我们的逻辑

我要把静态网格放在这里,我要使用比例设置相对






#事件调度

我们这里有这个角色我们有门、有仙人掌等,当我们踏上这个平台时,我们将发出一条消息,这条消息可以被这里资产接收,它们可以做不同的事情,所以事件调度是在这个特定示例中通过我们的角色发送的消息,其他项目一直在收听此消息。例如仙人掌可以等待他收听的消息以便旋转

进入角色蓝图创建事件调度,这将是我们的消息,它将在我们的场景中旋转对象,转入场景选择呼叫功能。我们了消息的调用



接下来我们需要通过对象接收此消息,我要做的是事件当游戏开始时我们需要投射到第三人称角色开始监听事件,仙人掌听第三人称角色事件,再次广播我需要获取播放器控制器并将获取播放器控制器连接到我的对象,所以现在我们正在从这个仙人掌中的第三人称角色获取信息



所以我要做的是右键单击此处并单击提升到变量,第三人称玩家参考我们引用这个变量到,接下来我们的第三人称角色发送的事件做一些事情,所以我们需要从它那里接收数据,所以我要拖放到这里也就是我们刚创建的事件
创建一个自定义事件



仙人掌连接到我们的第三人称角色从演员到第三人称角色,然后我们设置了一个变量,第三人称玩家引用,它将事件绑定到旋转对象调度器。我们现在将这个变量绑定到旋转对象调度器,这个事件当我们调用旋转对象调度器时我们总是调用这个旋转仙人掌,所以每次我们的角色发送这个消息。这个消息调用这个事件这就是你如何将事件调度器绑定到事件,并且这个事件可以执行不同的这里的逻辑。另一件事是对象旋转,另一件事是分配,当我单击分配时,它会自动为我创建事件,我不需要创建自定义事件,所以当你尝试执行自定义事件时这是最简单的方法








#如何从角色控制器接收消息特别是从事件调度接收消息
我们需要启用玩家控制器的输入,我想向您展示如何订阅事件
现在我将创建解除绑定事件,所以我要搜索旋转对象,所以我要从 rotate object dispatcher 中选择解除绑定事件,我们需要连接作为目标引用的第三人称玩家,我们正在解除与第三人称玩家的绑定,设置一个键盘快捷键,我将使用 U 键键盘,开始播放后我们按下U键后再开门仙人掌就不会倒了






本期笔记分享就到这里,我们下期见!

评分

参与人数 3元素币 +19 活跃度 +9 展开 理由
Chen23 + 8 + 2 大爱
auldark + 5 + 3 超赞
zhangting1... + 6 + 4 想要成大触,天天上元素。

查看全部评分

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表