67. UE5 RPG 创建法师敌人角色

我们设置的敌人类型分三种,分别时战士类型,远程射手,和法师类型。在前面,我们创建了战士和射手类型的,还没有法师类型的,在这一篇文章中,我们创建一个法师类型的角色。

在64. UE5 RPG 创建新的双手攻击怪物里,我们创建了一个新的战士角色,而且也整理角色创建的所需的内容,这里我们将创建敌人的通用的内容省略掉,只解释一下不同的地方。

创建蓝图

我们基于敌人基类创建角色蓝图和动画蓝图

调整胶囊体,设置模型

添加武器,发现武器没有放到手上

我们在代码中,将武器添加到角色身上是通过命名"WeaponHandSocket",证明角色没有这个插槽

在角色的网格体上面添加一个

武器就被正确的添加到了手上

然后我们在动画蓝图中覆盖IdleRun的资产,让角色可以在待机状态和移动状态的动画顺利切换

将动画蓝图设置给骨骼网格体

记着,我们要修改角色的类型和移动速度

添加战斗相关

首先将攻击根运动开启,我们接下来创建攻击相关,创建攻击和受击的蒙太奇

攻击记得设置MotionWraping和事件通知

由于我们有发射火球时的声音,所以,我们尝试在蒙太奇中添加发射的声音(不同于角色)

萨满敌人是使用武器攻击的,我们设置通知是武器,并且在武器骨骼节点上设置技能释放位置。

资产创建完成以后,我们将数据设置到角色蓝图身上。

创建技能

现在角色缺少一个技能来实现攻击。我们基于之前的GA_RangedAttack,创建一个它的子类,用于定义敌人萨满的技能。

这里我们直接创建萨满使用火球术

然后打开蓝图修改默认值,我们使用火球术的配置,将生成的投掷物的类改掉,伤害类型也修改为火焰伤害

创建完成以后,记得将其添加到数据里面,设置它会被初始化

死亡溶解效果

最后就是制作死亡溶解效果,这个就是老生常谈了,我们可以编辑一个它专用的,或者基于通用的专门制作一下。在正常项目中,都是制作一个通用的材质,只要使用这个材质的模型,都使用它的材质实例,也方便后续增加功能,我们也不需要再去修改每个模型的材质。

我们将基础的PBR设置和溶解效果节点合并到一起

PBR这里需要三张图

我们将其设置为参数,这样在材质实例中可以修改掉使用的贴图。

如果需要修改什么,就勾选以后,即可修改

按照同样的方式,创建一个武器,设置完成,设置给角色蓝图

相关推荐
旖旎夜光2 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
ShineWinsu2 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
俊俊几年的4 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c
老歌老听老掉牙1 天前
案例 7:二维 Rosenbrock 函数最小值(香蕉函数)
c++·pso
Severus_black1 天前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl
xiaoye-duck1 天前
《C++ 项目:手写大模型接入 SDK》DataManager数据管理模块:SQLite持久化存储
开发语言·数据库·c++·sqlite
是main不是漫1 天前
【C++——类和对象(上)】筑基篇:以封装奠定面向对象之基
c语言·开发语言·c++
小七在进步2 天前
string的使用(1)
c++·visual studio
白杨尚青2 天前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
kloc2 天前
聊天室项目入口网关子服务的实现
linux·c++