【連載第5回】複数感覚の同時刺激でVR酔いを防ぐ!フィードバック設計の全技術
1. はじめに:視覚だけでは脳は騙せない
こんにちは!DMC VR部隊です。
前回の記事では、VR酔いをゼロにするための3つのコツの全体像を紹介しました。今回は、その中でも最も重要な 「コツ① ベクション発生タイミングで、視聴覚以外の複数感覚を刺激する」 について、具体的な実装方法まで深掘りしていきます。
なぜ複数感覚の刺激が必要なのか?
VR酔いの主な原因は、視覚情報と身体感覚の不一致 です。VR空間で「動いている」と目は認識しても、身体(前庭感覚・体性感覚)は「動いていない」と判断する――この矛盾が脳の混乱を招き、VR酔いを引き起こします。
ならば、視覚だけでなく 身体の他の感覚器官も同時に刺激 すれば、感覚の不一致を解消できるはずです。これが、私たちの作品における最重要戦略です。
2. 刺激する4つの感覚と具体的な実装
『VRだるま落とし』では、以下の4つの感覚を 同時に 刺激することで、VR酔いを防いでいます。
① 視覚(Vision):言うまでもなくVRの基本
VRゴーグルによる視覚情報。これは当然ですが、これだけでは不十分です。
② 前庭感覚(Vestibular):耳石器と半規管で加速度と回転を感知
前庭感覚 は、内耳にある耳石器(加速度センサー)と半規管(回転センサー)によって、身体の動きを感知する感覚です。VR酔いを防ぐ上で、最も重要な感覚 と言っても過言ではありません。
【重要】並進運動による加速度刺激が最優先
前庭感覚の中でも、特に 耳石器(加速度センサー)を騙すこと が最重要です。耳石器は、身体の 並進運動(直線的な移動)による加速度 を感知しています。
VR空間で前後左右上下に移動する際、視覚は「動いている」と認識しますが、耳石器が「動いていない」と判断すると、この矛盾がVR酔いの最大の原因となります。
【実装方法:ガスシリンダー式落下装置】
プレイヤーが座る椅子を、ガスシリンダーで 物理的に垂直落下 させます。これにより、視覚情報(VR空間の落下)と前庭感覚(実際の並進加速度)が完全に一致し、「本当に落ちている」という感覚を自然に得られます。
技術仕様:
- 落下距離: 約20cm(市販のガスシリンダー式椅子の部品を流用しているため、この範囲に限定されます。専用設計すれば更なる落下距離も可能ですが、コストとのバランスでこの仕様としています)
- 制御方法: Arduinoからサーボモーターを制御し、椅子のレバーを物理的に操作してガスシリンダーのロックを解除(市販椅子のレバー機構をそのまま流用)
- 着地時の衝撃吸収: 最下点到達時の衝撃が体験を阻害しないよう、スポンジで柔らかく吸収(硬い衝撃は地面に落ちたという錯覚につながり、映像上の落下中であることと大きく矛盾するため。柔らかく受け止めることで落ち続けていると錯覚できる。)
通信方式:
UnityからArduinoへは、USB-HID(Human Interface Device) として認識させた状態で通信を行います。Unity側からサーボモーターに送る PWM値を直接指定 する形で制御コマンドを送信し、椅子のレバーの角度を制御しています。
③ 触覚(Tactile):風と振動で「動いている感覚」を増幅
【風による触覚刺激】
落下シーン では、扇風機でプレイヤーの顔に風を送ります。「落下による風圧」を再現し、触覚的にもリアリティを高めます。
技術仕様:
- 扇風機: 一般的な卓上扇風機(風量調整可能なもの)
- 制御方法: USB-HID経由でArduinoにOn/Off信号を送信し、リレーで扇風機をON/OFF制御
- 配置: プレイヤーの正面、顔の高さに設置
うちわで扇がれるシーン では、サポートプレイヤーが扇ぐうちわの風が、そのままメインプレイヤーに届きます。視覚上の移動と、体に当たる風がリンクすることで、不快感なく横移動を体験できます。
【振動スピーカーによる触覚刺激】
椅子の座面の下に 振動スピーカー(トランスデューサー) を設置し、低周波の振動を伝えます。
技術仕様:
- 使用機材: アクーヴ・ラボ社のバイプロトランスデューサー(15Hzまでの超低周波を表現可能)
- アンプ: 小型D級アンプ(SMSL SA-36Aなど)
- 音源: Unityから直接音声出力、または専用のオーディオインターフェース経由
重要な使い方:
- ハンマーで叩くシーン: 減衰正弦振動波をMax/MSPで生成し、リアルな打撃感を再現。UnityからはUniOSC経由でトリガータイミングのみを送信し、Max/MSP側で振動波形を生成・出力します。
- 着水シーン: 低周波(50-100Hz)の衝撃音を再生し、「バシャン」(ザザーンの方がしっくりくるかな?)という着水の衝撃を体感させる
- 水中シーン: さらに低周波(30-60Hz)の持続音を流し、「水に包まれている感覚」を演出
- 波の音: 通常時は波の音(ザザーン)を流し、「海の上にいる感覚」を維持
④ 聴覚(Auditory):音で「存在感」と「臨場感」を演出
VRゴーグルのヘッドホンから出力される音響は、臨場感を高めるだけでなく、接触感を演出する 重要な役割も果たします。
【音による接触感の演出】
前述の振動スピーカーから流れる 波の音(ザザーン) は、単なる環境音ではありません。この低周波の音が椅子を通じて身体に伝わることで、「椅子に座っている」という接触感 を無意識に感じさせています。
逆に、この音を あえて消す ことで、接触感を失わせることもできます。
3. 【番外編】VR黒ひげ危機一発での「跳ね上げ装置」
前作『VR黒ひげ危機一発』では、さらに攻めた演出として バネ式跳ね上がり椅子 を実装しました。
装置の仕組み
プレイヤーが「当たり」(はずれかも?)を引くと、椅子の下に仕込まれたバネが解放され、椅子が約15cm跳ね上がります。VR内では爆弾が爆発し、プレイヤーは上空150mまで吹っ飛びます(笑)。
技術仕様:
- バネ: 圧縮コイルバネ
- 解放機構: サーボでロックピンを引き抜き、バネを解放
「音を消す」ことで浮遊感を増幅
ここで最も重要なのが、音による接触感の演出 です。
通常時は振動スピーカーから 波の音(ザザーン) という重低音を流していますが、椅子が跳ね上がった直後に 音を完全に消します。
なぜ音を消すと浮遊感が増すのか?
振動スピーカーから流れる低周波の音は、椅子を通じて身体に伝わり、「椅子に座っている」という無意識の接触感 を生み出しています。
この音を消すと、視覚的な浮遊感と、身体的な「椅子から離れた感覚」が一致し、浮遊感が何倍にも増幅されるのです。
逆に、音が鳴り続けていると「まだ椅子に座っている」という感覚が残り、せっかくの跳ね上げ演出が台無しになってしまいます。
4. 実装のポイントとコツ
① タイミングの同期が最重要
視覚、前庭感覚、触覚、聴覚――すべての刺激は 完全に同期 している必要があります。数十ミリ秒のズレでも、違和感につながり、逆にVR酔いを誘発する可能性があります。
Unityでは、イベント駆動で各デバイスに個別にコマンドを送信していますが、デバイスごとに指令を出してから実際に動くまでの遅延時間が異なります。例えば、サーボモーターの動作開始、扇風機の風が届くまでの時間、振動スピーカーの応答速度などはすべて異なります。
そこで、各デバイスの遅延時間を事前に計測し、イベントをトリガーとして意図的に異なるタイミングで個別にコマンドを送信することで、プレイヤーが実際に体感するタイミングを完全に一致させています。
② 過度な刺激は逆効果
刺激が強すぎると、驚きや恐怖が勝ってしまい、体験の楽しさが損なわれます。落下距離、風の強さ、振動の大きさは、何度もテストして最適なバランスを見つけましょう。
5. まとめ:複数感覚の刺激が「酔わない」を実現する
VR酔いを防ぐためには、視覚だけでなく、前庭感覚・触覚・聴覚を 同時に、正確なタイミングで 刺激することが不可欠です。
『VRだるま落とし』では、ガスシリンダー式落下装置、扇風機、振動スピーカーといった安価で入手しやすい機材を組み合わせることで、この複数感覚の刺激を実現しています。
そして、『VR黒ひげ危機一発』で学んだように、「刺激を取り去る」 という逆のアプローチも、体験を何倍にも増幅させる強力な手法です。
次回(第6回)は、「コツ② ベクションが発生しにくくする設計」 について、等速・等加速度運動や空間設計の具体的な手法を解説します!
📚 VRだるま落とし 連載目次
- 第1回:MFT2025でVRが減った理由とは? 私たちが創った「みんなで楽しむVR」
- 第2回:VRだるま落とし大解剖!~みんなで楽しむ3つのステージの遊び方~
- 第3回:VRを「みんなの遊び」に変える!入力と出力のフィジカル・コンピューティング設計
- 第4回:VR酔いゼロへの挑戦!180人全員が笑顔の秘密とは?
- 第5回:複数感覚の同時刺激でVR酔いを防ぐ!フィードバック設計の全技術(本記事)
- 第6回:(準備中)ベクションが発生しにくい運動設計と空間設計
- 第7回:(準備中)物理法則に則ったカメラ制御の実装
Discussion