A・Dキー入力検知

Last-modified: 2016-04-23 (土) 01:57:02

このページでは、サスペンション付きホイール系ブロックとセンサーを利用した入力装置について解説します。


解説

Control wheels」をオンにした操縦席類からの操縦中にAキー・Dキーを押すと「Steering」がオンになっている車輪の向きが変わることを利用し、位置が変化したタイヤをセンサーに感知させてブロックのアクションを起こすことで、より直感的な操作を組み込むことができます。

  • サスペンション付きホイールの設定項目については車両も参照してください。
  • センサー範囲との位置関係や「Steering Angle(最大可動角度)」、「Steering Speed(操舵速度)」と「Steering Return Speed(中立位置に戻る速度)」の設定によって、押したとき・離したときの感度を調整できます。
    • 可動範囲を狭く、可動速度を速くすれば押したときの動作がすぐに行われます。
    • 戻る速度を限界まで速くすれば離した時の動作がすぐに行われます。
    • 最大角度を大きく・操舵速度を非常に遅くすることで数秒から数十秒に達するような長時間入力を待つことができます。
    • 戻る速度だけ0にすることでキーを離しても逆の操作をしなければ戻らないというような設定も可能です。

設定例

Skid_steer_01.jpg
  • Aキーで前、Dキーで後ろに動いたタイヤをそれぞれのセンサーで感知します。
  • 感知させる対象はWheel Suspension 1x1を使用し、ホイール前後の3ブロック目にセンサーを設置、センサーの範囲は1.25mに設定しています。
  • 前のセンサーはAキーを押したとき・放したときのアクション、後ろのセンサーはDキーを押したとき・放したときのアクションを設定します。

スキッドステア

上記画像の車両のセンサーの設定を解説します。

  • A/D操作で検知用のタイヤが動いて前後どちらかのセンサーが感知すると、曲がろうとした側のホイールの「Propulsion On/Off」が働き、駆動しなくなってそちら側に曲がります。
  • タイヤが中立位置に戻ってセンサー範囲から外れると、タイマーブロックの「Trigger now*1で「Propulsion On/Off」が再び働いて駆動力が戻り直進します。
  • 車両への組み込みは、感度をうまく調整すれば、普通に操舵する車両でA/Dキーを一定時間以上押し続けるとその間だけ「Invert Propulsion」を自動で切り替えて超信地旋回するというような設計にも応用できます。

Aキー/Dキーで直感的に操作できるピストンやローター

AD_Switch_01.jpg

Timer Blockはセンサーに複数の動作を入れるために使用しています。

  • AキーまたはDキーを押してセンサーに引っかかると、それぞれに設定したタイマーを経由してピストンの「Extend(伸長)」または「Retract(短縮)」で向きを決め、同時に「Toggle On」で動かし始めます。
  • センサーから外れると「Toggle Off」で停止させます。

同様の操作はローターにも応用できます。感知時に「Increase Velocity」または「Decrease Velocity」で回転速度を付け、外れた際に「Reset Velocity」で止めることで、数値設定をスクリプトに頼らなくても最低限は作成できます。

TIPS

関連項目

コメント


*1 タイマーを経由するのはセンサーに同じアクションを2つ設定できないため