【Unity】Prefabの使い方|Variant・Nested Prefab・Overrideの使い分け

プレハブとは? Unityでゲームを作っていると、同じ構成のGameObjectを何度も使い回したい場面が出てきます。 例えば敵キャラ、アイテム、UIのボタンなど、同じものを複数配置するケースは日常的にあるはずです。 プレハブは、GameObjectの構成をアセットとして保存し、テンプレートのように再利用できる仕組みです。 プレハブを作ると、Projectウィンドウにアセットとして保存されます。 このアセットが「オリジナル」で、シーン上に配置したものが「インスタンス」です。 インスタンスはオリジナルと紐付いており、オリジナルを変更するとすべてのインスタンスに反映されます。 逆にインスタンス側で個別に変更を加えることもでき、その変更はOverrideとして管理されます。 この仕組みによって、共通部分はオリジナルで一括管理しつつ、個別の調整もできるようになっています。 Unity Docs プレハブ - Unity マニュアル Unity の Prefab (プレハブ) システムでは、1 つのゲームオブジェクトをそのすべてのコンポーネント、プロパティ値、子ゲームオブジェクトとまとめて、再利用可能なアセットとして作成、設定、保存することができます。プレハブアセットはテンプレートとして機能し、シーン内で新しいプレハブインスタンスを作成できます。 docs.unity3d.com
  • Unity
  • C#
  • Unity基礎

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

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