90天入门UE引擎开发--学习日记(57/100)

在僵尸蓝图里加上之前做好的接口

原先接口的样子: 

 

僵尸受击与两方面有关

1.受击的部位

2.受击的方向角度

骨骼重定向(换新的皮肤)

UE4:点对点(骨骼对骨骼) 

UE5:线对线(一整条对一整条)

选中新的模型,右键骨骼-》Assign Skeleton 

选择要重定向的骨架,接受

 再一次选择点击新皮肤,右键创建并制定

 

自动生成的碰撞还需要手动调整一下 

 

 之后就可以直接用BP_Zombie换上刚刚的皮肤了

 运用之前的  获得骨骼的名称和序号  步骤打印出骨骼名字和序列号(因为要开始做射击不同骨骼的交互)。做法大同小异,可以参考:90天入门UE引擎开发--学习日记(55/100)_不要积累问题的博客-CSDN博客在widget组件的图表里新建一个变量AI,其中的HealthPercent变量与血条的Percent绑定。新建导航网格体边界体积,拖入场景,放大,铺满整个场景,快捷键P可以出现绿色。对BP_AI1蓝图里的Health变量设置广播方式为RepNotify。cable末端位置设置为0,cable对pawn的碰撞属性设置为忽略。先制作AI的血条 WB_AI_HealthBar。通过在BP_AI1写下列函数可以获得骨骼的序列号。在BP_AI1里新建一个函数Set Damage。具体系数参考官方文档↓↓↓。https://blog.csdn.net/weixin_42229060/article/details/127757844?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127757844%22%2C%22source%22%3A%22weixin_42229060%22%7D

 

方法2:ALS-运动系统解构-CSDN博客

里的 角色替换 

击中骨骼部位 决定 僵尸反馈的状态

头:Hit Death

手:模拟物理,瘫痪

腿:Crawl 状态

躯干:前身Knock Back;后背Stand Hit To Crawl

利用枚举分类

新建一个枚举EBodyParts

然后再僵尸蓝图里新建一个枚举类变量

射击身体的交互

给ApoplyHit函数新建一个输入变量Impulse

这样我们就可以接受Be Hit事件传进来的Impulse变量 

 在ABP_Zombie01中新建一个函数(输入变量如下)

 Calculate Direction函数

关闭枪的multiline trace?

将僵尸的 胶囊碰撞体 碰撞属性设置为 对Camera和MyChannel 忽略,避免影响两种枪的射线检测

前方开枪,击退

挑选一个合适的被击退动画(改成根运动,保存),创建蒙太奇 。蒙太奇动画中,把混入混出时间都改为0。

动画蓝图中需要建立默认插槽,才能调用蒙太奇动画 

 书写蓝图:

打到腿时,也是摔倒

*布娃娃系统

(*布娃娃系统:虚幻引擎动画姿势快照 | 虚幻引擎5.3文档 (unrealengine.com)

19高级运动系统解构-姿势快照与布娃娃系统_哔哩哔哩_bilibili )

找到CrawlToStand动画序列,在通知轨道右键添加一个通知CrawlEnd

 调用通知!

 在黑板里新建一个枚举

sequence Crawl调用装饰黑板变量 

 

 添加黑板键,并且在结果发生变化(变成Crawl),中止规则设置为终止 低优先级的

 给序列的条件改名字,整理一下

在僵尸蓝图里,初始化 ABP Zombie01与Aicontroller Zombie01,得到Aicontroller Zombie01变量

把Crawl状态传递给黑板 

 整理成函数SetBBMoveState (输出的枚举变量重命名为MoveState)

 

制作死亡状态 

(ps:也可以直接在死亡的动画蒙太奇末端设立一个循环播放,让僵尸们倒地之后就不再站起来,死的透透的

从蒙太奇动画里截取出一个合适的倒在地死亡的动画

拷贝出来的右键截取一下 (根动画勾选,保存)

 状态机

 左右的受击动画不要设置根运动(不然效果不明显)

打到头时,死亡

打到手臂时,瘫痪

将Rotate to FaceBB改为系统自带Move to,可以修改AI人遇到障碍物不会转弯的bug。

断开Rotate to face BB entry

阵营功能

解决爆头死亡之后,继续打还会有反应的bug

避免穿透射线连续触发: 

根据不同的伤害类型受到的反馈

新建一个枚举EDamageType

在接口里添加一个DamageType变量

 

 编译保存

 ​

 在OnFire的动画上添加定时粒子效果

 主动更改枪的伤害类型

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UE4是一款流行的游戏引擎,能够实现高质量的游戏动画制作。在UE4中,角度变化是指角色的旋转或转向动画过程。下面我将详细介绍在UE4中如何制作角度变化的动画。 首先,为角色创建一个动画蓝图。动画蓝图是UE4中用于控制动画的蓝图类,通过蓝图中的节点和参数来控制角色的动作。 接下来,在动画蓝图中添加一个与角色旋转相关的节点。可以使用"Get Actor Rotation"节点来获取角色当前的旋转值。根据需求,可以使用数学计算节点(如"Add"或"Multiply"节点)对旋转值进行调整。 然后,根据旋转的变化来制作角色的动画过渡效果。可以通过使用蓝图中的"Blend"节点,将不同的旋转角度对应不同的动画片段。使用"Blend"节点可以实现平滑的过渡,使角色动画看起来更加自然流畅。 此外,在动画蓝图中,还可以根据需要添加其他节点来控制角色的行走、奔跑、转身等动作。通过使用不同的节点组合,可以制作出丰富多样的角色角度变化动画。 最后,测试和优化角色的动画效果。在UE4中,可以通过点击旁边的播放按钮来预览动画效果。可以不断调整节点和参数,直到达到预期的效果为止。还可以使用UE4提供的动画工具和功能,如动画蓝图编辑器和动画蓝图预览器,进一步优化角色的动画。 总之,通过在UE4中使用动画蓝图和相关节点,我们可以轻松制作出丰富多样的角度变化动画。这些动画可以为游戏增添更多的细节和真实感,使玩家体验更加丰富和沉浸。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值