Edited at

Unityで再生しているアニメーションをスキップする方法

More than 5 years have passed since last update.

@yomogi_ft さんからおしえてもらった方法の備忘録

主に↓を使うとかの話

http://docs.unity3d.com/Documentation/ScriptReference/Animation.html

Unityで演出にAnimationを使っていてスキップする方法がぱっと見つからなかったので聞いてみたらススッと答えが返って来てコレが上手く動いてくれたのでシェア(掲載許可はもらいずみ)

なおMecanim のAnimatorだと使えないのでご注意。


SkipCurrentAnimation.cs

void SkipCurrentAnimation()

{
// 現在再生中のアニメーションクリップ名を取得
// もっとよい方法があれば...
var clipName = "";
foreach(AnimationState state in this.animation) {
if (this.animation.IsPlaying(state.name)) {
clipName = state.name;
break;
}
}

//clipNameが現在の再生クリップと一致していればうまいこと動作する
this.animation[clipName].time = this.animation.GetClip(clipName).length;
}


超カンタンにできたのでもし同じ事やろうとして見つからなかった人は是非。

あとこの方法だとこういう問題あるよ!!とかあればだれか突っ込んくださいm(_ _)m

ではでは٩( 'ω' )و