对animation中的方法研究一二;
if (Input.GetKeyDown(KeyCode.A))
{
clip01.legacy = true; //默认为false,当为false时该动画剪辑将无法使用
//添加一个指定名称的动画剪辑到animations中,可以设置第一帧和最后一帧
//bool值--是否在最后插入一个额外的帧匹配第一帧,在制作循环动画时可以让其为true;
_animation.AddClip(clip01, "newAnimation",0,30,true);
_animation.Play("newAnimation"); //播放指定名称的动画剪辑;
}
if (Input.GetKeyDown(KeyCode.A))
{
_animation.AddClip(clip01, "newA");
//将新动画混合到正在播放的动画中,数值表示新动画在混合动画中的明显程度,数值越大,约明显;
_animation.Blend("newA",0.9f);
}
if (Input.GetKeyDown(KeyCode.A))
{
//在一定时间内淡入名称为walk的动画,并淡出其他动画。注意,walk动画在animations中必须有才行
//playmode.stopsamelayer 表示在同一层的动画将在动画淡入的时候淡出;(淡入淡出就是有过度性的切换动画)
//playmode.stopall 表示所有层的动画在动画淡入的时候淡出;
_animation.CrossFade("walk",1,PlayMode.StopSameLayer);
}
if (Input.GetKeyDown(KeyCode.A))
{
//将在一个动画播放完成之后淡入淡出下一个动画(如果正在播放的动画时循环动画那么将跳不到walk了)
_animation.CrossFadeQueued("walk");
//queuemode.completeothers 表示这个动画在其他所有动画都停止播放后才开始
//queuemode.playnow 这个动画将以一个复制的动画状态立即开始播放
_animation.CrossFadeQueued("walk",1,QueueMode.PlayNow);
}
if (Input.GetKeyDown(KeyCode.A))
{
//得到该动画组件拥有的动画剪辑数量
print(_animation.GetClipCount());
}
if (Input.GetKeyDown(KeyCode.A))
{
//判断名为attack01的动画是否正在播放
if (_animation.IsPlaying("attack01"))
{
print("名为attack01的动画是否正在播放");
}
}
if (Input.GetKeyDown(KeyCode.A))
{
//直接播放animation组件中的动画剪辑
_animation.Play();
}
//if (Input.GetKeyDown(KeyCode.A))
// {
//在前一个动画完成之后立即播放下一个动画
_animation.PlayQueued("walk");
// }
if (Input.GetKeyDown(KeyCode.A))
{
//从动画列表中移除该动画剪辑
_animation.RemoveClip("walk");
}
if (Input.GetKeyDown(KeyCode.A))
{
//倒回attack01动画剪辑,就是从头开发播放
_animation.Rewind("attack01");
}
if (Input.GetKeyDown(KeyCode.A))
{
//停止所有正在播放的动画
_animation.Stop();
//停止attack01动画
_animation.Stop("attack01");
}
if (Input.GetKeyDown(KeyCode.A))
{
//设置animation播放完之后的动作,pingpong表示动画一来一回循环
_animation.wrapMode = WrapMode.PingPong;
//播放到最后一帧,保持最后一帧的状态不会停止播放
_animation.wrapMode = WrapMode.ClampForever;
//循环播放动画
_animation.wrapMode = WrapMode.Loop;
//播放一次
_animation.wrapMode = WrapMode.Once;
}
if (Input.GetKeyDown(KeyCode.A))
{
//当渲染不可见时,动画被禁用(减小性能开销的方式)
_animation.cullingType = AnimationCullingType.BasedOnRenderers;
//动画消隐被禁用,即使物体没有被渲染也播放动画
_animation.cullingType = AnimationCullingType.AlwaysAnimate;
}