【Unity动画分层】Avatar Mask实现上本身挥刀,下半身走路

运行效果:

先实现上半身动,按下空格键之后加上了下半身走路的动画

 1.

最上面的base层,我们创建出来是空的,不要管他。

下面的两个动画层,分别存放了一个clip,show是有挥剑的动作,run是有跑步的动作。

2.

创建一个Mask,如下:

 

点击哪个部分,哪个部分就变为红色,代表这里是不动的状态

 3.

给到ShowLayer层

 4.

再创建一个mask给到run层,只能下半身动

 

5.

代码部分,挂载到角色身上

public class Ctl : MonoBehaviour
{
    Animator animator;
    int baseLayer;
    int runLayer;
    int showLayer;
    private void Awake()
    {
        animator = GetComponent<Animator>();
        baseLayer = animator.GetLayerIndex("base");
        showLayer = animator.GetLayerIndex("ShowLayer");
        runLayer = animator.GetLayerIndex("run");
    }
    void Start()
    {
       
        //显示上半身
        animator.SetLayerWeight(baseLayer, 0f);
      
        animator.SetLayerWeight(showLayer, 1f);
    }


    // Update is called once per frame
    void Update()
    {
        //按下空格键
        //显示下半身动,同时上面的上半身动画也在执行(因为上面的权重还是为1)
        if(Input.GetKeyDown(KeyCode.Space))
        {
            animator.SetLayerWeight(runLayer, 1f);
        }
    }
}

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值