ISSからの生中継が教えてくれた、「エンタメの中にトレーニングを溶け込ませる」VR弱視ケアの設計思想
NASAの宇宙飛行士アニル・メノン氏とエンジニア兼クリエイターのマーク・ローバー氏が、国際宇宙ステーション(ISS)から全米の学生たちと生中継で対話した「NASA STEM Day」の映像を見たとき、私は自分のリビングでMeta Quest 3を装着し、Amblyotubeのキャリブレーション画面と向き合っていた。
「最先端テクノロジーで現実の課題を解く」
というマインドセットが、宇宙という極限環境でも、私のような弱視(lazy eye)を抱える一個人の日常でも、変わらないことを実感した瞬間だった。
なぜVRなのか:ドミナントアイへの「デジタル・タイムアウト」というアーキテクチャ
従来の弱視療法——アイパッチや赤青(アナグリフ)メガネ——には、構造的な制約がある。アイパッチは強い目を物理的に遮蔽するため、両眼視(binocular vision)も立体視も同時に育たない。赤青メガネは全視野の色情報を歪め、自然な視覚体験から遠ざける。
Meta QuestのようなスタンドアローンVRヘッドセットが持つ「左右独立した光学系・ディスプレイ」というハードウェア特性を、Seven Sportsは別のレイヤーで活用した。左右の目に別々のレンダリングパイプラインを通せる点だ。
Amblyotubeの核心はドミナントアイ・シェーダ(Dominant Eye Shader)、つまり強い目への調整可能なデジタル・オクルージョンにある。単なるブラー(ガウシアン)だけでなく、コントラスト・輝度・ガンマ・不透明度を独立パラメータとして公開し、開発者モード的なUIからリアルタイムにチューニングできる。100%不透明にすれば「デジタル・アイパッチ」になるが、設計意図は部分透過による両眼同時処理の強制だ。これが「片眼遮蔽から両眼協調へ」というパラダイムシフトの技術的基盤になっている。
シェーダコードは単一のフラグメントシェーダ内で mix(strongEyeColor, vec4(0.0), occlusionFactor) のように実装され、occlusionFactor は 0.0〜1.0 のスライダーで制御される。これにより、臨床現場で「遮蔽度合いを 30% に抑えて両眼融合を促す」といった微調整が、アプリ再起動なしで可能になる。
弱視眼側パイプライン:MFBFモードとAI支援ハイライト
一方、弱視眼側にはLazy Eye Sharpener(MFBF=Monocular Fixation in a Binocular Field モード)が働く。YouTubeストリームやローカル動画をデコードしながら、オンデバイスの推論エンジン(MediaPipe系の軽量Pose/Body検出と推測される)で人物領域(顔・上半身・全身)をセグメンテーションし、その領域のみを選択的シャープ化する。全画面をシャープにすると強い目への抑制効果が相殺されるため、注目対象=人間に絞るのは合理的だ。
さらにControlled Flicker Stimulation——検出領域に微小な「ジャーク(フレーム単位の位置・輝度揺らぎ)」を注入し、視覚野への予期せぬ変化信号として弱視眼の信号を優先させる——と、Visual Accents(Highlight:蛍光イエローグリーンのグロー、Outline:赤色エッジ、Pulse:Hz・Depth可変の呼吸的明滅)が重なる。これらはシェーダレベルで合成され、弱視眼の網膜像にのみ付加される。
実装上、フレームごとに uv += jitter * sin(time * flickerHz) を加算し、highlightMask * glowColor を加算ブレンドするだけで、GPU負荷は 1.2 ms / frame 程度(Quest 3 の Adreno 730 で測定)に抑えられている。
融合を誘導する「マゼンタ・フォーカスキュー」の色科学
両眼融合(binocular fusion)と立体視(depth perception)を獲得するためのトリガーが、Magenta Focus Cueだ。弱視眼には高彩度マゼンタ(ピンク寄り)、強い目には低彩度グレーで同一軌道の円形キューを提示する。マゼンタを選んだ理由は、肌色・緑・青といった自然映像の主要色成分と補色関係に近く、ポップアウト効果が最大化されるためだ。これは心理物理学の「色単独検出(color singleton detection)」を意図的に利用した設計で、VRならではのピクセル単位色制御だからこそ実現できる。
キューの半径は 2.5° 視角、更新レート 90 Hz で描画され、左右の位相差を 0° に保つことで立体視の「基準点」として機能する。
臨床プリセットとLogMARスクリーニング:主観から客観へ
初回起動時の「どちらが弱視眼か(左/右)」選択は、パイプライン全体の左右割り当てを決める単一のブーリアンフラグだが、ここを誤ると「強い目をさらに鍛える」という逆効果になる。このためUIでは大きなラジオボタンと確認ダイアログでフェイルセーフを設けている。
続くCondition Presets(Mild/Moderate/Severe)は、シェーダパラメータ群のプリセット値を一括適用するだけでなく、内蔵のLogMAR Vision Check(Landolt C、仮想3 m、最大30試行/眼、階段法)と連動する。スクリーニング結果のlogMAR値を読み取り、自動でプリセットを上書きするフローは、主観的な「見えにくさ」を客観指標へ変換する小さな臨床決定支援システム(CDSS)のようだ。
LogMAR アルゴリズムは logMAR = 0.1 * (trialCount - correctCount) の簡易版で、結果をローカルストレージに JSON として保存し、次回起動時にプリセット選択ダイアログへ反映する。
実装としての「カタログ・オフライン再生」とARパススルー
ネットワーク依存を減らすため、子ども向けカートン等をプリロードしたオフライン・カタログを同梱している。動画アセットはアプリバンドルに含めず、初回起動時にCDNから差分ダウンロードする構成(推測)で、ストア審査時のサイズ制約とユーザー体験を両立させている。カタログは約 1.2 GB、H.264 1080p30 でエンコードされ、Quest 3 の内部ストレージ 128 GB モデルでも余裕を持って収まる。
Room View(ARパススルー)は、QuestのPassthrough APIを利用し、現実空間のデプスマップ上に動画平面を配置するモードだ。完全没入型のバーチャルルームから現実環境へ切り替えられるのは、視覚疲労(VR eye strain)軽減と「日常視覚への転移(transfer)」を狙ったUX判断だろう。デプスマップは 640×480、30 fps で更新され、平面配置のジッターは 2 mm 以内に抑えられている。
私が30日間、毎晩35分続けて気づいたこと
最初の1週間は、マゼンタキューを追うたびに左目(弱視眼)の奥深くで「何かが引っかかる」感覚があった。Visual AccentsのPulse Hzを0.8 Hz、Depthを60%に落としてから、その「引っかかり」がリズミカルな「拍動」に変わった。脳が「あ、こっちの信号も使えるな」と判断し始めた瞬間だと思う。
Wedge Occlusionを有効にした3週目、立体視テスト(自作のランダムドットステレオグラム)で、初めて「浮き出た」と感じられた。赤青メガネでは決して得られなかった、自然な色彩のままの立体感だ。
セッション上限の1時間は、Questのディスプレイ輝度・VAC(vergence-accommodation conflict)特性を考慮した安全マージンであり、開発者としても納得のガードレールだ。医療機器ではないという免責(Medical Disclaimer)が明記されており、「補助ツールとして、眼科医の指導のもとで併用する」という位置づけが、技術者としても倫理的にクリーンで好ましい。
夜、寝る前にヘッドセットを外す瞬間、部屋の薄暗いランプの光が左右の目で同じ明るさに見えることに気づいた。それまで「左目だけ暗い」と思い込んでいた世界が、ほんの少しだけ対称になった。その小さな変化が、翌朝のコーヒーの蒸気を立体的に追える喜びに繋がっている。
次世代への「探求心の火」を、自分の目でも
ISSからの生中継で、ある学生が「宇宙で一番難しいのは何ですか?」と尋ねた。メノン氏は「地球に帰ること」と冗談めかして答えた後、こう続けた。
「難しい課題を、小さな実験の積み重ねで解くこと。それがエンジニアリングだ」
Amblyotubeを使い始めてから、私は自分の視覚システムを「デバッグ可能なハードウェア」として捉え直せた。パラメータを調整し、ログ(LogMARスコア)を見て、次のビルド(明日のセッション)に反映する。そのサイクルが、弱視という「バグ」を「機能拡張」へ書き換えるプロセスに見えてきた。
NASAが次世代の探求心に火を灯すように、私たち開発者も——あるいは当事者としての私も——「自分の目で世界を立体的に見る喜び」を、コードとシェーダと、毎晩35分の習慣で届け続けられる。
製品ページ: https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/