Unreal 5 实现丧尸伤害和死亡

这篇具有很好参考价值的文章主要介绍了Unreal 5 实现丧尸伤害和死亡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这一篇主要是实现玩家攻击丧尸可以造成伤害和自身血量为零时,丧尸可以死亡。丧尸也可以对玩家造成伤害,有攻击范围的判定。
这一篇的功能实现有四个功能:

  1. 丧尸被攻击掉血
  2. 丧尸死亡处理
  3. 玩家被攻击掉血
  4. 玩家死亡处理

丧尸被攻击掉血

子弹的修改

首先在子弹父类里面进行命中事件判断命中的类型是否为丧尸,我们之前在做射击功能时,实现了武器命中静态物体时根据物体表面的材质播放不同的粒子效果。现在需要增加对命中丧尸后的处理。
Unreal 5 实现丧尸伤害和死亡

在击中丧尸函数里面,首先创建两个粒子特效,一个是血液飞溅的特效,另一个就是血雾的特效,来模拟真实射击后产生的效果
Unreal 5 实现丧尸伤害和死亡
后面就是一个伤害的判定,从命中结果中获取命中的骨骼名称,如果是头部使用内置节点应用伤害100,如果其它部位应用伤害34,假如我设置丧尸血量为100,命中头部相当于一枪爆头,没有命中头部,三枪也能打死。
Unreal 5 实现丧尸伤害和死亡
最后在命中的位置播放一个命中音效
Unreal 5 实现丧尸伤害和死亡
给与物体冲量函数主要实现的是命中物体如果可以模拟物理效果,可以给与它一个冲击的效果。
Unreal 5 实现丧尸伤害和死亡
最后记得将子弹销毁
Unreal 5 实现丧尸伤害和死亡

丧尸蓝图的修改

首先修改丧尸蓝图的碰撞体,丧尸蓝图基于charactor蓝图制作,里面包含了两个碰撞体,一个是胶囊体的碰撞体,另一个是在模型上面的碰撞体。
在胶囊体上面,忽略掉相机,物理身体和子弹。忽略这三样很好理解,忽略相机是为了防止丧尸阻挡相机弹簧臂,物理身体是因为丧尸后续要模拟物理效果,忽略子弹是子弹击中胶囊体碰撞体不会触发事件,只有击中躯体才会触发命中事件。
Unreal 5 实现丧尸伤害和死亡
在丧尸的网格体上面,我们要启用查询和物理,将身体设置为物理躯体,忽略相机,最重要的是要阻挡子弹,这样就可以实现子弹击中丧尸躯体会有事件的相应。
Unreal 5 实现丧尸伤害和死亡
接下来,我们需要使用一个系统封装好的事件,事件任意伤害,这个事件可以在你受到任意伤害时被调用
Unreal 5 实现丧尸伤害和死亡
事件首先判断减去受到的伤害后血量是否小于0,
Unreal 5 实现丧尸伤害和死亡
小于0了以后,就要触发死亡,死亡只会触发一次
Unreal 5 实现丧尸伤害和死亡
如果没有死亡,将播放受击动画,并降低移动速度,
Unreal 5 实现丧尸伤害和死亡
定时器调用的函数 从受击状态恢复 关闭受击状态,恢复移动速度,以及,如果离得比较远,丧尸没有发现玩家,还会调用AI控制器的新事件,让控制器调用AI行为树去攻击玩家。
Unreal 5 实现丧尸伤害和死亡
在AI控制器中,它也会去调用视觉感知回调后面的内容,主要是在丧尸没有发现玩家,被玩家攻击时,能够及时的去实现追逐攻击玩家事件。
Unreal 5 实现丧尸伤害和死亡
有了状态变量,我们只需要在动画蓝图里面根据变量切换动画即可。这里我图省事,直接在动画蓝图去获取丧尸蓝图的变量的值去修改
Unreal 5 实现丧尸伤害和死亡

动画蓝图的修改

状态机里面的状态切换也是根据变量直接切换
Unreal 5 实现丧尸伤害和死亡
由于攻击和受击时,我设置了都可以在移动中进行,所以,状态内部的动画,我们需要进行动画混合,这里使用的是基于骨骼混合,只混合上半身,下半身使用默认移动的动画
Unreal 5 实现丧尸伤害和死亡

丧尸死亡后处理

如果丧尸的血量小于0,会触发死亡事件,执行死亡的相关处理。
Unreal 5 实现丧尸伤害和死亡
死亡事件中,先将死亡的变量设置为true,好多事件都需要在状态未死亡才会触发,并修改了移动速度和攻击状态。
Unreal 5 实现丧尸伤害和死亡
然后开启了丧尸的物理模拟效果,并且关闭胶囊碰撞体,丧尸死亡后不能在阻挡角色。
Unreal 5 实现丧尸伤害和死亡
关闭的追逐音效,并在一定时间后销毁actor
Unreal 5 实现丧尸伤害和死亡

