ゲームパッドでヘリコプターの安定ホバリングを実現する方法
概要
ゲームパッドのX、Aボタンを使って、スムースなホバリング操作を行います。
X、Aボタンは ON/OFF するだけのスイッチなので、この入力を使いアナログ軸として動作させます。
「vJoy」と「Joystick Gremlin」の2つのソフトを使い実現します。
Xboxゲームパッドの信号
↓
Joystick Gremlin がゲームパッドの信号を受け取りマクロ処理を行う
ここではA、Xボタンの動作をアナログ軸のUp/Down に変換します
↓
vJoy 仮想デバイスに変換してMSFS2024に出力
↓
MSFS2024は vJoy を1つのジョイスティックとして認識し、そのアナログ軸を使えるようになる
MSFS2024には「vJoy Device 1」だけが見える状態になります。
このvJoyが、実際にはGremlinを通じてXboxコントローラーの入力を受け取っているのです。
項目
1.「vJoy」をインストール&設定
2.「Joystick Gremlin」をインストール&設定
3.MSFS2024を設定
1.「vJoy」をインストール&設定
https://sourceforge.net/projects/vjoystick/
↑ ここから「vJoySetup.exe」ファイルをダウンロードしてPCにインストールします。
デフォルトで「C:\Program Files\vJoy」フォルダーにインストールされます。
このフォルダーの中の「\x64\vJoyConfig.exe」を起動します。
あとから使いやすいように「vJoyConfig.exe」ファイルのショートカットをデスクトップに作っておくと便利です。
起動するとこのようなウィンドウが表示されます。
「Add Device」ボタンを押して仮想デバイスを1つ作ります。

仮想デバイスが1つ作られましたので、設定をしていきます。
今回はコレクティブを操作するアナログ軸が1つ必要ですので
1.「Axes」を「X」のみチェックを入れ、そのほかはチェックを消します
2.「Number of Buttons」に「0」を入れます
3.「POV Hat Switch」はそのまま
4.「Force Feedback」は全てOFF

設定が終わったら「Apply」ボタンを押して確定します。

確定したら「Enable vJoy」のチェックを入れます。

これでアナログのX軸を持った仮想デバイス「vJoy Device:1」が動きました。
次はこの仮想デバイスに動作信号を送るための「Joystick Gremlin」を動かします。

2.「Joystick Gremlin」をインストール&設定
https://whitemagic.github.io/JoystickGremlin/
↑ ここの「Download」から「Download Release 13.3 ZIP」ファイルをダウンロードします。
適当(都合の良い場所)に解凍します。
解凍するだけで特にインストールは必要ありません。
解凍したフォルダー内の「joystick_gremlin.exe」を起動します。
あとから使いやすいように「joystick_gremlin.exe」ファイルのショートカットをデスクトップに作っておくと便利です。
起動したらこのようなウィンドウが開きます。
タブの所には認識されているゲームパッドが表示されますので、それを選択
ゲームパッドのボタンやスティックを動かすとどの部分なのか左に並んでいる軸名、ボタン名が色が変わってわかります。
下の画面で灰色になっているButton1がゲームパッドの「A」ボタンになっています。
これからこの「A」ボタンを押したときにどのような動きをさせるかをマクロで作っていきます。
あとからわかりやすいように「Device Label」には「TaranturaPro」私の使っているゲームパッドの名前を入力。
「Action Description」には「A button - Collective down」と入力し、Aボタンを押したらヘリコプターのコレクティブのダウンとして動かすことを入力しておきます。
ご自分で分りやすい名前を入力しておけばOKです。

「Macro」を選択し、「Add」ボタンを押すとマクロ入力の画面が中に表示されます。

「Add a new action」ボタンを押すとマクロが1行追加されます。

下の画像のように入力します。
1.「Action Setting」で「vJoy」を選ぶとその下の入力が表示されますので「vJoy Device 1」、「X Axis」を選択
2.「Relative」にチェックを入れる(相対的に出力します)
3.「-0.005」を入力(Aボタンを1回押したときにアナログ軸をどれくらい移動させるかの設定です)
マイナスはダウン方向で、数値は移動させる量です。値を小さくすればより細かな動きとなります。
4.「Macro Setting」で「Exclusive」のチェックをOFFにします
5.「Hold」を選択(Aボタンを押し続けたときに繰り返し入力する設定です)
6.「Delay」に「0.03」を入力(繰り返しの時間を設定します)
この値を変更することで押し続けたときのスピードが変わります
たぶん0.03秒に1回のスピードで0.005の量の軸移動が発生します

同じようにゲームパッドの「X」ボタンを押したときのマクロを作ります。
左の「Button 3」が「X」ボタンになっています。
「A」ボタンとの違いは「Action Description」に「X button - Collective Up」入力と、変化量を「0.005」(プラス)
にしたことです。

これで「A」「X」ボタンをアナログ軸として動作するようになりましたが、私はL/RトリガーとLB/RBボタンをファンクションキーとして使用しており、それらが押されている状態では「A」「X」ボタンは全く異なる機能として使っています。
アナログ軸として動作する条件としてこれらL/Rトリガー、LB/RBボタンが押されていない時だけという条件を付けます。
マクロの右にある「Condition」タブを開きます。

ここで条件を設定していきます。
Apply conditions to に「Action」を選択します。

Requires に「All」を選択、「Joystick Condition」を選択し「Add」ボタンを押します。
Joystick Condition が表示されますので、右の鉛筆ボタンを押します。
ボタンを押してくださいのウィンドウ表示がでますので、ゲームパッドのLトリガーを押します。

Xboxゲームパッドは L/R トリガーは1つのアナログ軸でそれぞれUP、DOWN動作に割り当てられています。
ここでは「Axis3」がその軸であり、条件としてこのアナログ軸が「Inside」「-0.200」から「0.200」の間とします。
これでL/Rトリガーのどちらも押されていない時、「A」「X」ボタンをアナログ軸として動作させる条件ができます。
「Add」ボタンを押してLB/RBボタンの条件を追加します。

LB/RB ボタンが押されていない時「Released」を設定します。
この一連の条件設定を「A」「X」ボタンの両方に行います。
これでファンクションキー「L/Rトリガー、LB/RBボタン」を押していない時のみ「A」「X」ボタンをアナログ軸として動作するように設定できました。

マクロの設定が終わったら上のゲームパッドのアイコンをクリックします。
ゲームパッドのアイコンが緑色になり、一番左下に「Active」と緑文字で表示され動いていることを確認できます。
これで「Joystick Gremlin」が動作を開始して、ゲームパッドの「A」「X」ボタンを押したらその情報を「vJoy」に軸の変化として渡し、「vJoy」が仮想ジョイスティックとしてMSFS2024にアナログ軸として動作を送り込みます。

3.MSFS2024を設定
これで「vJoy」がMSFS2024のコントロール設定画面に表示されます。

「vJoy Device」の「ハードウェア設定」を開きます。

ゲームパッドの「A」「X」ボタンを押して、アナログX軸として動作することを確認します。

動きに問題なければ、「出力調整」の「コレクティブ軸」に「vJoy Device」の「X軸」を割り当てます。
これで完成です。
ゲームパッドの「A」「X」ボタンをすでにコレクティブのUP/DOWNに設定していたら削除しておきましょう。
ゲームパッドの「A」「X」ボタンを1回押したときの変化量、押し続けたときの変化の速さを「Joystick Gremlin」のマクロ設定で自分好みに変更して、最適な動作に調整してお楽しみください。


コメント
最新を表示する
NG表示方式
NGID一覧