猴面鱼科技:UE4_骨骼的分层混合(下半身的独立思考)
Posted 宽生工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猴面鱼科技:UE4_骨骼的分层混合(下半身的独立思考)相关的知识,希望对你有一定的参考价值。
按骨骼分层融合(AnimNode_LayeredBoneBlend)是个比较重要的动画节点,特别是做动作游戏,攻击动作中会频繁使用到此节点,具体的原理和操作我们用一个案例来说明:
<1>丧尸的追击
当丧尸追击玩家的时候,丧尸播放attack动画,手部有攻击动作,但是脚步还是攻击动画时候的脚步动作,这样会导致如果丧尸在移动的同时做攻击动作脚步会出现在地上滑行的动作,这样看起来就很不美观和流畅!
所以我们的解决方法是使用这个动画节点:
节点说明:
BasePose:基础姿势
丧尸的idle/walk/run 都可以称之为基础姿势
BlendPose:混合姿势
在这里需要混合的是attack蒙太奇动画
BlendWeights:混合深度
0为不混合 1为混合
通常我们可以通过布尔值来控制此节点
解决方案:
首先我们要确认上半身和下半身是由人体的哪几个骨骼进行控制的
骨骼名称:
1. pelvis盆骨
2.thigh_l 左大腿(下半身)
3.thigh_r 右大腿(下半身)
混合深度理解:
实际上我们需要混合的是攻击动画,所以只需要上半身的攻击动作 所以我们从pelvis(盆骨)以上开始混合保留住上半身的攻击动作,下半身不进行混合 混合深度的值给的越大 混合强度越大,因此下半身th_l和th_r给-1值,上半身给3-4值即可,也可以自己通过给值去调试出最好的效果
以上是在运动过程中的解决方案,可以实现丧尸边奔跑边攻击的动作效果,解决了丧尸在地上飘移走滑步
但是如果在停下来攻击的时候 会发现attack动画的腿以下还是有偏移的情况下,可以把混合深度进一步的减小 从而让丧尸下半身更自然紧紧贴合地面!
好了我们来看一张效果图:
动画蓝图展示:
这里需要混合的是插槽姿势,也就是蒙太奇动画(attack动画),所以我们把对应的姿势进行对应的存储(savepose)
1.BasePose:基础姿势(此姿势包含动画状态机里的idle/walk/run)
2. BasePose + slot插槽=SlotPose(此姿势就得到了基础和包含攻击动作的姿势)
然后BasePose连接BasePose(基础姿势)
SlotPose连接 BlendPose(需要混合的姿势)
这里需要注意的是:
1.是否需要混合旋转和缩放
2.如果需要添加多个混合姿势:
Blednweight0 对应的是Blendposes 0
Blednweight1 对应的是Blendposes 1
结语:
本文通过动画蓝图里的每个骨骼的分层混合节点有效解决了在我们日常开发动作游戏出会经常遇到的一些动作不流畅不协调等问题,上面只列举了作为怪物攻击的一种案例,希望对大家有一定帮助,也可以举一反三,后续有空会继续和大家分享一些干货!
UE4 分层材质 Layerd Materials
在UE4中最正规的材质制作流程就像:
-
建立新材质,并将其调整为达至完美。
-
在内容浏览器中,建立新材质函数,并将所有材质函数节点复制/粘贴到其中。
-
将网络连接到新的 Make Material Attributes(建立材质属性)节点,并将其连接到“函数”(Function)输出。
-
保存该函数。
-
将该函数从内容浏览器拖放到材质编辑器中。现在,它变为材质层。
-
使用材质层混合函数将多个材质层混合到一起。
该流程的具体步骤:
1,新建材质,将材质调好
2,新建材质函数,复制该材质,将材质函数暴露到函数库,使用MakeMaterialAttribute即可创建跟材质的最终输出一样的节点,在材质中勾选use material attribute就能让材质的输出节点合成一个Material Attributes
3,在最终的材质中引入各个材质层即各个调好的材质函数,通过MatLayerBlend_Standard等节点进行混合。
材质层混合:
制作类似这种图片,通过各通道的值当做混合函数的alpha值来决定模型的每个部位使用哪个材质层。
使用材质层的优缺点:
简化最终材质,看起来没那么乱,便于修改,需要修改哪部分材质只需要到对应材质函数修改,做好的材质层可以复用,
虽然分层材质非常适合于处理多材质设置,但使用这些材质时务必小心谨慎。它们可能会对性能产生严重影响,简而言之,如果您 可以 应用多个材质来代替使用分层材质,请这样做。如果您 必须 对材质的放置位置进行逐个像素的控制,请使用分层材质。
以上是关于猴面鱼科技:UE4_骨骼的分层混合(下半身的独立思考)的主要内容,如果未能解决你的问题,请参考以下文章