初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

Unityアニメのステートマシン | 遷移とBlend Tree

Unity 基礎操作・設定

待機から歩行には切り替わるのに、攻撃のあと戻れない。

走る速さに合わせて歩行アニメを滑らかに変えたいが、設定方法が分からない。

Animatorの基本は分かったけれど、遷移の矢印が増えてきて混乱している——そんな方のための記事です。

155Animatorの応用編として、State・Transition・Blend Tree・Layerまで、実戦で使う設定を順に説明します。

  • Transitionの矢印が多すぎて、どの条件で切り替わるのか追えない…
  • Has Exit Timeのオン・オフで挙動が変わりすぎて困る。
  • Blend TreeやLayerという言葉の意味がよくわからない。

この記事でわかること

  • AnimatorウィンドウでStateを配置し遷移を定義する手順
  • ConditionsにBoolやTriggerを設定する方法
  • Has Exit Timeで切り替えタイミングを制御するコツ
  • Blend Treeで移動速度に応じたアニメブレンド
  • Any StateとLayerを使った応用テクニック

\プログラミング未経験でも大丈夫!まずは1本作り切ろう/

初心者が最初に選ぶならコレ

Unity ノンフィールドRPG
+スレスパ風JRPG講座

★★★★★ (Unity6対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で3Dゲームが完成!/

ステートマシンとは

ステートマシンは、「今どの状態か」と「次にどの状態へ移るか」を管理する仕組みです。

Animatorウィンドウの四角いノードがState(状態)、ノード間の矢印がTransition(遷移)にあたります。

用語 意味
State 待機・歩行・攻撃など、再生中のAnimation Clipの状態
Transition あるStateから別のStateへ切り替える経路
Conditions 遷移が発火する条件(Parametersの値など)
Entry ゲーム開始時に最初に入るStateへの入口

155でClipとParametersの基礎を押さえていれば、ここからは「つなぎ方」の設計が主題になります。

StateとTransitionの作り方

待機(Idle)・歩行(Walk)・攻撃(Attack)の3Stateを例に進めます。

遷移を作る手順
  • STEP1
    Stateを配置

    AnimatorウィンドウにIdle・Walk・AttackのClipをドラッグしてStateを作ります。
  • STEP2
    矢印で接続

    IdleからWalkへ、WalkからIdleへ、Any StateからAttackへ、など右クリックでMake Transitionします。
  • STEP3
    Conditionsを追加

    遷移を選び、ConditionsにIsWalking == trueやAttackトリガーを設定します。
  • STEP4
    Has Exit Timeを調整

    攻撃のように即時切替したい遷移はHas Exit Timeをオフにします。

双方向の遷移(Idle⇔Walk)は、それぞれ別のTransitionとして作り、条件も分けて設定します。

1本の矢印に複数条件を詰め込みすぎると、後からデバッグが難しくなります。

Has Exit Timeと切り替えタイミング

Has Exit Timeがオンだと、現在のClipが一定割合まで再生されてから遷移します。

歩行から待機へ自然に戻したいときは、オンにしてTransition Durationでブレンド時間を短くすると滑らかです。

攻撃や被ダメージのように、入力の瞬間に切り替えたいときはオフにします。

管理人
管理人

「ジャンプが遅い」と感じたら、まずHas Exit Timeを疑いましょう。
オフにするだけで、入力への反応がぐっと良くなることが多いです。

Transition Durationは0に近いほど瞬時に切り替わり、大きいほどクロスフェードします。

0.1〜0.15秒程度が、多くのキャラアクションで使いやすい目安です。

Blend Treeで速度に応じた歩行

歩く速さに合わせてアニメを滑らかに変えたいときは、Blend Treeが便利です。

Stateを右クリック → Create State → From New Blend TreeでBlend Tree Stateを作ります。

中に歩行・走行など複数のClipを入れ、Blend ParameterにFloat型の「Speed」を指定します。

Speedが0に近いときは待機寄り、値が大きいほど走行Clipの比率が上がるよう、閾値を調整します。

void Update
{
  float speed = Mathf.Abs(rb.velocity.x);
  animator.SetFloat("Speed", speed);
}

2D横スクロールならvelocity.x、3Dならvelocity.magnitudeを渡すのが一般的です。

Blend Treeを使うと、歩行と走行のStateを行き来するTransitionを減らせます。

Any StateとLayerの応用

Any Stateは、どの状態からでも即座に特定Stateへ飛ばしたいときに使います。

被ダメージや死亡アニメは、Any State → Hurt / Deathへの遷移が定番です。

ただしAny Stateを乱用すると、意図しないタイミングで遷移することがあるので、即時性が必要な演出に絞るのが安全です。

Layerで上半身だけ別アニメ

走りながら銃を構える、といった演出はLayerで実現します。

Base Layerで全身の移動、Upper Body Layerで射撃アニメを重ね、Avatar Maskで上半身だけを制御します。

LayerのWeightを1にし、BlendingをOverrideにすると、マスクされた部位だけ上書きされます。

初心者はまずBase LayerだけでIdle・Walk・Jumpを安定させ、Layerは後から足す段階で十分です。

ループ設定とよくあるミス

ステートマシンがうまく動かない原因のひとつに、Clip側のループ設定があります。

  • 待機・歩行はLoop Timeオンで途切れなく再生
  • ジャンプ・攻撃はLoop Timeオフで1回再生し、終了後に別Stateへ遷移
  • 攻撃後にIdleへ戻るTransitionを忘れると、最後のフレームで止まる

攻撃Clipの末尾に「戻る用」のTransitionを必ず用意しましょう。

ConditionsにExit Timeを使う方法もありますが、Triggerと組み合わせる場合はHas Exit Timeの扱いに注意が必要です。

管理人
管理人

Animatorウィンドウは、Parametersタブとレイヤー名をメモしておくと後から見返しやすいです。
Stateが10個を超えたら、サブステートマシンで整理するのも手です。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座

  • Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
  • Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
  • 初心者でも迷わず進められる丁寧な解説構成
  • ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。

Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。

「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。

Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!

Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風3Dアクションゲームの作り方講座

  • ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
  • 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
  • スマホ化対応で実機で動かせるゲームが完成
  • アセットを使った実践的なゲーム開発手法が身につく
  • 画像・動画・全ソースコード公開の充実したサポート

ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。

全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。

「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。

初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!

まとめ

ステートマシンは、StateとTransitionでアニメの切り替えを設計する仕組みです。

Has Exit Timeで自然な遷移と即時反応を使い分け、Blend Treeで速度に応じたブレンドを実現できます。

Any StateとLayerは応用編として、基本の3State(待機・歩行・ジャンプ)が安定してから挑戦しましょう。

キャラの動きを作品単位で学びたい方は、Unity入門の森の教材も参考にしてみてください。

ステートマシン設計から実戦のボス戦まで、流れを追って身につけられる内容もあります。

コメント

タイトルとURLをコピーしました