Unity功能点---动画控制BlendTree的使用和说明

温故而知新

记录一下BlendTree的简单使用和说明,这里只针对二维动画的使用

先添加一个动画控制器,添加一个空的动画名字叫Run:

然后右键点击Run,添加一个BlendTree:

右键添加的BlendTree添加动画,赋值:

设置BlendType,我这里就是设置的笛卡尔坐标控制,动画只受自身坐标值影响,设置Parameters的参数名字。并且在控制器添加这两个Float参数:

这两个参数dir和speed分别对应Motion的Posx和PosY,设置PosX和PosY的值,对两个参数的值进行控制达到设置的PosX或者PosY的值就会进入对应的动画。从上面设置我们可以读取到RunLeft动画需要(PosX)dir的值达到-1,Run的动画需要(PosY)speed达1,那么Idle动画需要PosX和PosY不变。

下面写一段代码控制dir和speed的值,并且在运行状态下手动修改PosX和PosY进行观察:

using UnityEngine;

public class Test : MonoBehaviour
{

    private void Update()
    {
        BlendTreeTest(); 
    }

  
    public void BlendTreeTest()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");

        AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);
        if (info.shortNameHash == Animator.StringToHash("Run"))
        {
            anim.SetFloat("dir", h, 0.1f, Time.deltaTime);
            anim.SetFloat("speed", v, 0.1f, Time.deltaTime);
        }
    }
}

WS控制前进跑步和后退,AD控制左右转向,停止按键进入待机动画,看看效果:

基本就是这样的,以后接触更复杂的在补充

欢迎加群:4364930讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值