欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity--Animation Transitions(动画过渡)

程序员文章站 2022-07-13 22:07:21
...

动画过渡:是指一个动画状态过渡到另外一个时发生的行为事件。

Unity--Animation Transitions(动画过渡)
各个参数的含义:
Has Exit Time:在Exit Time时刻发生过渡动作。如果勾选此项,并且设置了过渡条件,则需要到达Exit Time 并且满足过渡条件才能发生过渡的动作。两者有一个不满足都不会发生过渡动作。 如果希望满足了过渡条件就立即发生过渡动作,建议取消勾选此项。

Transition Duration:从一个动画过渡到另一个动画需要的时间。如果勾选了Fixed Duration,时间的单位为秒。

Transition Offset:意思为一个动画过渡到另一个动画,另一个动画从哪里开始(如果你的Transition Offset为0.5,动画会在50%处开始播放,并不会从0%开始播放)。

Interruption Source:打断优先级。如果 一个动画正在播放,突然某个动画达到了播放条件,则会打断正在播放地动画,播放达到条件的动画。

Conditions:决定动画过渡在何时被触发。一个Condition包括:①一个事件的参数。 ②一个可选的断言。③一个可选的参数值

Animation Parameters(动画参数)
*Animation Parameters:是一系列在动画系统中定义的变量,可以通过脚本来进行访问和赋值。
Unity--Animation Transitions(动画过渡)
在Animator中的Parameters中可以设置动画参数,点击右上角的加号。
参数的四种类型:
Float:浮点型
Int:整型
Bool:布尔型
Trigger:触发一个布尔值

在设置好参数后,点击两个动画中间的连线,在Conditions设置过渡条件。

Unity--Animation Transitions(动画过渡)
设置后,就可以在脚本中使用Animator类函数来赋值,包括SetTrigger,SetFloat,SetInterger和SetBool.

using UnityEngine;
using System.Collections;
public calss Simpleplayer:MonoBehaviour
{
Animator animator;
bool isWalk;
void Start()
{
animator=GetComponent<Animator>();
}
void Update()
{
float h=Input.GetAxis("Horizontal");
float v=Input.GetAxis("Vertical");
isWalk=h!=0||v!=0;
animator.SetBool("isWalk",isWalk);
}
}