Input Systemは、独自のデバイスを登録できる仕組みがあります。詳しくは公式ドキュメントをご確認ください。
上記の方法でデバイスを登録した後、Input Glyphsを拡張することでそのデバイスのグリフ画像を表示できます。拡張にはC# Scriptを扱う必要があります。
IInputGlyphLoader
を実装するクラスを作成します。これはデバイスの種類とボタンの情報を受け取り、グリフ画像のTexture2D
を返すクラスです。
GamepadGlyphLoader.cs
Awake()
のタイミングで上記のLoaderインスタンスをInputGlyphManager
に登録します。
GamepadGlyphInitializer.cs
簡単な方法は、DeviceGlyphLoaderInitializer<T>
を継承することです。Loaderの処理、TextureMapの受け渡し、Managerへの登録などが全て実装されています。KeyboardGlyphInitializer.cs
やMouseGlyphInitializer.cs
はこの方法で実装されています。
using InputGlyphs.Loaders.Utils;
public class MyDeviceGlyphInitializer : DeviceGlyphLoaderInitializer<MyDevice>
{
}
このコンポーネントを最初のシーンの任意のオブジェクトにアタッチし、InputGlyphTextureMap
アセットを設定します。InputGlyphTextureMap
アセットの作成ついてはグリフ画像の追加や変更をご確認ください。