gyokute/FDMi

Ideas for imporving input method

Opened this issue · 3 comments

Inputの改善案を明文化する(実作業のissueは切り分ける+英語で書こうね

今まででているもの

  • 一度のGrabにつき、選択対象はひとつまでにする(複数Grabはしない)
  • ボタンアサインの変更を可能にする
  • ボタン操作のアサインにTriggerはなしで
  • SeatAdjusterを1.0系同様、選択対象外ならいつでもTriggerで呼び出せるようにする
  • 細かなボタンなどは別途UIをポップアップさせて操作可能にする

ノブ系の案1

  • プッシュ→Esnya Garman式人差し指で押し込む
  • 回転→Grabして手を回す(現在のFDMi v2の方式)
  • 高速回転→GrabしてTrigger引いたまま手を回す。回転の途中でTriggerを引いた場合は引いている間だけ増分した回転量が加算される。(現状のGrabを放したときのTriggerの有無によって量が決定する動作とは若干違う動作。一度のGrab中に、Trigger引いている間だけ高速回転させる。)
  • ノブを上下左右に倒す→Grabしたままサムスティックを上下左右に倒す
  • 2段になっているノブ→サムスティックタッチ中は別段に切り替え。またはサムスティック押し込みで別段に切り替え

ノブ系の案2(案1の高速回転と2段ノブを大体逆にしたもの)

  • プッシュ→Esnya Garman式人差し指で押し込む
  • 回転→Grabして手を回す(現在のFDMi v2の方式)
  • 高速回転→サムスティックタッチ中は高速回転(一度のGrab中に、タッチしている間だけ高速回転させる。)
  • ノブを上下左右に倒す→Grabしたままサムスティックを上下左右に倒す
  • 2段になっているノブ→Triggerを引いている間別段に切り替え。またはTriggerを引くごとに段が切り替わるトグル。

オートパイロット系のボタンの案

  • Esyna Garman式のノブ押し込みのように人差し指で手前から奥に押し込む

5/31 plan-1

⭕ Grab押下時の複数同時入力抑制 -> good
⭕ Grab+Triggerで入力段切り替え -> good
🔺 Finger Push -> 押し込み感覚に違和感あり。微調整が必要。
❌ Finger Push -> APIが使いづらい(LeverではなくAxis互換にすべき)
❌ AxisInput/Alternativeモードでチャダリングが起こる
❌ 指の位置の取り方(アバター依存の問題あり。もう片方の手でつかんで補正してあげられないか?)
❌ Viveコンだと操作しづらい(Grabでhandopenになるため)
❌ InputPage/InputZoneに不正な定義があるとFingerTracker自体がException Failureを起こしてしまう

全体的に悪くないので、コードを整理してdevelop仕様に入れ込む、で良いと思う。
issue自体はまだ続く