【TopDown Engine】Input Managerの作りについて

Input Manager TopDownEngine
スポンサーリンク

前書き

歩いたり、攻撃したり、ジャンプしたりとプレイヤーが入力をした場合、入力に準じてキャラクタが動いてくれます。一つ一つを自分で作成することは非常に大変ですがTopDown Engineの場合、標準的な入力はすでに実装済みとなっています。

新しくオリジナルの入力を作ろうと思ったとき、「既存の処理はどのようになっているんだろう?」と疑問に思うことだと思います。今回はそんな入力の受付方法(Input Manager)について紹介していこうと思います。

TopDonw Engeinで定義済みの入力について

TopDown Engineで定義済みの入力については以下になります。標準的な移動であるWASDやShiftを押すことで走ったり(Run)することができるなど基本的な入力は準備済みとなっています。

このほか、TopDonw Engein付属のInventory Engineを使用する場合は I(アイ)を入力することでインベントリ画面を表示することも可能です。

Input | TopDown Engine Documentation
This page explains how to setup input in your game.
キーボード

入力を受け付けるスクリプト Input Manager

では、さっそく既存の作りから見ていきましょう。今回はDemoにあるKoalaDungeonから作りを見ていきたいと思います。KoalaDungeonのHierarchyを見ていると以下のような構成になっていますが、Input Managerが設定されているのはKoalaUICameraになります。

KoalaDungeonのヒエラルキー

KoalaUICameraの構成を見ているとInput Managerが設定されています。Input Managerを見てみるとキーボード入力以外にもMobile Controlsといった形でJoystickなど他の入力を受け付ける設定もありますが今回はキーボード入力に限定して紹介していこうと思っています。

Input Managerのインスペクター

ソースコードを見てみると以下のように”Jump”や”Run”、”Dash”などそれぞれ定義がされており、対象となる定義が「押されているのか」、「押し続けているのか」、「押されていないのか」と3つの状態を取得するようになっています。

“Jump”や”Run”、”Dash”などそれぞれ定義についてはProject Settingsの中で設定をしています。次はProject Settingsの中で設定する定義について説明をしたいと思います。

入力の定義 Input Manager

Project SettingsにあるInput Managerがそれぞれの入力を定義している部分となります。TopDown Engineの場合、4人まで操作できるDemoが存在するため4人分の入力の定義があります。(Player1、Player2、Player3、Player4)

Input Manager

ここでPlayer1_Jumpを見てみましょう。右向き三角を押すことで詳細を表示することができます。
Positive Buttonに記載のある”space”がキーボードのキーと対応しています。このことから、「Player1がJumpしたい場合、Spaceボタンを押す」ということが分かります。

Player1_Jump

また、ほかの定義を見ると分かりますがいずれの定義も「Player1“_”Jump」となっています。これはTopDown Engine特有の定義となっており、必ず間に”_”(アンダーバー)が必要となるため、オリジナルの入力を作りたい場合は忘れずに”_”(アンダーバー)を入れましょう。

Input Managerで新しい入力を作りたい場合は?

Input Managerで新しい入力を作りたい場合は2つ修正が必要です。

  1. Input Manager.csに新しい定義を追加する。
  2. Project SettingsにあるInput Managerに新しい定義を追加する。

いずれも既存のものを参考にすることで新しい入力を作ることが可能です。

まとめ

今回はInput Managerについて紹介しました。

TopDown Engineで標準的に設定されているものでも十分ゲームとして成り立ちますが、例えば必殺技ボタンだったりキーボードのキーごとにスキルを発動するなどいろいろとオリジナリティを出したいときはInput Managerを修正する必要が出てくるかなと思います。今回紹介した内容で新しい入力を追加することができるので試しに追加してみてください。

また、現在Unityでは最新の機能としてInput Systemという機能が存在します。デフォルトはInput Managerとなっていますが、TopDown EngineもInput Systemで動かすことは可能です。Input Mnagerより少し難しいですが、次回はTopDown EngineでInput Systemを設定する方法も紹介したいと思います。

コメント

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