简述
前几天回老家办事了,没怎么学,就跟着教程了解了一下虚幻5的资源导入和游戏打包,感觉蛮简单的没啥好讲的,这次就简述一下我写的一个碰撞蓝图吧。(这日志估计除了我本人看的懂的人不多,写的烂hhhh)
作用
如上图所示,红色区域为碰撞判定区域,当区域发生碰撞时就会让中间的小灯亮起来,并传递一个参数。
蓝图实现
蓝图方便的一点就是让编程可视化,然后把框架都写好了,自己把小函数拿过去用就行,这就导致了写起来很方便,读起来和后期改错很致命。
为了实现上述的功能因此就需要拉出一个碰撞判定的组件,这些组件均可通过点击鼠标右键直接创建。
由于框架已经给出了,所以这些函数都不需要启动调用,也就是拉出来的组件在游戏运行时会自动开始循环判定。
当碰撞产生后,就需要去判定碰撞对象是不是我们的目标,因此就拉出了这个类型转换XXX的组件,这个组件就相当于一个if(XXX==XXX),但是不完全等于if函数,只能讲可以简单地这样理解。
判定如果时这个LightBall,那么逻辑就会往下走,判定如果不是,逻辑就会往CastFailed那个箭头走。
感觉后面的逻辑就不用过多解释了,蛮简单的,就是判定是这个LightBall,那么就 设置这个灯为可视,然后延迟一下再把灯关掉。
接下来就是讲解当碰撞发生传参的实现(部分传参,只讲解此次蓝图中的传参)
下面有个获取玩家属性的东西,这个玩家属性其实就是结构体的框架
获取玩家Pawn,就是获取对象的属性,这个属性是以结构体的形式存在的,然后再加个类型转换,因为在这里获取了玩家pawn,但是没有指定对象,这个时候就需要一个类型转换,将这个pawn指定为对象lead,这样就可以调用属于lead的pawn,也就是名称为lead的结构体,然后后面就是修改其中的参数Score,也是简单的加法逻辑
Score值=碰撞发生前的Score值+碰撞发生后,LightBall中参数BallScore值。