Unity的Animator编辑器动画使用

Unity的Animator动画使用
Mecanim简介
Mecanim动画系统是Unity3D4.0开始引入的一套全新的动画系统,主要提供了下面4个方面的功能:

针对人形角色提供一套特殊的工作流。
动画重定向的能力,可以非常方便的把动画从一个角色模型应用到其他角色模型之上。
提供可视化的Animation编辑器,可以方便的创建和预览动画片段。
提供可视化的Animator编辑器,可以方便的管理多个动画切换的状态。
1、关键帧动画
2、动画事件系统
对于一个动画,我们还可以为其任意一帧添加一个事件:
2.1.首先,我们为Main Camera添加一个接收Event事件的组件:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerHealth : MonoBehaviour {
public void AddAnimatorEvent(string message)
{
Debug.Log(message);
}
}

2.2.下面我们在Animation窗口中的任意一帧添加一个事件,并调用AddAnimatorEvent方法同时传递一个字符串:

在这里插入图片描述

2.3.运行游戏就会看到输出了。

那么我们可以使用Event的功能做什么呢?试想一下,如果我们希望我们播放动画动作时候需要播放一个音效,就可以使用到事件的功能了
3.动画状态
3.1创建一个Animator Controller
我们在Project视图中右击菜单中可以创建Animator Controller,下面我们看看新创建的Animator Controller:
首先,我们发现的是3个默认的状态,这些状态是Unity自动帮我们创建的同时也无法删除:
Entry:表示当进入当前状态机时的入口,该状态连接的状态会成为进入状态机后的第一个状态;
Any State:表示任意的状态,其作用是其指向的状态是在任意时刻都可以切换过去的状态;
Exit:表示退出当前的状态机,如果有任意状态指向该出口,表示可以从指定状态退出当前的状态机;
3.2创建新状态*Walk,Idle
3.3状态切换
在Mecanim中,动画之间的播放不再是通过调用诸如“Play”之类的方法进行切换了,而是通过判断参数的变换来进行状态即动画的切换。

3.3.1创建多个状态,同时配置好每个状态Walk,Idle**
3.3.1.1 Idle到walk
在这里插入图片描述
3.3.1.2 walk到idle
在这里插入图片描述
3.3.2Has Exit Time**
在这里插入图片描述
我们发现线条中有一个勾选项Has Exit Time,那么它是什么意思呢?
如果我们勾选了该项,在动画转换时会等待当前动画播放完毕才会转换到下一个动画,如果当前动画是循环动画会等待本次播放完毕时转换,所以对于需要立即转换动画的情况时记得要取消勾选

还有一种情况时,当我当前的动画播放完毕后就自动转换到箭头所指的下一个状态(没有其他跳转条件),此时必须勾选该选项,否则动画播放完毕后就会卡在最后一帧,如果是循环动画就会一直循环播放。
3.4控制动画转换
我们在绑定了Animator组件的GameObject之上添加下面的新脚本组件,就可以实现通过按键来切换人物播放的动画了:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestAnimator : MonoBehaviour {
private Animator anim;
void Start () {
anim = this.GetComponent();

}
	void Update () {
    if (Input.GetKeyDown(KeyCode.W))
    {
        anim.SetBool("Walk", true);
    }
    if (Input.GetKeyUp(KeyCode.W))
    {
        anim.SetBool("Walk",false);
    }
}

}

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Unity Animator动画状态机是一种用于控制游戏对象动画的工具。它可以将不同的动画状态组合在一起,形成一个状态机。在状态机中,每个状态代表一个动画,而状态之间的转换则代表不同的动画过渡。Animator动画状态机可以通过代码或可视化编辑器进行控制,使游戏对象的动画表现更加自然和流畅。 ### 回答2: Unity Animator 动画状态机是一个非常强大的工具,它可以被用来在Unity中控制和管理角色或物体的动画。它允许开发使用最先进的动画技术,以及一系列可定制的功能来创建各种动画效果。在Unity Animator中,状态机系统动画的核心并且是非常重要的。状态机是一个包含一系列状态的图表,其中每个状态都可以使用一定的逻辑从一个状态转换到另一个状态。状态机可以非常容易地控制对象的轨迹和动画效果,从而创造出非常酷的游戏体验。 在Unity中,Animator组件是一个与对象一起工作的控制器,它可以控制Sprite、Mesh、GameObject,以及其他可见物体的动画。Animator动画状态机与控制器交互来指定GameObject在不同状态下的动画表现和响应动作的运动。Animator状态机中的每个状态都有一个名称和一些条件,这些条件在满足时会导致状态之间的转换。开发人员可以使用条件控制器中的事件和参数来更改这些条件,以使动画状态一直保持准确和高效的变化。 一个Animator状态机包括一些状态和转换条件。状态是单独的动画片段,每个状态都有一个名称、一个动画、一些参数和一些设置。转换条件指示Animator何时应该从一个状态切换到另一个状态。这些条件可以是像速度、位置或其他条件。 在Animator状态机中,我们可以添加动画状态、行为状态、转换条件和逻辑控制节点。动画状态,可以是AnimationClip动画,也可以是BlendTree层级化混合动画,这些都是状态集合。行为状态,相当于一个事件触发机制,指定各种触发条件,使得AnimatorStateMachine能够更加智能、灵活地处理动画切换。转换条件,告诉它何时去切换到另一个状态。逻辑控制节点,可以通过判断条件来控制Animator state machine的逻辑。 总之,unity animator动画状态机是非常强大的动画开发工具,提供了多个状态和转换条件,允许开发人员完全掌控游戏对象的动画状态。它提供了一种更加直观的流程,通过图形界面创建动画状态流程,复杂的游戏逻辑也更更加高效和易于理解。 ### 回答3: Unity Animator动画状态机是Unity引擎中的一个核心组件,用于给游戏对象添加动态的动画效果。Animator状态机本质上是一种有限状态机(FSM),它可以将对象的状态从一种状态切换到另一种状态,例如从静止状态到跳跃状态,或从跳跃状态到攻击状态。Animator状态机的主要功能是让设计师和开发者创建和控制游戏对象的动画,并可以轻松地将动画与对象的其他行为和属性绑定在一起。 使用Animator状态机可以让游戏设计师和开发者更加灵活和高效地创建动画。Animator状态机由以下四个基本元素组成: 1. Animator Controller:Animator状态机的中央控制器,用于管理Animator状态机中的多个状态以及它们之间的转换。 2. Animator State:Animator状态机中的单个状态,代表了一个游戏对象的动画状态,例如跳跃、奔跑等。 3. Transition:表示状态之间的过渡,可以设置触发条件和过渡时间等参数。 4. Parameter:可以控制Animator状态机中的状态转换,例如可以添加一个触发参数来控制状态转换的时机。 在Unity中创建一个Animator状态机非常简单,只需在Assets文件夹中创建一个Animator Controller文件,然后将其拖拽到一个游戏对象的Animator组件上即可。完成后就可以使用Animator状态机中的多种元素来创建自己的动画了。 总之,Unity Animator动画状态机是一种强大的游戏开发工具,它为游戏设计师和开发者提供了非常灵活和高效的动画创建和控制方式,可以让游戏对象展现更生动的动态效果,提高游戏的可玩性和视觉效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

unity学院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值