🕹️
[Unity, InputSystem] WebGLでスティックの上下操作が効かなくなった時の対処法
問題点
Unity で InputSystem を使ってコントローラー操作を実装していた時に、エディタ上では正しく動作するのに、WebGL ビルドをした際にスティックの上下操作が効かなくなってしまいました。
ただ上下操作が効かないだけではなく、スティックの左右操作やコントローラー十字ボタンでの操作は正常に動作していました。
対処法
この現象の原因は、以下のようにVector2
のInputAction
において、コントローラーのスティックをバインディングする際にComposite
を使っていることにありました。
以下の画像のように、本来、Left Stick[Gamepad]
をバインディングするだけでいいのに、Composite
を使用したバインディングをしてしまっていました。
間違ったバインディング
以下の画像のように、Composite
を使用せずに、Left Stick[Gamepad]
をバインディングすることで、WebGL ビルドでも正常に動作するようになりました。
正しいバインディング
キーボードの場合は、WASD や矢印キーをComposite
でバインディングする必要がありますが、コントローラーのスティックはComposite
を使用しないようにしましょう。
Discussion