Idle ステートから Attack0 ステートへと伸びているトランジション(矢印)をクリックしてください。
このトランジションがない場合、Idle ステートを選択した状態で右クリックをしてメニューを開き、Make Transiton を選択してください。
Idle ステートを始点とした矢印が表示されますので、これを
Attack0 ステートに矢印を繋げて左クリックして決定してください。
トランジションを左クリックで選択すると、画像のように矢印が青くなり、選択されている状態になります。
またインスペクターに、トランジションの情報が表示されます。この状態になると、トランジションの設定を行えるようになります。
Idle ステートから Attack0 ステートへのトランジションの選択(青い矢印が選択しているトランジション)
トランジション内には
Conditions という項目があり、ここに
アニメーションとアニメーションの遷移条件を設定することが出来ます。
Conditions の右下にあるプラスボタンを押してください。上に項目が追加されて、先ほど作成したパラメータから選択出来るようになります。
Attack を選択して設定してください。(すでに設定済である場合は確認してください)
Attack を選択すると、このパラメータが Trigger 型であるため、値の設定は不要です。
この条件では、スクリプトから Trigger 型の命令で "Attack" が実行されたとき、ステートを idle => Attack0 に遷移させるというものです。
遷移の条件は不要のため、命令がきたら実行されます。
Conditions にパラメータの条件を設定
また
Has Exit Time という項目がありますので、そちらのチェックを外しておいてください。
このチェックが外れている場合、遷移前のアニメーションが再生され終わるのを待たずに、遷移先のアニメーションを割り込ませて再生させることが出来ます。
つまり、待機状態から攻撃状態への遷移命令が来たら、
待機アニメーションの途中であってもそのアニメーションを中断して、攻撃のアニメーションが再生されます。
Has Exit Time のチェックが外れていない場合には、
遷移前のアニメーションが再生されるのを待ってから、遷移先のアニメーションが再生されます。
そのため、スクリプトから移動アニメーションへの遷移命令が来ても、待機アニメーションを再生してから攻撃のアニメーションが再生されるため、
移動の処理とアニメーションの再生処理がずれてしまい、挙動がちぐはぐになります。
最後に Settings 内にある TransitionDuration の値も 0.02 前後に調整してください。
この値を調整すると、すぐ下にあるゲージも一緒に動きます。ゲージを直接ドラッグアンドドロップで操作も出来ます。
TransitionDuration の値が小さいほど、前のアニメーションから素早く遷移が発生します。
TransitionDuration
いずれの項目についても、
実際にどのような違いがあるか、文章だけではなく実際に自分でチェックのある、なしの両方で確認して学習しておきましょう。
トランジション表示中のインスペクターの下部には
Preview ウインドウがあり、その中には再生ボタンがあります。
再生ボタンを押すことでどのようなアニメーションを再生するか、実際のモデルとなるゲームオブジェクト(今回は Unitychan)で確認できます。
Preview ビュー
ここに Unitychan のモデルが表示されていない場合には
再生を実行できません。
その場合には、ヒエラルキーにある、
再生したい対象のゲームオブジェクトを Preview ウインドウに対してドラッグ&ドロップしてください。
この手順を行うことで、Preview ウインドウにモデルが設定され、再生ボタンが押せるようになります。