あなたが世界中を移動するとき、あなたはあなたとあなたの周りの物体がどのように動いているかについての視覚的および前庭的な信号を得ます。この設定により、これらの信号を個別に操作できます。これは、没入型オーディオビジュアル環境で、オフィスチェアのようにすぐに入手できる部品を使用して、人の動きを制御するための手頃な価格の方法です。
この椅子システム全体に対する私のアドバイスは、何かを適切にまとめる前に、電子機器とモーターをあなたが望むように動作させることです。まず、USBケーブルを使用してArduinoボードをコンピュータに接続します。ツールのドロップダウンメニューで、Arduinoボードが接続されているポートを選択します。
次に、適切なボードを選択し、その後にプロセッサを選択します。実際のボードとプロセッサと一致していることを確認します。ここでは、提供されているサンプルArduinoコードを貼り付けることができます。
Arduinoコードを確認して保存します。次に、アップロードボタンを使用してArduinoボードにアップロードします。電源サブシステムを接続して電源を入れます。
次に、小さなLEDインジケータライトが点灯する位置に小さなトグルスイッチをフリックし、ポテンショメータダイヤルを回して椅子の速度と方向を制御していることを確認します。椅子の速度と方向は、ポテンショメータの位置によって変化する必要があります。次に、新規または既存の Unity プロジェクトを開きます。
SteamVR プラグインをインポートするには、まず、Unity アカウントにサインインしていることを確認します。次に、ウィンドウとアセットストアをクリックして、Webブラウザでアセットストアを開きます。SteamVR を検索します。
SteamVRプラグインを選択し、クリックしてアセットに追加します。Unity に戻り、ウィンドウタブの下にあるパッケージマネージャーを選択します。自分のアセットを選択します。
次に、SteamVRの下にあるインポートをクリックし、プロンプトに従ってインポートを完了します。[すべて受け入れる]をクリックして構成を変更し、画面の指示に従います。インスペクター画面のプロジェクトウィンドウで SteamVR という新しいアセットを探します。
SteamVR アセットフォルダを展開し、その後にプレハブを展開します。カメラ リグ アセットを階層ウィンドウにドラッグして、ゲームで VR ヘッドセットとコントローラーを使用できるようにします。デフォルトのメインカメラを階層またはシーンから削除します (SteamVR カメラと干渉するため)。
次に、SteamVRで使用されているのと同じプロセスを使用してArdityプラグインを検索します。次に、実験に必要なオブジェクトを作成します。これを行うには、ゲームオブジェクトをクリックし、3Dオブジェクトを選択します。
たとえば、カメラ ビューの背景に配置されている背景と呼ばれる平面を次に示します。背景は、ヘッドマウントディスプレイに対して相対的な位置にロックすることができます。シーンに機能を追加するには、インスペクタウィンドウのコンポーネントの追加ボタンをクリックし、新しいスクリプトを選択します。
スクリプトを呼び出し、試用版をセットアップします。ここでの既定のコードは、提供されているセットアップ試用版ファイルのコードに置き換える必要があります。これは、椅子を正しく動かすために必要な最小限のコードです。
Unity に戻ります。新しいセットアップ試用版スクリプトがバックグラウンド オブジェクトにアタッチされました。プロジェクトウィンドウのアセットフォルダの下で、Ardityフォルダを開き、その後にスクリプトフォルダを開きます。
シリアルコントローラスクリプトを階層ウィンドウのバックグラウンドゲームオブジェクトにドラッグします。インスペクタウィンドウのコンポーネントのリストを下にスクロールして、シリアルコントローラスクリプトを見つけます。ポート名とボード・レートがArduinoプログラムのポート名とボード・レートと一致していることを確認します。
背景オブジェクトを階層ウィンドウから、インスペクタウィンドウのメッセージリスナーの横にある入力ボックスにドラッグします。インスペクタウィンドウの下部にある[コンポーネントの追加]をクリックし、新しいスクリプトを選択します。名前、新しいスクリプトチェアコントローラ。
提供された椅子コントローラスクリプトは、このファイルに貼り付けることができます。少なくとも、ユーザーのアクションを 0 から 1, 023 までの数値に変換する関数が必要です。次に、シリアルコントローラドット送信シリアルメッセージ機能を使用してArduinoに番号を送信し、スクリプトを保存します。
Unity に戻り、ヘッドマウントされた表示オブジェクトを階層ウィンドウからヘッドの横にある入力ボックスにドラッグします。次に、右側のコントローラー オブジェクトを手の横の入力ボックスにドラッグします。インスペクタウィンドウを下にスクロールして、セットアップトライアルスクリプトのパブリック変数を見つけます。
サンプルコード入力タイプによると、3つはVRコントローラ用、4つはマウスコントロール用です。ここでは、VRコントローラが選択されています。SteamVR アプリをオフにすると、Unity で初めて再生ボタンを押すと、SteamVR アクションに関連するエラーメッセージが表示されます。
プロンプトに従って SteamVR アクションを設定します。設定ウィンドウを閉じて、SteamVR からのその他のプロンプトを処理します。最後に、再生ボタンを押してVR体験を開始します。
これらの設定により、ユーザーはVRコントローラを使用して椅子を回転させることができます。ここでは、観察者のアクションと、実験中の椅子とシーンの変化の概略図を示します。合同条件では、観察者がコントローラーを左に動かすと、椅子も左に移動し、視覚的背景は、あたかも人が回転している静止したシーンであるかのように反対方向に移動します。
不整合な状態では、椅子は反対方向に移動し、椅子の動きは視覚的な背景の動きと不整合になります。ここに示されているのは、視覚ディスプレイの刺激領域のスクリーンショットです。小さなパターン化されたパッチはずっとその場にとどまりましたが、その中のパターンは、各パッチが大きな動くオブジェクトへの窓であるかのように移動しました。
リング上に横たわっているパッチがターゲットを構成し、他のパッチが背景を構成しました。このビデオ例では、ターゲットが垂直方向に上に移動し、背景が右に移動しています。移動する背景は、ターゲット内で左方向の動きの錯覚を作り出し、ターゲットが上方、左方向に移動しているように見えます。
この幻想的な左向きの動きは、誘導運動と呼ばれます。ターゲットリングの視角の半径は5度で、背景領域は20度ずつ微妙に変化しました。合同運動条件および不整合運動条件下での誘導運動効果の強さは、パラメータβの値で表される。
代表画像は、合同条件および不整合条件における各観察者の平均ベータ値を示す。予想通り、観測者が背景の動きが静止した世界を通る彼ら自身の動きによって引き起こされたと仮定した場合、合同条件の平均ベータ値は1に近い。1人の観測者を除いて、すべての観測者のベータ値は、不整合な椅子運動条件で減少した。
このデータは、視覚的背景の動きを観察者の物理的な動きによって引き起こされたものとして見る可能性が低いことを示しています。あなたはあなたの椅子プーリーとあなたのモータープーリーが本当にうまく整列していることを確認したいです、そしてベルトの張力は良いです。ベルトに少しの屈曲がありますが、それほど多くはありません。
ヘッドセットを使用して視覚的および聴覚的な合図を制御でき、モーター制御または足駆動の身体運動を別々に行うことができます。遊ぶことはたくさんあります。