【虚幻4】学习总结4-蓝图碰撞与蓝图间的通信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shangdi712/article/details/50454774

由于上周考试一周,所以虚幻的学习断了一周,博客也断了一周

最近正好学习蓝图碰撞和蓝图间通信的有关部分,所以,我正好在此记录一下,首先是蓝图和角色间的碰撞,比如下面这个蓝图


蓝图与玩家间的碰撞,其实和触发器触发事件有点像,首先,通过OnComPonentBeginOverlap 来判断,主角或者其他东西,是否与物体发生了碰撞,如果发生碰撞的话,就这这个蓝图所在的位置,发射一个粒子发射器,里面添加的是爆炸效果,爆炸之后,让主角的速度变成1500,然后销毁这个蓝图就好了,这个蓝图的逻辑依然是很简单的,那个Cast To Character 这个按照官方的文档说,他就是获取Charater并且把它转换成这个蓝图的Character,这样,他可以获取这个对象的一些通过Get获取不了的特殊属性,这个蓝图完成的功能就是,主角一碰到对应物体,物体爆炸,然后主角移动速度变为1500

接下来就是蓝图间的通信,蓝图间的通信,除了简单粗暴的Get,Set之外,主要有两种方法,一种是通过Custom Event 来封装成个函数(暂且就叫它函数),然后在Level BulePrint里面调用就可以了,第二种方法就是通过Event Dispatche 来实现事件调度

首先是第一种,如下图

(类蓝图)


(层蓝图)


这个蓝图的逻辑是这样的,首先,获取物体的位置,然后将它转化为Vector,然后让MoveBy的Amount控制z轴坐标,之后在层蓝图里按下F键触发事件,调用这个Move By就好,这个很简单,这个实现的功能就是,按下F键,相应物体就向上移动20,接下来,就是第二种方式了

扫描二维码关注公众号,回复: 3779317 查看本文章

类蓝图

蓝图


这个蓝图看起来非常少,首先我们需要建立一个Event Dispatche,起名为YouHitMe,在类蓝图中,通过Event Hit来看是否碰到,这也是碰撞的一种方式,之后,Call 这个Event Disatche,然后在层蓝图中,调用这个YouHitMe,然后输出Ouch,这个蓝图实现的功能是,判断是否碰到相应物体,假如碰到了,就输出Ouch

这就是物体碰撞和蓝图间通信的内容,当然是我目前所掌握的内容,这部分可能以后会有添加,也可能,另开一个新的文章来写


猜你喜欢

转载自blog.csdn.net/shangdi712/article/details/50454774