FC2ブログ

記事一覧

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサーリンク

Unity Animator 設定等について

こちらの続き?です

書ききれなかった詳しいところを補足したいと思います。
State、Parameter、Transitionの設定は前回の記事で説明しました。
他のところをいくつか見ていきます。

・Has Exit Time
Animatorビューのステートを選択、インスペクタを見てください

画像
Unity 161029 1

Transitions という項目に表示されているのはAnimatorビューで伸ばした矢印のことです。
Transitionsのうち一つを選択すると、画像のように設定項目が表示されると思います。

画像で示したHas Exit Time を見てください。
これにチェックを入れると、遷移元アニメーションが指定した位置まで再生される前に
アニメーションが遷移することがなくなります。
不自然なアニメーションの切り替えを無くすための設定です。

Has Exit Time の下にある Settings という項目をクリックすると詳細設定が開きます。
その一番上にあるExit Time で、Has Exit Time のチェックを入れた場合の遷移可能になる時間を設定できます。
この値は割合で設定します。例えば50%まで再生された後、遷移可能としたい場合は0.5と指定します。

2Dキャラクター歩行(イカメンくん編)ではHas Exit Timeのチェックを外してあります(デフォルトではチェックされています)。
移動方向の切り替えのようなアニメーション遷移の場合、アニメーションが再生しきる前に遷移させても問題ないかと思います。

逆にチェックしておいた方がいいのは、例えばジャンプするモーションです。
ジャンプ中にキャラクターを移動させる場合に、ジャンプが終わる前に移動アニメーションに遷移したらおかしいですよね?
さっきまで空中にいたのに、移動キーを押した瞬間に着地していたら不自然ですから
ジャンプのアニメーションが終了するまで待つのがいいでしょう。


他の細かい設定はここに載っています(Unityリファレンス)
今回は使いませんでしたが、気になる項目は探してみてください。


・Parameter
遷移の条件として設定するパラメータについてです。
パラメータの種類、追加方法、設定方法は説明しましたが
今回はもう少し詳しく。

※以下 "State" にはステート名を当てはめます。

Bool型
True 、 False の二つの値を持ちます。
SetBool("State" , true); 又は SetBool("State" , false);
として値を設定します。
Transition(矢印)のインスペクタでTrue(又はFalse)なら遷移させる、というように使います。

Trigger型
True 、 False の二つの値を持ちますが、直接設定することはできません。
SetTrigger("State"); , ResetTrigger("State");
で値を設定します。

SetTriggerでトリガーをセットしてステートが遷移した場合、値は自動でリセットされます。
Bool型は自分でtrue , false を制御して遷移させますが
Triggerの場合はその一部を自動でやってくれる、ということですかね?
ResetTriggerは遷移が行われなかった場合に手動で戻す処理だと思います?
※今度使ったらまた詳しく書きます、すいません!

Int型・Float型
それぞれ整数値、小数値を設定できます。

SetInteger("State" , 0); //Int
SetFloat("State" , 0.1); //Float
として設定します。

複数パターンに分岐する時は便利ですね。
イカメンくんの移動にもInt型を使っています。

Int , Float の場合はBoolと違って三つ以上の値を持てるので
なんらかの基準値を設けて、それとパラメータの値を比較して遷移条件とします。

Unity 161029 2

Greater 基準値より大きい 
Less 基準値より小さい  
Equals 基準値と同じ
NotEqual 基準値と違う


それぞれの意味はこうです。
※Greater , Less は基準値を含みません
※Float にはGreater , Less しか設定できません


比較方法の右に基準値を設定して、基準値値とパラメータが今持っている値(スクリプトからSetで設定)
を比較して遷移するかどうかを決定します。


以上、Animatorの補足でした!
ありがとうございました。


スポンサーサイト

スポンサーリンク

コメント

コメントの投稿

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。