UE4蓝图发射子弹

    xiaoxiao2021-03-25  186

    -----------------使用UE4制作一个坦克发射子弹效果---------------------------

    首先,我们已经制作好了一个可以控制移动的坦克,参照上一篇~

    1.Edit->项目设置->输入

    Action Mappings中添加一个按键事件Fire,设置按键为空格

     

    2.制作一个子弹的蓝图类Bullet,将制作好的子弹拖进去放在00,0点。

    3.回到坦克的类中,在事件图表中找到我们创建的Fire事件

    (Pressed为按下,Released为抬起

    4.在右侧函数栏点击加号,创建一个新的函数goFire并拖进事件图表

     

    5.连接FiregoFire,我们要让按下Space,调用Fire事件的时候,再去调用goFire函数,然后去goFire函数里实现我们的功能。

    6.来到goFire函数,首先我们要在按下Space时产生子弹,所以我们使用SpawnActor

     

    选择从类生成Actor,在Class里选择我们的子弹蓝图类

     

    7.我们要设置子弹生成的位置,子弹应该生成在炮筒的位置,所以我们在组件选项里添加组件

     

    添加一个空的组件Scene,在视口里调整位置放在炮口。

    8.回到goFire里,我们需要把ScenLocationRotation赋给生成的子弹,所以我们要获取到SceneRotationLocation。最终的蓝图结构如下

     

    这样,此时当我们回到关卡中运行,按下Space,就会产生一个子弹。

    9.给子弹添加物理效果

    在子弹的类默认值中,找到Physices,勾选Simulate Physics

     

    10.此时再运行时,子弹就可以掉下来了,最后我们在给子弹一个速度

    因为子弹有物理效果,所以我们需要通过Set Physics Linear Velocity的方法给一个线性速度。

     

    这里,我们需要给子弹一个速度值,然而这个值应该是始终朝着子弹的前方的,所以我们不能直接赋值,我们需要先得到子弹的旋转,再得到子弹向Y轴的坐标,再把这个值赋给速度。

    最终的实现蓝图

     

    Speed是我们定义的一个float变量,用来控制子弹飞行的速度。

    这样,坦克发射子弹的效果就完成了!

    转载请注明原文地址: https://ju.6miu.com/read-8269.html

    最新回复(0)