unity新旧动画系统的控制

一.Legacy旧动画系统

1.rig中选择Legacy
unity新旧动画系统的控制_第1张图片
Paste_Image.png
2.animate中切好动画
unity新旧动画系统的控制_第2张图片
Paste_Image.png
3.点击场景中的模型,可以看到Animation自动把动画添加进来了
unity新旧动画系统的控制_第3张图片
Paste_Image.png
4.根据动画名字,增加脚本控制播放
using UnityEngine;
using System.Collections;

public class oldAnimateSystem : MonoBehaviour {


    public Animation m_Animate;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        if (Input.GetKey(KeyCode.W)){

            m_Animate.Play("WalkBackward01");

        }
        if (Input.GetKey(KeyCode.S))
        {

            m_Animate.Play("WalkBackward02");

        }
    }
}

二.Humnoid

1.Rig中选中旧动画Humnoid
unity新旧动画系统的控制_第4张图片
Paste_Image.png
2.animate中切好动画
unity新旧动画系统的控制_第5张图片
Paste_Image.png
3.创建状态机

把模型拉入场景中,模型就自动有了Animator


unity新旧动画系统的控制_第6张图片
Paste_Image.png

创建一个Animator Controller并赋予Animator的Controller


unity新旧动画系统的控制_第7张图片
Paste_Image.png
4.编辑状态机

把自己想要的动画拉入状态机


unity新旧动画系统的控制_第8张图片
Paste_Image.png
5.设置状态机参数

增加一个你想要切换的参数


unity新旧动画系统的控制_第9张图片
Paste_Image.png
4.增加脚本控制
using UnityEngine;
using System.Collections;

public class newAnimtionController : MonoBehaviour {
    public Animator mAnim;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        if (Input.GetKey(KeyCode.W))
        {

            mAnim.SetFloat("change", 0);
            print("0");

        }
        if (Input.GetKey(KeyCode.S))
        {

            mAnim.SetFloat("change", 1);
            print("1");

        }
    }
}



你可能感兴趣的:(unity新旧动画系统的控制)