前書き
歩いたり、走ったり、攻撃したりとキャラクターに何かしらのアクションをさせるためにはいろいろな処理が必要になります。自分で実装するとなるとアクションごとに処理を実装する必要がありとても大変です。
ただし、TopDown Engineの場合はすでに一定のアクションをするためのスクリプトが実装されているため、キャラクターに対してコンポーネントを付与してあげることで特定のアクションをすることができます。また、そのようなアクション動作をTopDown Engineではキャラクターアビリティと呼んでいます。今回はキャラクターアビリティについてざっとした紹介をしていこうかなと思います。
キャラクターアビリティ一覧
TopDown Engineのドキュメントにキャラクターアビリティ一覧があります。Demoなどである程度の動きがまとまっていますが、新しい動きを追加したい場合などはドキュメントを見てコンポーネントを追加するだけで新しいアクションをすることができます。
Koala(プレイヤー)の場合
いつものごとくDemoにあるKoalaを見ていきましょう。
Koalaオブジェクトにアタッチされているコンポーネントから、赤枠にあるものがキャラクターアビリティになります。それぞれのキャラクターアビリティについて簡単に説明していきます。
![Koalaのインスペクター](https://aquaregia31.com/wp-content/uploads/2023/12/image-51.png)
CharacterOrientation2D
キャラクターを動いた方向や武器の方向に向くことができるようになります。反対に、移動方向等は逆に向きに設定することなども可能です。
CharacterMovement
キャラクターを移動させることができるようになります。逆に言うとこのコンポーネントがないとキャラクターは移動できないので、固定砲台などを作りたい場合はこのコンポーネントは設定しないほうがよいと思います。
CharacterRun
キャラクターを走らせることができるようになります。
CharacterDash2D
キャラクターをダッシュさせることができるようになります。
CharacterHandleWeapon
キャラクターが武器を持つようになります。
CharacterButtonActivation
キャラクターがボタンアクションをできるようになります。
具体的に言うと、ButtonActivatedなどのコンポーネントが付いていると以下のように(デフォルトだと)”A”というボタンアクション実行可能のポップアップが表示されます。このポップアップが表示されている状態で、CharacterButtonActivationコンポーネントが付与されたプレイヤーが(デフォルトだと)スペースを押すことでボタンアクションが実行されます。
![ButtonActivatedの挙動](https://aquaregia31.com/wp-content/uploads/2023/12/image-52.png)
CharacterFallDownHoles2D
キャラクターが落とし穴に落ちるようになります。落とし穴についてはLayerが”Hole”のものが落とし穴として判定されます。CharacterFallDownHoles2Dコンポーネントを付与されたキャラクターが”Hole”のオブジェクトと接触することで落とし穴に落ちたと判定されます。
CharacterJump2D
キャラクターがジャンプをできるようになります。
CharacterPause
このコンポーネントを持つプレイヤーキャラクターが一時停止を実行した場合、ゲームが一時停止するようになります。具体的に言うと以下の動画のようにCharacterPauseコンポーネントを付与したプレイヤー(Koala)がESCボタンを押すことでPause状態になります。CharacterPauseコンポーネントがないプレイヤーの場合、ESCボタンを押してもPause状態になりません。
CharacterInventory
キャラクターがInventory機能を使用できるようになります。アイテムを取得した場合、右上のWeaonInventoryに自動的に武器が設定され、Koalaが武器を使用することができます。Inventory機能が無効の場合、アイテムの取得はできますが実行(プレイヤーが武器を持つ、アイテムの効果を実行すること)はできません。
まとめ
今回はキャラクターアビリティについて紹介しました。
DemoにあるKoalaやNinjaなどを見てみるとある程度の操作ができるようにコンポーネントが付与された状態のため、動かす分にはそのままで問題なく動かせると思います。
ただし、キャラクターアビリティの一覧を見てみると、Demoで設定されているもの以外にもいろいろなアクションがあるため、ぜひ、Demoのままにせずアビリティ一覧にあるものを自分なりに組み合わせたり、自作したりして自分なりのオリジナルを作り出していただければよいかと思います。
コメント