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

步骤

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

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

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

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

 这里命名为“BP_MagicProjectile”

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

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

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

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

 再添加一个操作映射

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/131703559