【UE4 C++】08-生成抛射物来模拟攻击效果

步骤

新建一个C++类,父类为Actor,命名为“ASMagicProjectile” 

【UE4 C++】08-生成抛射物来模拟攻击效果_第1张图片

 在“ASMagicProjectile.h”中添加如下代码:

【UE4 C++】08-生成抛射物来模拟攻击效果_第2张图片

 在“ASMagicProjectile.cpp”中添加如下代码:

【UE4 C++】08-生成抛射物来模拟攻击效果_第3张图片

编译后在虚幻编辑器中新建一个蓝图,选择父类为我们刚创建的C++类“ASMagicProjectile” 

【UE4 C++】08-生成抛射物来模拟攻击效果_第4张图片

 这里命名为“BP_MagicProjectile”

【UE4 C++】08-生成抛射物来模拟攻击效果_第5张图片

打开“BP_MagicProjectile”,选中继承的粒子系统组件,模板选择“P_Gideon_Primary_Projectile”

【UE4 C++】08-生成抛射物来模拟攻击效果_第6张图片

 接下来我们希望按下某个键后,就能让角色产生这个蓝图,就像释放技能一样。

在“SCharacter.h”中申明一个基础攻击函数

【UE4 C++】08-生成抛射物来模拟攻击效果_第7张图片

在“SCharacter.cpp”中实现这个方法

【UE4 C++】08-生成抛射物来模拟攻击效果_第8张图片

 再添加一个操作映射

【UE4 C++】08-生成抛射物来模拟攻击效果_第9张图片

再在头文件中添加对“ProjectileClass”的定义

【UE4 C++】08-生成抛射物来模拟攻击效果_第10张图片

 编译后,在项目设置中添加操作映射

【UE4 C++】08-生成抛射物来模拟攻击效果_第11张图片

打开“PlayerCharacter”,在类默认值中,设置“ProjectileClass”为“BP_MagicProjectile”

【UE4 C++】08-生成抛射物来模拟攻击效果_第12张图片

 此时我们运行游戏点击鼠标左键已经能够产生“BP_MagicProjectile”,如下所示

如果觉得抛射距离太近可以增加抛射速度

【UE4 C++】08-生成抛射物来模拟攻击效果_第13张图片

 现在产生这个抛射物是从“PlayerCharacter”的中心产生的,我们希望从这个角色的手中产生。

打开骨骼网格体,找到角色右手上的插槽为“Muzzle_01”,我们准备在这个插槽的位置来生成抛射物。

【UE4 C++】08-生成抛射物来模拟攻击效果_第14张图片

在“SCharacter.cpp”中添加如下代码:

【UE4 C++】08-生成抛射物来模拟攻击效果_第15张图片

 编译后再次运行可以看到此时抛射物就从角色的手中产生了。

你可能感兴趣的:(#,虚幻4,C++,ue4)