UE4蓝图发射子弹

-----------------使用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变量,用来控制子弹飞行的速度。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值