FC2ブログ
    02 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 04

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】UnityでAnimationを行ってるときに、リセットをしたかったんだけどPlayだけではリセットできなかったよ? 

    こんにちは坂内っす。
    今年もよろしくお願いします。

    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:


    アニメーションをAnimationで動かしているときに、リセットをする方法。

    色々調べたけど

    Animator.Play(ステート名);

    でできるとのこと。

    こんなコードを書いて、ボタンを押したらリセットするようにしてみた。

    [Blog20240115.cs]

    using UnityEngine;
    using UnityEngine.UI;

    public class Blog0115 : MonoBehaviour
    {
    [SerializeField] Button btnChange;
    [SerializeField] Animator animator;

    void Start()
    {
    btnChange.onClick.AddListener(() => ChangeAnimation());
    }

    void ChangeAnimation() {
    animator.Play("anim");
    }
    }





    リセットされなあああーーーーい!!!


    なんでかリセットされません。


    で、リセットする方法としては、Playの時の引数に時間を設定すればできました。

    void ChangeAnimation() {
    animator.Play("anim", -1, 0f);
    }





    これでリセットできました!

    ほかにもidleの何もしていないステートを作成し、そこからanimへ遷移するようにしたうえで、Play("idle") とかすればできるようです。


    ということで、Animationをリセットする場合の方法でした。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/1038-57604cff
    この記事にトラックバックする(FC2ブログユーザー)