UE4 パッドのスティック入力の感度を調整する(Dead Zone)
スティック入力の値を取得するときに遊びとして一定の傾きはクランプされ、
入力がされていなかったと判定する処理がはいっています。
デフォルトだと固いと思った場合に入力の感度を調整する方法です。
「プロジェクト設定」を開き、「エンジン」の「インプット」を選択します。

その中の「Axis Config」にある「Dead Zone」を設定します。

上記デフォルトだと「0.25」になっているため、
スティックの傾きの1/4以下の場合は入力として受け付けない。
といったもののようですね。
この「Dead Zone」は各スティックの軸ごとに存在しています。

「Gamepad_LeftX」「Gamepad_LeftT」「Gamepad_RightX」「Gamepad_RightY」
左スティックと右スティックの上下と左右ごとに設定できる感じですね。
実はこれそのままの実装だと問題があり、
各軸ごとにクランプされているため、上ちょっと左といった入力を行っても
左右がクランプされているため、真っ直ぐ上と認識されてしまいます。
(なんでこんな実装に…)
というわけで疑問に思っていたところ
「Dead Zone」の設定は0.0にして、自力で円形クランプしてあげるのが良さそうです。
入力がされていなかったと判定する処理がはいっています。
デフォルトだと固いと思った場合に入力の感度を調整する方法です。
「プロジェクト設定」を開き、「エンジン」の「インプット」を選択します。

その中の「Axis Config」にある「Dead Zone」を設定します。

上記デフォルトだと「0.25」になっているため、
スティックの傾きの1/4以下の場合は入力として受け付けない。
といったもののようですね。
この「Dead Zone」は各スティックの軸ごとに存在しています。

「Gamepad_LeftX」「Gamepad_LeftT」「Gamepad_RightX」「Gamepad_RightY」
左スティックと右スティックの上下と左右ごとに設定できる感じですね。
実はこれそのままの実装だと問題があり、
各軸ごとにクランプされているため、上ちょっと左といった入力を行っても
左右がクランプされているため、真っ直ぐ上と認識されてしまいます。
(なんでこんな実装に…)
というわけで疑問に思っていたところ
という感じらしいので少なくとも現状だとその辺の実装は微妙なんで、0に設定してゲーム側でやった方がいいですよ。ただしDefaultPawnのカメラ移動がDeadZoneありきの実装になってて誤差で動いてしまうので、そこだけ使えなくなります
— ほげたつ (@HogeTatu) 2018年7月17日
「Dead Zone」の設定は0.0にして、自力で円形クランプしてあげるのが良さそうです。
| UE4 | 14:11 | comments:0 | trackbacks:0 | TOP↑