丧尸攻击玩家实现

要实现丧尸攻击范围的检测,丧尸默认不会持有武器的,所以,我们需要获取丧尸的胳膊肘和手这两个骨骼的世界坐标系下的位置,然后通过这两个起始坐标,生成一条检测区域来检测攻击时,胳膊是否接触到玩家。碰撞体接触到玩家角色,将给玩家角色蓝图应用一个伤害。

动画通知

首先,我们创建三个动画通知,通过丧尸攻击角色播放攻击动画时,触发查询事件,使用通道检查对玩家进行碰撞检测。三个通知分别是攻击开始,攻击结束,以及设置攻击检测的骨骼。
Unreal 5 实现丧尸伤害和死亡
在动画里面,添加通知
Unreal 5 实现丧尸伤害和死亡
第一个动画通知是设置的骨骼名称
Unreal 5 实现丧尸伤害和死亡
两个骨骼名称分别是胳膊肘到中指
Unreal 5 实现丧尸伤害和死亡
第二个动画通知是通知丧尸蓝图开始检测,在结束之前,将使用定时器一直循环调用伤害判定
Unreal 5 实现丧尸伤害和死亡
第三个动画通知是通知丧尸蓝图结束检测,清除定时器,清除攻击中的角色变量。
Unreal 5 实现丧尸伤害和死亡

丧尸蓝图实现伤害判定

在丧尸蓝图中,增加伤害判定事件,然后在动画通知里面创建的命名获取到场景中的位置,然后根据开始和结束位置生成
Unreal 5 实现丧尸伤害和死亡
然后设置了一个角色变量,判断是否和上次的相同,保证每次攻击只触发一次伤害,如果是角色的攻击的话,还要更复杂一些,要做成数组,每次做循环判定。
Unreal 5 实现丧尸伤害和死亡
如果角色是首次受到伤害,那将使用内置节点应用伤害,然后播放一个粒子特效,播放一个血雾特效,让角色产生受伤特效。
Unreal 5 实现丧尸伤害和死亡

玩家受到攻击的处理

为了可以实现玩家ui上的血条有过渡的效果,需要两个血量的变量,一个是玩家的血量,另一个则是当前需要显示的血量。
Unreal 5 实现丧尸伤害和死亡
在玩家受到伤害后,首先修改血量
Unreal 5 实现丧尸伤害和死亡
ui上面的显示将使用一个时间轴去更新当前血量的值,这个值则是显示在ui上面的值
Unreal 5 实现丧尸伤害和死亡
接下来判断血量如果小于0,则触发死亡
Unreal 5 实现丧尸伤害和死亡
在处理死亡时,需要将状态修改为死亡状态,所以我们需要在状态枚举里面增加一个死亡枚举
Unreal 5 实现丧尸伤害和死亡
在死亡事件中,先修改玩家的状态,然后开启角色模型模拟物理
Unreal 5 实现丧尸伤害和死亡
死亡以后无法移动,禁用移动,并将胶囊体碰撞关闭
Unreal 5 实现丧尸伤害和死亡
接下来要创造死亡镜头,我们额外创建一个弹簧臂和相机,专门用作死亡用
Unreal 5 实现丧尸伤害和死亡
弹簧臂关闭碰撞检测,将单独运行
Unreal 5 实现丧尸伤害和死亡
死亡用相机将设置默认不激活
Unreal 5 实现丧尸伤害和死亡
死亡时,激活死亡相机
Unreal 5 实现丧尸伤害和死亡

我们还需要设置死亡时,武器从身上掉落,模拟物理的效果,所以需要在武器蓝图上面实现物理模拟
Unreal 5 实现丧尸伤害和死亡
在死亡时,判断是否持有相关部位的武器,然后从角色身材分离,模拟物理
Unreal 5 实现丧尸伤害和死亡
我们还需要一个时间轴,设置播放时间为五秒,过渡为从0到1,用于播放死后后的动画。
首先将死亡相机的弹簧臂从默认的三百向远处拉长,设置到2000过渡。
Unreal 5 实现丧尸伤害和死亡
拖出死亡相机,然后右键设置后处理设置的配置项,这个主要用于修改死亡后的屏幕后处理特效。
Unreal 5 实现丧尸伤害和死亡
然后将后期处理设置拖出线,然后点击创建,即可创建一个设置项的配置
Unreal 5 实现丧尸伤害和死亡

