memomem

備忘録・メモ置き場

InputSystem でバックグラウンド入力と振動できる

XInputDotNet, SharpDX / Unityがバックグラウンド時に入力値取得・振動 - memomem

上記方法でやっていたが、新しい InputSystem であればPS4, XboxControllerの振動を問題なく使うことができる。

バックグランド入力はXInputであれば可能。PS4コントローラは不可。

PackageManagerよりインストールし下記のような感じで

        var gamepad = Gamepad.all[0];
        
        if (gamepad == null)
        {
            return;
        }
        
        leftStickInput  = gamepad.leftStick.ReadValue();

        leftTriggerInput = gamepad.leftTrigger.ReadValue();
        rightTriggerInput = gamepad.rightTrigger.ReadValue();

        gamepad.SetMotorSpeeds(leftTriggerInput, rightTriggerInput);

vJoyを使っているとエラーが出たので、デバイスマネージャで無効にした。

PS4コントローラーのInterfaceはHIDとなっている。

参考

【Unity】新しいInput System入門 - 従来のUnityEngine.Inputに代わる高機能な入力管理システム - LIGHT11

Unityの新しい入力システムInputSystemを使ってみる | Unityを使った3Dゲームの作り方(かめくめ)

docs.unity3d.com