【Unity】AnimatorController

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

【Unity】デザインパターン:Decoratorパターン

デコレーター(Decorator)とは? Decoratorパターンとは、既存のオブジェクトに対して、元の構造を変更せずに新しい機能を動的に追加するための デザインパターンです。 「装飾」という名前の由来 このパターンが「装飾」と呼ばれる理由は、まさにクリスマスツリーの装飾と同じ考え方だからです。 基本のツリー(元のオブジェクト)はそのままに、オーナメントやライト(機能)を自由に追加・取り外しできます。 元のオブジェクトを「装飾」するように、新しい振る舞いを重ね合わせていくのが特徴です。 継承との違い 従来の継承を使った機能拡張では、以下のような問題があります: 継承の問題点: クラスが増えすぎる(組み合わせ爆発) コンパイル時に機能が固定される 複数の機能を同時に適用するのが困難 Decoratorパターンの利点: 実行時に機能を追加・削除できる 複数のデコレータを自由に組み合わせ可能 既存コードの変更が不要 機能の組み合わせ順序も制御できる 基本構造 Decoratorパターンは以下の要素で構成されます: Component(コンポーネント): 機能を定義するインターフェース ConcreteComponent(具体コンポーネント): 基本機能を実装するクラス Decorator(デコレータ基底クラス): 装飾機能の基底となるクラス ConcreteDecorator(具体デコレータ): 実際の装飾機能を実装するクラス 使用する場面 以下のような状況でDecoratorパターンが有効です: 動的な機能追加が必要: 実行時に機能のON/OFFを切り替えたい 機能の組み合わせ: 複数の効果を重ね合わせたい(攻撃力UP + 防御力UP など) 既存コードの保護: 動作中のコードを変更せずに機能を拡張したい 設定による制御: 設定ファイルやユーザー選択により機能を変更したい
  • Unity
  • C#
  • デザインパターン