在设置上面,我们可以根据需要,将相关配置的引脚向外
Unreal 5 实现丧尸伤害和死亡
这里修改的是色彩矫正,还有色彩分离的效果,然后使用时间轴去修改强度
Unreal 5 实现丧尸伤害和死亡
前两个是需要传入四维变量设置,xyz分别对应rgb三通道,w是整体强度的设置

玩家受击效果

受到攻击时,播放一个2d音效,这个音效本身就玩家自己能听到,不需要播放位置处音效
Unreal 5 实现丧尸伤害和死亡
然后播放一个相机抖动的效果
Unreal 5 实现丧尸伤害和死亡
最后再从自己创建的变量数组中,选出一个动画,播放受击动画
Unreal 5 实现丧尸伤害和死亡
因为受击动画的优先级比较高,需要最后设置
Unreal 5 实现丧尸伤害和死亡
其实也可以按需要做成可以切换状态,这里就看需求了。文章来源地址https://www.toymoban.com/news/detail-500066.html

到了这里,关于Unreal 5 实现丧尸伤害和死亡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unreal 5 实现UI制作

    这一篇讲解一下unreal engine里面的内置ui插件UMG,虚幻示意图形界面设计器(Unreal Motion Graphics UI Designer)(UMG) 是虚幻引擎内置的一套ui制作工具,通过它我们能够实现平面ui,场景hud内容 首先将图片拖入到屏幕,然后设置锚点为全屏 然后将其它值设置为0 ,这样就可以自动平铺

    2024年02月13日
    浏览(29)
  • Unreal5 实现武器切换功能

    ·首先回忆一下之前在制作武器时,如何实现从后背拿武器的。我们创建了一个切换事件,判断当前是否持有武器,然后根据是否持有武器,去修改动画蓝图的变量,来触发从后面拿枪或者是否把枪放了回去。 然后在播放切枪动画时,手伸到背后时,会触发一个动画通知,在

    2024年02月08日
    浏览(42)
  • Unreal 5 实现场景环境控制组件

    我在场景中发现了一个环境控制器,这个场景实现了雨天天气和晴天风沙天气,接下来我分析一下这个天气控制器是如何实现。 实现流程: 将环境控制器拖入场景,在配置项上面设置相应的雾,主光源,天空光。 在环境控制器中去设置场景上面的相关配置。 在环境控制器中

    2024年02月10日
    浏览(51)
  • icloud照片要是关闭有什么影响?

    关闭iCloud照片将对您的设备和照片库产生以下影响: 1. 照片同步停止:关闭iCloud照片后,您的设备将不再自动同步照片到iCloud。这意味着您拍摄的新照片和录制的新视频将不会自动上传到iCloud照片库。                                     2. 存储空间释放:关闭iCloud照片

    2024年01月17日
    浏览(44)
  • 在UE4虚幻引擎中加入导航网格体边界体积后丧尸不能移动和发现玩家

    最近使用ue4做第一人称视角射击游戏发现问题,加入导航网格体边界体积后丧尸不能移动和发现玩家。下图是出现的问题图片 1.行为树:控制并显示AI的决策制定过程 2.黑板:可以看做是行为树的创建一些公有变量,外部可以修改行为树黑板的变量值,达到修改行为树状态的

    2024年02月05日
    浏览(112)
  • 网站一天要是能有一万自然ip流量能有多少钱

    网站一天要是能有一万自然ip流量,能有多少钱?大家都说至少有100元,可是放广告点击率那么低,不可能到100的吖,谁懂啊,帮我解释下呗。不值百度联盟和谷歌联盟的广告点击率, 如果一个网站的日访问量为1万,那么其收入可能会达到330元。 但是,这需要考虑到该网站

    2024年02月20日
    浏览(33)
  • UE5 伤害数字跳出

    大体思路: 1.创建一个控件蓝图。 播放动画,K透明度,文本位置。 2.创建一个控件组件。 类默认值中设置。 3.在位置处创建组件实例 自定义事件略。

    2024年01月19日
    浏览(40)
  • 甲流疫情死亡率

    甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。 输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。 输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

    2024年02月15日
    浏览(33)
  • Android上传手机图片到服务器(这篇你要是看不懂,全网没你可以看懂的了!!!)

    通过安卓app选取本地图片然后上传到服务器的整体流程步骤如下: 样式 布局代码 id:iv_image用于呈现选择的图片 id:xz用于选择图片的按钮 id:sc用于上传的按钮 流程:点击“选择图片”在本机选取图片然后呈现到ImageView中 (这个操作过程是不需要申请任何权限的) (1)获

    2023年04月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包