【蓝图】p36-p39蓝图通信、自定义事件、类型转换、角色移动速度、触发加速

p36蓝图通信和自定义事件

蓝图通信

在Unreal
Engine(UE)中,蓝图通信是指蓝图之间的信息传递和交互过程。蓝图是UE中用于创建游戏逻辑和功能的可视化编程工具,而蓝图通信允许不同蓝图之间发送和接收数据。

蓝图通信可以通过以下几种方式进行定义:

  1. 事件(Event):事件是一种触发式的通信方式,一个蓝图可以定义一个事件,在特定的条件满足时触发,并向其他关联的蓝图发送信号。其他蓝图可以通过绑定到事件的节点来接收并响应该事件。

  2. 函数调用(Function Call):蓝图可以通过函数调用向其他蓝图发送消息。函数可以在一个蓝图中定义,在需要的时候可以调用该函数,并传递参数给目标蓝图。目标蓝图可以接收参数并执行相应的逻辑。

  3. 接口(Interface):接口允许多个蓝图之间通过共享功能来进行通信。接口允许定义一组函数和事件,这些函数和事件可以在不同的蓝图中实现,并通过接口进行调用和触发。

  4. 委托(Delegate):委托是一种方法回调的机制,允许在一个蓝图中定义一个委托事件,并将其绑定到其他蓝图中的函数。当委托事件被触发时,绑定的函数会被调用,并执行相应的逻辑。

通过这些定义方式,UE中的蓝图可以进行灵活的通信和交互,实现复杂的游戏逻辑和交互效果。

自定义事件

在Unreal
Engine(UE)中,自定义事件是一种在蓝图中定义的特定条件下触发的事件。它允许在蓝图之间进行通信和交互,以实现特定的功能和逻辑。

自定义事件通常具有以下特征:

  1. 定义位置:自定义事件是在蓝图编辑器中创建和定义的。你可以在任何蓝图中创建自定义事件,包括角色蓝图、关卡蓝图和动作蓝图等。

  2. 触发条件:自定义事件通过设置特定的条件来触发。这些条件可以是某个变量的值、某个时间的流逝、某个触发器的触发等。

  3. 输入参数:自定义事件可以定义输入参数,以便在事件触发时传递数据给其他蓝图。输入参数可以是任意类型的数据,如整数、浮点数、布尔值、向量等。

  4. 事件逻辑:自定义事件可以包含一系列节点,用于定义事件被触发时所执行的具体操作和逻辑。这些节点可以是变量修改、函数调用、复杂的逻辑运算等。

  5. 事件触发:在满足触发条件后,可以通过调用自定义事件节点来触发事件。触发事件会执行该事件内的所有逻辑,并且可以将输入参数传递给其他蓝图。

通过使用自定义事件,你可以实现不同蓝图之间的相互通信和交互,以实现复杂的游戏逻辑和功能。它提供了一种灵活和可扩展的方式来组织和管理蓝图中的事件触发和响应。

p37类型转换

加速功能

目标:实现与加速物体碰撞后触发加速功能
创建Actor蓝图类重命名为“出发加速_BP"
在组件添加Box Collision触发盒子
打开事件图表,添加蓝图“组件开始重叠”和“组件结束重叠”
添加蓝图”类型转换为ThirdPersonCharacter“(目标是玩家操纵的角色)

类型转换

要更改另外一个类里面的数据一些变量,就需要类型转换到对应的对象,产生联系,之后再更改里面变量

请添加图片描述

需要和谁产生联系就用Object节点连接 因为类型转换为ThirdPersonCharacter,所以,玩家触发的就会走执行输出引脚
其他东西触发的执行CastFailed引脚(类型转换失败) As Third Person Character处引脚:类型转换完成后,可以通过此引脚获得类里的变量

请添加图片描述

p38创建自定义事件

打开蓝图ThirdPersonCharacter,在组件中可以看到”角色移动CharMoveComp(继承)“这个组件里包含了很多运动,行走、游泳、飞行等

在蓝图ThirdPersonCharacter中,我的蓝图中,图表,新建图表,重命名为“触发加速”
请添加图片描述
打开”触发加速“图表,搜索custom event(自定义事件),重命名为"触发加速_Event",拖拽ThirdPersonCharacter进入蓝图,搜索set max walks
请添加图片描述

选择设置Max Walk Speed(最大步行速度)(这一步可以手动更改了当前行走速度,但是此次目的是碰撞触发盒子后在触发盒子一边的蓝图进行更改速度,如此这个自定义事件就可以用于更多的蓝图(可拓展性))
从Set的Max Walk Speed输入引脚拖出引线拉到"触发加速_Event"蓝图上可以显示添加引脚到节点

请添加图片描述

p39实现触发加速

从类型转换的As Third Person Character引脚处拉出引脚搜索”触发加速 Event“
调整最大行走速度的值即可,蓝图如下
请添加图片描述
如此即可在进入此”触发加速_BP“的区域时加速,离开此区域减速(可以实现冰面等效果)
举一反三,此功能可以实现和火焰重叠扣血,吃药加血等事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要调用蓝图自定义事件,需要在蓝图中创建一个自定义事件,并将其公开为可调用的函数。然后,在蓝图外部的其他蓝图蓝图实例中,可以使用“执行自定义事件”节点来调用该事件。 以下是调用蓝图自定义事件的步骤: 1. 在蓝图中创建自定义事件蓝图编辑器中,选择要添加自定义事件的节点,然后在节点上右键单击并选择“添加自定义事件”。命名事件并添加所需的输入和输出参数。 2. 公开自定义事件蓝图编辑器中,选择要公开自定义事件的节点,然后在节点上右键单击并选择“公开为函数”。这将使自定义事件可在蓝图外部调用。 3. 调用自定义事件蓝图外部的其他蓝图蓝图实例中,使用“执行自定义事件”节点来调用该事件。将要调用的蓝图自定义事件名称作为节点的输入参数。 例如,假设您有一个名为“MyBlueprint”的蓝图,并且在其中创建了一个名为“MyCustomEvent”的自定义事件。要从另一个蓝图调用此事件,可以按如下方式使用“执行自定义事件”节点: 1. 添加“执行自定义事件”节点到蓝图中 2. 将“执行自定义事件”节点连接到要触发事件的目标蓝图 3. 在“执行自定义事件”节点的输入面板中,选择要调用的蓝图自定义事件名称 4. 配置自定义事件的输入参数(如果有的话) 5. 触发“执行自定义事件”节点,以触发目标蓝图中的自定义事件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值