This is my rifle This is my gun

世の中にはアホなことを考える人たちがいて、FPS用に銃型コントローラー(Delta Six)というのがあるようだ。


  

そして何を隠そう、自分がmbedを使って作ろうとしているのもこれなのだった。(先行事例の調査が足りなかった。。。)
ちなみにネット引きこもりの自分はCall of Dutyシリーズをシングルプレイで楽しむだけなので操作系等はCoDをやる前提で設計している。

しかし自分の考えていたのは単に銃型コントローラーであるだけではなく、勢いよく振ると入力できるナイフやフラググレネード、特殊グレネードを投擲するボタンの付いたベルト、移動用にマット(ダンレボ用)を使う統合的なものなので、クオリティでは劣っても他のところで勝とうと思う。

そこでプログラムのことは一旦置いておいて、ハードの方を考えてみようと思う。

肝心の銃をどうしようかと思ってヨドバシカメラのおもちゃコーナーを見に行ったら、結構それっぽい形をした水鉄砲があった。

このおじさんの持っているのと同じやつ。
はじめ見た時はSCARっぽいな、とも思ったんだけど調べてみたらHK416に似てる。

ネジ穴が表に出ているので分解も簡単そうだし、水鉄砲なので中に基板やボタンを内蔵するスペースもありそう。
お値段も2200円とまぁ妥協できるラインだったのでこれをベースにすることにした。

この銃に割り当てるのは

- 射撃 (トリガー)
- リロード (マガジン底部)
- エイム (肩当てにボタンをつけるとそれっぽくなる)
- ステディ (狙撃時の息止め。ハンドガード部)
- アタッチメント使用 (ハンドガード部)
- USE (武器の交換にも使う。マガジンの上辺りかな)

といった機能。また当然6軸センサーもこれにつけることになる。ピッチとヨーが視点移動だけど、ロールをリーンに割り当てるのはどうだろう。6軸センサーのDMPから得られる姿勢角を眺めている限り、ヨーに関してはどうしても角速度センサーの値だけに依存するぶん誤差が生じやすい。なので角度センサーの値をリセットするボタンも必要になるだろう。(押しているあいだは入力が発生しないようにすれば休憩も取りやすいしね)

ダッシュやジャンプなどの移動系をマットに入れると人間では操作できなくなる気がするので、そのへんも銃に持たせたほうがよいか検討中。

そしてベルトには二種類のグレネード投擲などのボタンをつける。ここと本体となる銃の接続には何芯のケーブルまで使えるかわからないけど、なるべく多く付けたいところ。(クレイモアの設置とかマップ確認とか一時停止等々ユーティリティ系のボタンは全部ここにつくだろうから。)

マットはダンレボマットのパチ物がAliExpressで売ってるけど、本家は上下左右+○×+STARTSELECTだったのがパチ物は△□も使える。とはいえ現実的に移動としゃがみ/伏せくらいしか割り当てられないような気がする。僕がやりたいのはCall of Dutyであってツイスターゲームではないのだ。
また、こいつは普通にUSBジョイパッドなのでmbedとは接続しない。

接続は残念ながらすべて有線。XBeeを使えば無線化できなくも無い気がするけど制御基板も増えるしコスト的につらい。各部にバッテリーをつけないといけないしそれも嫌。

各部の接続には何を使うかは難しいところだけど、本体とPCの接続(USB)は5pin DINコネクタ、本体とベルトの接続は8pin DINコネクタ、ベルトとナイフは2.5mm モノラルプラグかなぁ、と。マルツパーツ館でいろいろコネクタを見比べて来たけど、DINコネクタが一番頑丈そうだった。

接続イメージ