コントローラを作る前に、DCS World側がどの様な操作を許しているのか確認し、必要が有れば修正します。
1.DCS Worldの設定ファイル
DCS Worldの入力設定を確認するにはまずこちらのファイルを参照します。
\DCS World\Mods\aircraft\P-51D\Input\P-51D\joystic\default.lua
このdefault.lua及びほかのいくつかのluaファイルを参照すると、制御方法のこまかな変更が出来るのですが長くなるのでまた改めて覚書的解説をアップします。
ちなみにluaって初めていじりましたがスクリプト言語だったんですね。iniファイルみたいな初期設定データかと思ってましたが、コードが書けるので改造の自由度が高そうです。
defaulut.luaの既存の設定で概ね問題無さそうなのですが、次の2項目は修正が必要でした。
- Rockets (Delay/Inst)
- Gunsight gyromotor power(ON/OFF)
この2項目は、トグルスイッチによって2ポジション切り替え行うデバイスですが、default.luaでは、一つのキーを押すたびに切り替わる動作となっています。
このまま実装しても良いのですが、トグルスイッチで動かしたいのでここを改造します。
この修正方法については某掲示板にて教えて頂きました。有難う御座いました。
この修正方法については某掲示板にて教えて頂きました。有難う御座いました。
2.default.luaの書き換え
今回は何も考えずにこの4行をdefault.luaに追記します。
追記場所は、
keyCommands = {
以下の行です。
判りやすい様、次の行あたりで良いでしょう。追記したら保存してください。
{down = 3015, cockpit_device_id = devices.K14_GUNSIGHT, value_down = 1.0, name = _('Gunsight gyromotor power ON'), category = {_('K-14 gunsight')},
{down = 3015, cockpit_device_id = devices.K14_GUNSIGHT, value_down = 0.0, name = _('Gunsight gyromotor power OFF'), category = {_('K-14 gunsight')},
{down = 3014, cockpit_device_id = devices.WEAPON_CONTROL, value_down = 1.0, name = _('Rockets Delay'), category = _('Rocket Control Panel')},
{down = 3014, cockpit_device_id = devices.WEAPON_CONTROL, value_down = 0.0, name = _('Rockets Inst'), category = _('Rocket Control Panel')},
※注意
1.luaファイルを編集する際には、編集前のファイルをバックアップしておきましょう。
2.ファイルを保存する際は、文字コードをANSIにしましょう。
私はメモ帳で編集後、自動的にUTF-8でされてしまい、DCSに正しく読み込まれないというトラブルに合いました。文字コードが原因とは全く気付かず、こちらも某掲示板の優しい先人に相談してようやく解決しました。アドバイスくれた方、本当にありがとうございますmm
3.キーバインド設定変更
これはコントローラ完成後の作業でよいのですが、2項の修正により
「K-14 gunsight」のカテゴリに、
- Gunsight gyromotor power ON
- Gunsight gyromotor power OFF
「WEPON CONTROL」のカテゴリに、
- Rockets Deley
- Rockets Inst
の項目が現れていますので、コントローラのトグルスイッチに割り当てられます。
4.まとめ
DCS側の設定が出来たので、実際のスイッチ類の動作とDCSの設定に矛盾しない信号を送らなくてはいけません。次回はスイッチごとの処理を反映するArduino Pro Microのコードを考えます。
0 件のコメント:
コメントを投稿