概要 †SharedKeyAssignとは主として飛行機においてピッチ・ロールやギア操作、射撃等の基本的な操作について、各人があらかじめ設定ファイルを用意することでどの機体でも一人ひとりが自分にあったキー割り当てで操作できるようにする仕組みである。 設定法 †まず、前提としてライブラリフォルダを作り、LUA_PATHを設定する必要がある。これの方法についてはライブラリを参照すること。ここで、仮にライブラリフォルダをRigidChips?/Lib/とすると、Lib/shared/SharedKeyAssign.luaというファイルを作成し、以下のように SharedKeyAssign.割り当てる操作 = キー番号 の形でキー割り当てを記述する。
参考用雛形ファイル SharedKeyAssign = {}; SharedKeyAssign.PitchUp = 1; SharedKeyAssign.PitchDown = 0; SharedKeyAssign.RollLeft = 2; SharedKeyAssign.RollRight = 3; SharedKeyAssign.YawLeft = 4; SharedKeyAssign.YawRight = 6; SharedKeyAssign.PowerUp = 5; SharedKeyAssign.PowerDown = 8; SharedKeyAssign.Gear = 10; SharedKeyAssign.ModeChange = 14; SharedKeyAssign.Fire = 12; SharedKeyAssign.Shift = 16; SharedKeyAssign.Option1 = 9; SharedKeyAssign.Option2 = 10; SharedKeyAssign.Option3 = 11; SharedKeyAssign.Option4 = 15; SharedKeyAssign.UseAnalog = 1; SharedKeyAssign.AnalogPitch = 1; SharedKeyAssign.AnalogRoll = 0; SharedKeyAssign.AnalogYaw = 5; SharedKeyAssign.AnalogPower = 3; SharedKeyAssign.AnalogPitchSign = -1; SharedKeyAssign.AnalogRollSign = -1; SharedKeyAssign.AnalogYawSign = 1; SharedKeyAssign.AnalogPowerSign = 1; SharedKeyAssign.PitchFunc = function() return _ANALOG(1)/-1000; end SharedKeyAssign.RollFunc = function() return _ANALOG(0)/1000; end SharedKeyAssign.YawFunc = function() return _KEY(6) - _KEY(4); end SharedKeyAssign.PowerFunc = function()--出力はキーで十分 return _KEY(SKA.PowerUp) - _KEY(SKA.PowerDown); end SKA = SharedKeyAssign; ここで、PitchUp?〜Option4までが通常のキー操作の割り当てである。
!!以下のUseAnalog?〜AnalogPowerSign?を用いる方法は旧式化し、互換性のためにのみ残されています!! また、UseAnalog?〜AnalogPowerSign?まではアナログスティックを使用する場合のキー操作 の割り当てである
!!ここまで旧式化下部分!! アナログ対応法 †アナログ入力を用いるためには、上記のコードで示されたPitchFunc?〜PowerFunc?の関数を用います。これらの関数はそれぞれの角速度が正となる方向、すなわち、ピッチアップ、左ロール、右ヨー、出力上昇の方向への入力が正となるように、入力に応じて-1〜1の実数を返すように設定します。モデル側でこれらの関数を_ANALOGと同様に扱うことによって符号や軸の番号にとらわれないアナログ設定が可能となります。 リンク †
|