【Unity】Animatorのパラメータ名をハッシュ値で扱う

Animator.StringToHashとは? Animator.StringToHashは、Animatorのパラメータ名をハッシュ値に変換するためのメソッドです。アニメーターを操作するときに毎回文字列を渡すのではなく、起動時に一度だけハッシュ化しておいて、以降はそのハッシュ値で指定する……という最適化の定番テクニックですね。 Unity - Scripting API: Animator.StringToHash docs.unity3d.com SetFloatやSetBool、SetTriggerといった主要なメソッドは、文字列を受け取るオーバーロードと、intのハッシュ値を受け取るオーバーロードの両方が用意されています。後者を使うことで、内部での文字列マッチングを回避できます。 🔗 関連記事 なお、Animation Parametersそのものの種類や使い分け、基本的なキャッシュパターンは別記事でまとめてあります。 【Unity】AnimationParameter - GARNET LOG Animation ParametersのFloat・Int・Bool・Triggerの使い方を解説。StringToHashによるパフォーマンス最適化やDamping Timeを使った滑らかな遷移制御も詳しく紹介します。 GARNET LOG 本記事はそこから一歩踏み込んで、Animator.StringToHashの内部動作やstring.GetHashCode/Shader.PropertyToIDとの違い、Stateハッシュへの応用、定数クラスでの管理判断など、最適化テクニック寄りの内容を中心に扱います。
  • Unity
  • C#
  • Animation

【Unity】AnimatorController

Animator Controller とは? Animator Controller は、Unityでアニメーションを管理・制御するための仕組みです。キャラクターやオブジェクトの状態に応じて、適切なアニメーションを自動的に切り替えることができます。 例えば、キャラクターが以下のような動作をする場合: 止まっている時は「待機アニメーション」 歩いている時は「歩行アニメーション」 走っている時は「走行アニメーション」 ジャンプした時は「ジャンプアニメーション」 これらのアニメーションを状態に応じて自動的に切り替えるのが、Animator Controllerの役割です。 アニメーターコントローラー - Unity マニュアル アニメーターコントローラーを利用すると、キャラクターやオブジェクトのアニメーションクリップや関連するアニメーション遷移のセットを配置し管理できます。たいていの場合、複数のアニメーションを利用して、ゲーム内で特定の状況が起きたときにそれらを相互に切り替えて使用するのは普通のことです。例えば、スペースバーが押される度に歩きのアニメーションからジャンプのアニメーションへ切り替える、などです。ただし、単一のアニメーションクリップしかない場合でも、それをゲームオブジェクトに使用するためには、アニメーターコントローラーに配置する必要があります。 docs.unity3d.com
  • Unity
  • C#
  • Animation