• Animation Rigging 如何让你的Avatar人物更具灵活性



    🎈 简介

    Animation RiggingUnity官方发布的可以对Avatar人物骨骼进行约束的工具,已经有稳定的经过验证的Vertified包体,可以将其理解为一个IK工具,使用它可以让我们的人物动作表现更具灵活性。

    Package Manager

    🎈 基本组件

    • Rig Builder
      依赖Animator组件,所以将其与AvatarAnimator组件挂载于同一个物体上,支持同时控制多个Rigs,帮助我们实现动画融合

    Rig Builder

    • Bone Renderer
      骨骼可视化组件,方便我们进行编辑、绑定,只需要将所有的骨骼节点添加到Transform集合中。

    Bone Renderer
    添加完成后,在Scene窗口看到Avatar的骨骼可以被渲染出来:

    骨骼可视化

    • Rig
      约束控制组件,与骨骼根节点位于同一层级,将其添加到Rig Builder组件的Rig Layers列表:

    Rig
    Rig Layers

    🎈 应用

    本文以两处用例来表现Animation Rigging的作用,使用的环境如下:

    • Unity 2022.3.33
    • Animation Rigging 1.0.3

    Aim Constraint

    例如你想使你场景中的NPC一直“关注”你,可以使用Aim Constraint瞄准约束:

    Aim Constraint

    • Constrained Object:被约束的物体,这里的Head是NPC的头部骨骼节点。
    • Source Objects:目标物体,这里的Head是Player的头部骨骼节点,表示NPC的头部一直看向Player的头部。
    • Constrained Axes:被约束的轴,这里只使用Y轴,表示只控制NPC头部的Y轴旋转。
    • Min/Max Limit:最小最大值限制,用于限制NPC的头部旋转角度在指定范围内。

    Aim Constraint

    Two Bone IK Constraint

    例如你想使美术提供的动作与你场景的物体更加“契合”,可以使用Two Bone IK Constraint约束,这里以一个Sit Down坐下的动作为例,如下图所示,我们可以发现Avatar坐下后胳膊与我们场景中的椅子并不是很"契合":

    Sit Down
    接下来我们为其添加Two Bone IK Constraint来改善Sit Down动作的表现:

    Two Bone IK Constraint
    RootMidTip是我们想要进行约束的骨骼节点,Source Objects中的Target是新建的一个空节点,用于控制Avatar的胳膊到指定的位置,我们将其拖到椅子的把手位置:

    Target
    左胳膊进行约束后的效果:

    约束效果
    我们可以通过插值方式来控制Weight权重数值,让约束效果逐渐起作用,使其融合进我们的Sit Down动作过程中。

    Animation Rigging中有多种约束类型,合理使用可以让我们的Avatar人物更加活灵活现。

    using UnityEngine;
    using UnityEngine.Animations.Rigging;
    
    public class Example : MonoBehaviour
    {
        [SerializeField] private Animator animator;
        [SerializeField] private TwoBoneIKConstraint constraint;
    
        private void Update()
        {
            var casi = animator.GetCurrentAnimatorStateInfo(0);
            if (casi.IsName("sitdown"))
            {
                constraint.weight = casi.normalizedTime;
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    动画融合

  • 相关阅读:
    嵌入式C语言知识复习和提高
    2023.05.28 学习周报
    08、JavaWeb启程——HTTP协议
    论文学习——Class-Conditioned Latent Diffusion Model For DCASE 2023
    矿山定位系统-矿井人员定位系统在矿山自动化安全监控过程中的应用
    Lepton 无损压缩原理及性能分析
    造轮子之集成GraphQL
    实现数字化转型的解决方案
    【无标题】
    Redis-数据过期策略
  • 原文地址:https://blog.csdn.net/qq_42139931/article/details/127954163