Unity高级动画(Animation)-动画状态机

一、动态系统种类:

  1. Animation动画状态机:是旧版的动画状态机
  2. Animator动画状态机:是新版的动画状态机,其实就是由Animation组成的(这里我们常用这个)
* Animator其实就是把Animation统一管理和逻辑状态管理的组件,更方便的图形化状态管理。而Animation就是每一个动画。

(1)首先拖拽官方的人物模型(自带Animator)

Paste_Image.png

(2)要想动画在运行后动,那就要将动画预制物的属性修改为Humanoid 如下图:


Paste_Image.png

(3)然后控制人物移动添加脚本(WSAD来移动)

public class Animation_VR : MonoBehaviour {
public Animator ani;

void Start () {
    ani = GetComponent<Animator> ();

    //ani.SetLayerWeight (1,1);   //设置权重信息(代表那个动画层,权重)
}

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

    ani.SetFloat ("Run",v);
    ani.SetFloat ("Rotation",h);
  }
}
创建一个动画状态机,编辑名称后打开
image.png

image.png

点击执行条件进行添加需要执行的动作(状态),这里需要注意的是:为了一个游戏的完整性我们需要在条件中添加执行和返回。(本文中添加的是一个奔跑的过程添加了两个执行条件才能实现人物在奔跑的过程中能随时停止)


image.png

image.png

现在点击播放就能看到随着执行的条件人物模型开始动作了

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Unity简介 1. Unity界面 Shift + Space : 放大界面 Scene界面按钮渲染模式2D...
    MYves阅读 8,463评论 0 22
  • 本笔记的原文本链接 Property Animation Overview 属性动画总览 The property...
    Jaesoon阅读 1,154评论 2 3
  • 在Unity3D的当前版本中,Animator Controller已经全面取代了原来(大概是4.x版本左右)的A...
    shimmery阅读 11,041评论 3 26
  • 1.子状态机 (1)将一组状态收缩到一个单独命名的控件中,这个控件就叫做子状态机 作用:在复杂动作很多的时候将一组...
    Joe_Game阅读 3,548评论 0 7
  • 上一章目录 “老头,你怎么可能爬的这么快?”我哼哧哼哧的从下水道里钻出来,没有想到老人早已经在空地处等待了。“也许...
    姬磊阅读 343评论 0 1