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
资产,请参阅添加或更改图形图像。