虚幻引擎中蓝图间的几种通信方式
学习了虚幻一段时间,是看的谌嘉诚的视频入的门,里面做过挺多的功能,但是在之后总是会忘记,所以这次又重新温习了一遍虚幻官方的蓝图,对蓝图通信这方面又做了一个巩固。蓝图通信在虚幻中很重要,主要有以下四种方式:
一、直接通信
直接通信的方式是最常用的也是最好理解的。比如两个蓝图类中,一个蓝图想要调用另外一个蓝图中的参数或者函数,就可以使用这种方法。
举个例子:当玩家按F的时候,灯就没了。
这里会用到初学者包中的灯蓝图,将这个蓝图拖入到场景中,打开这个蓝图,你会发现他里面的组件有一个static mesh 一个是point light。我们做开关灯其实就是对pointlight进行操作,那么我们在控制第三人称角色的时候,要如何改变这个灯蓝图中的属性呢?首先应该创建一个控制的灯的引用,对这个灯的引用进行操作。
在做完上面的操作后,回到关卡界面点击人物蓝图,记得要把我们的实例赋值给这里的引用!
二、cast类型转换
类型转换的原理是这样的:大多数情况是使用在人物身上有一个collision,然后当控制的人物触发了时,通过cast节点来改变碰到的actor中的某一变量。
三、事件分发器event dispatchers
事件分发器是使用:有一个需要发送事件的actor需要配置一个事件分发器。其他的所有的actor都可以对这个事件分发器进行监听(绑定事件到这个事件分发器器上)。当这些actor听到调用这件分发器的命令的时候,就会进行工作。
将这个事件分发器的流程比喻一下就是: 我们现在有个叫(老师)的蓝图,在这个蓝图下面有个事件分发器homework。有三个学生A、B、C,他们都在监听老师这个homework事件分发器,他们三个人听到命令的反应不一样,A是写作业B是抄作业C是撕作业。于是某一天下午,老师call了一下这个事件分发器(下发了作业),ABC三个人都听到了,然后就会开始干他们对应的事情。
就比如上图所示,我们将一个叫抄作业的自定义事件绑定给我们的homework事件分发器,当事件分发器进行执行的时候(call)就会自动执行抄作业事件的活动了!
四、接口
接口可以给多的actor进行使用,所有使用这个定义的接口的actor都可以使用这个接口中的方法。
比如我们写一个当玩家走到门面前的时候门自动开启的蓝图时,便可以通过当玩家碰到某个actor的时候,就会触发一个蓝图接口的通信,告知碰撞到的actor,现在你可以使用这个接口的方法了,如果它是有用这个蓝图的方法的话,就会使用这个方法。比如上图所示当玩家触碰到门的时候就会发送一个接口通信告诉门,门接收到这个消息的时候,就会查看自己时候有对应的使用这个接口的地方,哎有!于是就出发开门的方法。
第一次写博客,如果有不对的地方,麻烦指正谢谢。
https://docs.unrealengine.com/4.27/zh-CN/ProgrammingAndScripting/ActorCommunication/
本文就是对官网文档中蓝图通信部分的个人总结。
虚幻引擎中蓝图间的几种通信方式相关推荐
- 虚幻引擎中的反射(译)
原文链接:https://www.unrealengine.com/en-US/blog/unreal-property-system-reflection?sessionInvalidated=tr ...
- 虚幻4 python_技术前瞻:虚幻引擎中的 Python
原标题:技术前瞻:虚幻引擎中的 Python 在Autodesk University上,我们简单展示了最新的研究,它将解决CAD数据导入虚幻引擎这一复杂问题.这是Datasmith研发过程中的重大突 ...
- 元宇宙开发:你在虚幻引擎中的第一个虚拟现实游戏
了解如何开发零编程背景的Oculus Quest游戏 你会学到什么 为Oculus Quest构建应用程序 设计和开发虚拟现实游戏 在虚幻引擎中工作 使用材料和纹理 优化内容,实现移动和虚拟现实游戏的 ...
- UE4(虚幻4)中蓝图的使用
这篇文章是我看哔哩哔哩上学习的笔记,学习的地址如下: https://www.bilibili.com/video/BV164411Y732?t=168&p=15 因本人才疏学浅,如有错误之处 ...
- 《从C语言过渡到C++和虚幻引擎中的C++编程》教程①
本系列文字教程的受众对象是刚刚经历完大一上的C语言期末考试的.仅具有一定C语言基础的新生. 如果您是上述对象,在看完本系列教程之后,您将收获C++编程入门和虚幻引擎中的C++编程入门知识以及一些游戏开 ...
- 教你学会虚幻引擎中的光线追踪功能使用,此教程必看
在本教程中将展示虚幻引擎中的光线追踪功能.为了比较光线追踪引入的变化,我从头开始构建了一个独特的环境,其中包括各种材料和模块化资产.光线追踪是一个很棒的工具,可以让你更好地控制场景的视觉方面. 启用光 ...
- UE4学习-在虚幻编辑器中打开VS的三种方式
文章目录 方式一 方式二 方式三 在虚幻编辑器中打开VS的三种方式 方式一 在文件浏览器这里,选择C++类,然后在文件夹内,找到一个和截图中类似的图标,双击,即打开vs,并在vs中打开这个类的代码. ...
- 在虚幻引擎中使用Python批处理3:批量修改属性
Unreal Python API 文档: - https://docs.unrealengine.com/4.26/en-US/PythonAPI/ 在上一篇文章在虚幻引擎中使用Python批处理2 ...
- 进程间的7种通信方式(含例程代码)
下面的实验由我和我的同学完成的,这是操作系统课程的一个小实验,可以帮助理解进程间的通信. 进程间的通信 1.匿名管道 2.命名管道 3.消息队列 4.共享内存 5.信号 6.信号量 7.socket ...
- 进程间的7种通信方式全解析及代码示例
目录 1.匿名管道 2.命名管道 3.消息队列 4.共享内存 5.信号 6.信号量 7.socket 进程间的7种通信方式如下: 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在 ...
最新文章
- ORB-SLAM / ORB-SLAM2原理解读+代码解析(汇总了资料,方便大家学习)
- 学习如何写PHP MVC框架(1) -- 路由
- [渝粤教育] 中国地质大学 婚姻与家庭法 复习题
- 简单存取款机的实现---控制输入变量的规则
- Linux下environ环境变量操作函数
- 使用 Direct Initial Load 初始化 GoldenGate 同步数据
- 镜像的使用(6-13)
- [转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题
- 翻译: 4.2. 从零开始实现多层感知器MLP pytorch
- vnc远程控制软件7款,7款非常好用的vnc远程控制软件
- 【实验】基于朴素贝叶斯的新闻分类
- 我认识的文华财经指标期货高手一年时间从2万到30万的实际经历
- Android项目“error: Apostrophe not preceded by \ (”报错解决方法
- 构建 Web 应用之 Service Worker 初探
- Java 并发编程(一) 学习教程
- 使用canvas对图片进行裁切
- Vista中运行软件的兼容性测试(转)
- Field restTemplate in com.jack.springcloud.controller.DeptController_Consumer required a bean of typ
- vht160什么意思_华硕AX89X与AX200终于有160MHz了,WIFI6与WIFI5的速度对比测试-路由器交流...
- 美国500名iOS用户受害?黑客组织发动恶意广告