投稿者 tel | 2013年9月6日

Unityでアニメーションを一時停止する

アニメーションのspeedを0にすれば一時停止できるみたい。

http://answers.unity3d.com/questions/180839/animation-pause-on-button-press.html

他にはアニメーションを止めた時のtimeを覚えておいて再生するときに設定しても一時停止できた。

private bool stop = false;
private float time = 0.0f;

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        if (!stop)
        {
            time = animation[animation.clip.name].time;
            animation.Stop();
            stop = true;
        }
        else
        {
            animation[animation.clip.name].time = time;
            animation.Play();
            stop = false;
        }
    }
}

animationのコンポーネントをenable = falseにしても止まったが、再度enable = trueにしたらアニメーションのフレームが飛んでしまっていた。
どうやら時間で見ているようなのでenable = falseの間に時間が経過してしまっているとうまくいかないようだ。


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。