先来一张animator状态机面板图:
Motion为对应的动画剪辑;speed就是动画播放的速度;normalized Time…这个不太清楚什么意思,有知道的兄dei告知一下。mirror就是将动画镜像,这个东东在某些时候还是非常有用的;cycle offset 就是 起始动画的开始时间点,列如0.5表示动画启动时从动画中间段开始播放;foot IK 脚部IK修正,如果模型动画的脚有问题,可以试下勾上这个看看;write defaults默认勾选,貌似不勾选也对动画没啥影响……;parameter勾选上,表示对应的属性可以用脚本加以控制;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Material : MonoBehaviour {
Animator warriorAnimator;
bool isChanged;
// Use this for initialization
void Start ()
{
warriorAnimator = GameObject.FindGameObjectWithTag("Player").GetComponent<Animator>();
}
// Update is called once per frame
void Update ()
{
if (Input.GetKeyDown(KeyCode.A))
{
isChanged = !isChanged;
if (isChanged)
{
warriorAnimator.SetBool("isMirror", true);
}
else
{
warriorAnimator.SetBool("isMirror",false);
}
}
if (Input.GetKeyDown(KeyCode.B))
{
warriorAnimator.SetFloat("floatL",0.5f);
}
}
}
has exit time 两个作用:1:在动画过度没有conditions的情况下,勾选has exit time ,可以让动画播放正常过渡,但是若没有勾选has exit time ,则动画无法过渡;2:在动画过度有conditions的情况下,勾选has exit time,当满足conditions,动画会先播放完当前动画然后再过度到下一个动画。如果没有勾选has exit time ,当满足conditions,动画会直接跳到下一个动画播放,也不管当前动画是否播放完毕;
再来说一说动画层和动画遮罩的事情: