[Unity] InputManagerの設定情報をスクリプトから参照する

UnityのInputManagerの設定情報をスクリプトから参照する方法のご紹介です。
キー割り当ての変更等、既存のInput機能を拡張したい場合などでお役に立てるかと思います。

■実装方針
InputManagerの設定情報はメニューの「Edit」→「Project Settings」→「Input」から閲覧・編集できます。

inputmanager-config

しかし、これらの設定情報を実行時に取得する手段は(通常では)ありません。
そこで、エディタ拡張を用いて上記設定情報を実行時に取得できる形にします。
InputManagerの設定情報が更新されるたびに、設定情報を定義するスクリプトを動的生成すれば実現できます。

スマートな方法ではないかもしれませんが、今回はこれで難を凌ぎます。

■スクリプト
下記スクリプトをAssets配下の適当な場所にインポートします。

InputManagerGenerator.cs

これで、InputManagerの設定情報を変更してシーンを保存するとInputManager.csがAssetsフォルダ配下に作成されます。
動的生成された設定情報には以下のようにスクリプトから参照できます。

inputmanagercs-result

設定情報の動的生成はスクリプトから力技で行っていますが、導入そのものはスクリプトファイルをひとつプロジェクトに追加するだけなので簡単かと思います。
今回紹介した内容を元に、後日ゲームパッドのキー割り当ての変更方法について紹介できれば・・・と考えています。

■参考サイト
Manipulating the Input Manager in Script

LEAVE A REPLY

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.