【UE 从零开始制作坦克】6-坦克开炮

效果

【UE 从零开始制作坦克】6-坦克开炮_第1张图片

步骤

1. 添加初学者内容包(需要用到其中的音效和粒子效果)

【UE 从零开始制作坦克】6-坦克开炮_第2张图片

2. 接下来制作坦克的炮弹

首先新建一个Actor蓝图类,作为所有发射物体(炮弹、机枪子弹等)的父类,这里命名为“TotalCategoryOfProjectile”

【UE 从零开始制作坦克】6-坦克开炮_第3张图片

打开“TotalCategoryOfProjectile”,添加一个发射物移动组件

【UE 从零开始制作坦克】6-坦克开炮_第4张图片

然后设置一下抛射物的初始速度和发射物重力范围

【UE 从零开始制作坦克】6-坦克开炮_第5张图片 

 添加一个球形碰撞组件

【UE 从零开始制作坦克】6-坦克开炮_第6张图片

 将球形碰撞组件作为根组件

【UE 从零开始制作坦克】6-坦克开炮_第7张图片

3. 创建子蓝图类

【UE 从零开始制作坦克】6-坦克开炮_第8张图片 

 命名为“TankShell”,表示坦克炮弹

【UE 从零开始制作坦克】6-坦克开炮_第9张图片

打开“TankShell”,由于美M1主战坦克的火炮口径为120mm,因此这里球形碰撞组件的半径设置为6cm

【UE 从零开始制作坦克】6-坦克开炮_第10张图片

 添加静态网格体组件

 【UE 从零开始制作坦克】6-坦克开炮_第11张图片

 赋予一个模型

【UE 从零开始制作坦克】6-坦克开炮_第12张图片

 调整静态网格体的缩放,使得球形碰撞组件能够差不多包裹住子弹模型

【UE 从零开始制作坦克】6-坦克开炮_第13张图片

 设置静态网格体的碰撞预设为“NoCollision”

【UE 从零开始制作坦克】6-坦克开炮_第14张图片

4. 打开“TotalCategoryOfProjectile”(发射物总类),设置球形碰撞组件的碰撞预设为“Custom”,碰撞响应为阻挡。

【UE 从零开始制作坦克】6-坦克开炮_第15张图片

 这样它的子类中继承的球形碰撞组件的碰撞预设也为“Custom”

【UE 从零开始制作坦克】6-坦克开炮_第16张图片

5. 打开骨骼“SKEL_West_Tank_M1A1Abrams”

【UE 从零开始制作坦克】6-坦克开炮_第17张图片

 显示所有插槽

【UE 从零开始制作坦克】6-坦克开炮_第18张图片

 可以看到炮口处有一个名为“gun_1_jntSocket”的插槽,因此我们可以使用这个插槽来生成炮弹和炮火粒子效果

【UE 从零开始制作坦克】6-坦克开炮_第19张图片

 5. 打开“BP_West_Tank_M1A1Abrams”

【UE 从零开始制作坦克】6-坦克开炮_第20张图片

 添加如下节点,实现按下鼠标左键生成“TankShell”(坦克炮弹类)

【UE 从零开始制作坦克】6-坦克开炮_第21张图片

 接下来添加开炮时的音效

6. 添加一个音效衰减

【UE 从零开始制作坦克】6-坦克开炮_第22张图片

 命名为“AttenuationOfFiringSound”,这里先保持“AttenuationOfFiringSound”的默认设置

【UE 从零开始制作坦克】6-坦克开炮_第23张图片

7. 打开“BP_West_Tank_M1A1Abrams”

【UE 从零开始制作坦克】6-坦克开炮_第24张图片

 在事件图表中添加如下节点来播放坦克开炮时的音效

【UE 从零开始制作坦克】6-坦克开炮_第25张图片

设置音效衰减 

【UE 从零开始制作坦克】6-坦克开炮_第26张图片

 接下来希望在开炮时能够展示炮口火焰。

选中“GunFire”,然后父项套接字设置为“gun_1_jntSocket”

【UE 从零开始制作坦克】6-坦克开炮_第27张图片

 同样的,选中“ShockWave”,父项套接字设置为“gun_1_jntSocket”【UE 从零开始制作坦克】6-坦克开炮_第28张图片

 将这两个粒子系统组件位置归0

【UE 从零开始制作坦克】6-坦克开炮_第29张图片

 在开炮时激活这两个粒子系统组件,这样开炮时就能看到开炮时产生的粒子效果

【UE 从零开始制作坦克】6-坦克开炮_第30张图片

 由于坦克开一炮后会存在一段装填时间,因此使用“Do Once”和“延迟”节点来模拟这个装填状态,即只有延迟时间结束后才会重置“Do Once”节点:

【UE 从零开始制作坦克】6-坦克开炮_第31张图片

 8. 接下来添加炮弹击中目标时执行的逻辑

打开“TankShell”(坦克炮弹蓝图类)

【UE 从零开始制作坦克】6-坦克开炮_第32张图片 

 选中“Sphere(继承)”,添加一个组件命中时的事件

【UE 从零开始制作坦克】6-坦克开炮_第33张图片

 添加如下节点

【UE 从零开始制作坦克】6-坦克开炮_第34张图片

 最终效果如文章开头所示。

你可能感兴趣的:(#,虚幻4,载具,UE)