WiiリモートベースのPCステアリングホイール



私たちのほとんどは、Wiiなどのゲーム機を知っています。その特徴はWiiリモートワイヤレスコントローラーです。 今日は、このコントローラーを便利で機能的であると同時に非常に安価なコンピューター用のハンドルに変えた私の経験についてお話します。

コントローラー自体の機能は印象的です。

画像 三軸加速度計
画像 赤外線カメラ
画像 Bluetooth接続
画像 振動モーターとスピーカー
画像 4つのLEDインジケータ
画像 追加のコントローラーを接続する
画像 12個のボタン

私たちにとって、加速度計とBluetoothは重要です。 そして、手順自体は次のようになります。
  1. Wiimoteコントローラー(Wii Remoteの別名)を見つけます。
  2. コンピューターに接続します。
  3. コントローラーの加速度計からのデータを、ゲームが理解できる形式に変換します。

Wiimoteコントローラーの入手先


Wiiプレフィックスを持つ人は、次のステップにスキップできます。 持っていなかったので、コントローラーを別途購入することにしました。
ロシアでは、約2,000ルーブルの費用がかかりますが、これは不当に高価です。 だから二度考えずに、私はEbayオークションに行きました。 そして、私は間違っていませんでした! 1年前、新しいオリジナルのWiiリモコン+ヌンチャクは送料無料でわずか18.50ドルでした。 今日の検索結果をざっと見てみると、価格はさらに低くなりました。

コンピューター接続


一見、ここで問題が発生することはありません。主なことは、内蔵または外部のBluetoothレシーバーを持つことです。 インターネットでは、Wiimoteをコンピューターに接続するためのいくつかの 手順を簡単に見つけることができます。
ただし、古いWindows Vista、またはさらに古いBluetoothアダプターが原因で、Microsoftの標準Bluetoothスタックを使用してコントローラーを正常に動作させることができませんでした。 しかし、Microsoftがつまずいたところで、IVTはBlueSoleil製品(残念ながら、有料)で成功しました。 それほど労力をかけることなく、コントローラーを接続し、安定して動作させることができました。 詳細な手順は、たとえばここにあります

簡単な説明:
  1. BlueSoleilをインストールします(成功した場合は、標準のWindowsツールを使用します)。
  2. Bluetoothアダプターをアクティブにします。
  3. コントローラーのボタン12をクランプし、デバイスの検索を開始します。
  4. コントローラーは、ニンテンドーRVL-CNT-01として認識されます。

Wiimoteをハンドルに変える


WiimoteがPCで動作するようにいくつかのプログラムが作成されています。たとえば、 GlovePIEは、以下を含む入力デバイスをエミュレートするためのユニバーサルプログラムです。 内部スクリプト言語を使用してコンピューターとWiiリモートを接続します。
検索後、このようなスクリプトをいくつか見つけることができますが、ここではすべてがそれほどスムーズではありません;)
私はコントローラーを仮想ジョイスティックで動作させることができましたが、加速度計での動作は非常に不安定でした:特定の軸でコントローラーを少し回す(または速すぎる/広すぎる/など)と、フリーズし、データの送信を停止します。
私はこの不名誉に我慢せず、捜索を続けました。 しばらくして、すばらしい.NETライブラリWiimoteLibに出会いました 。 これにより、コントローラーのほぼすべての機能にアクセスし、センサーからデータを受信できます。 コントローラーからのすべての情報を表示するプログラム例が含まれています。


加速度計からのデータが得られたので、ゲームで理解できる形式にする必要があります。 ほとんどのレースゲームは、ステアリングホイールの鉄の実装をサポートしています。 そして、それらを仮想化します。 これを行うには、ユニバーサルジョイスティックエミュレーションドライバー-PPJoyを使用します。

公式ダウンロードリンク: PPJoySetup-0.8.4.5-early-release.exe

システムに新しい仮想ジョイスティックを追加します。

画像 PPJoyをインストールする
画像 コントロールパネルで、「パラレルポートジョイスティック」を見つけて開きます。
画像 [追加]ボタンをクリックします。
画像 パラレルポートパラメーターが仮想ジョイスティックに変更されました
画像 [追加]ボタンをクリックします。
画像 リストで作成したジョイスティックを選択し、「マッピング...」をクリックします
画像 次へ>
画像 スクリーンショットのように、このウィンドウと後続のウィンドウを埋めて、セットアップを完了します。



私は、C#で小さなプログラムを作成しました。これは実際、WiimoteとPPJoyの橋渡し役であり、仮想ボタンを押して、ジョイスティックの仮想ステアリングホイールをねじります。 起動時に、感度を設定できます。


次のリンクからソースコードとともにダウンロードできます: WiiController.zip

現実世界の試験


すべてのテストは、レーシングシミュレーターColin McRae:DiRT 2で実施されました。
写真とビデオの品質について事前におaび申し上げます。5年前にすべてが石鹸皿で撮影されました。



ゲーム設定のおおよそのビュー:


そして、コントローラーを備えた実際のゲームは次のようになります。



印象


純粋にポジティブ! Wiimoteのみを使用してゲーム全体に合格しました。 すべてが非常に安定して迅速に機能するため、数分後には、これをまったく意図していないデバイスを手に入れたことを忘れます。 長所から:巨大なステアリングホイールはハーフスクリーンを閉じず、手の動きを妨げず、すべてのコントロールはコントローラーボタンに表示されます。

ps一般に、Wii Remoteを使用して多くのクールなものを作成できます。その一部を次に示します。
  1. http://johnnylee.net/projects/wii/
    指の追跡、マルチタッチボード、頭の追跡(3次元の錯覚を作成するには、モニターの端を越えて見てください)。 実際、これらのプロジェクトに感銘を受けたWiimoteを購入しました。
  2. http://habrahabr.ru/blogs/DIY/91149/
    Wiimoteを使用して頭の位置を追跡するWinscapeの世界への仮想ウィンドウ
  3. http://habrahabr.ru/blogs/subconsciousness/2877/
    Wiimoteを使用する最も創造的な5つの方法。

Source: https://habr.com/ru/post/J114237/


All Articles