バリエーション · VR
VR水迷路実験の設計
すべての設定は設計上の決定です。その決め方を紹介します。
仮想迷路では、部屋、手がかり、移動の速さ、開始点まで、すべてを自分で制御します。それは恵みであり、責任でもあります。1つ1つの選択が、課題が測るものを変えるからです。
VR水迷路(HVS 6D VR)
HVS 6D VRで実施し、HVS Imageで解析したヒトのVR水迷路のための、そのまま編集できる方法の段落です。
課題は、Linkケーブルで接続したQuest 3ヘッドセットを用いてHVS 6D VR([version])で実施し、参加者は[Omnidriveトレッドミル/トレッドプレート/矢印キー/頭の傾き]で移動した。各実験はvrScriptファイル(HVS Image vrScript technical reference, doi:10.5281/zenodo.22303968)で定義し、トラッキング直径は[TRACKING_DIAMETER]、目標半径は[TARGET_RADIUS] m、最大試行時間は[MAXIMUM_TIME]、そして[手がかりの配置とシーン]とした。スタート位置と向きはvrScriptで試行ごとに定義した。HVS 6D VRはタイムスタンプ付きの位置を記録し、HVS Image([version and build])はすべての指標について、それを100 msごとに1位置(10 Hz)に平滑化した。試行はHVS Imageで水迷路と同様に解析し、不活動の閾値は[threshold] m/sとした(HVS Image Inactivity technical note, doi:10.5281/zenodo.21797205)。[プロトコルに基づく参加者の募集、同意、安全手順、練習。]
著者向けのメモ
すべての[角かっこ]は、最良の設定記録であるvrScriptファイルと.BONDヘッダーから埋めてください。げっ歯類の迷路と比較できるよう、TRACKING_DIAMETERは200を推奨します。げっ歯類とヒトのVRの値を直接比べてはいけません。HVS 6D VRは実験者の手助けを記録しないので(スクリプト化した音声は可能)、手助けをした場合は説明してください。
Astur et al.(1998)は、モリス水課題のコンピューター版を使い、それがヒトの領域に一般化できるかを評価しました。ヒトの仮想水迷路の先例を論じる場合は、この論文を引用してください。
よくある質問
vrScript実験ファイルはどう動き、どこに置きますか?
各実験は、ファンクションキーを押して実行するプレーンテキストの.vrScriptファイルです。1)VR PCの実行用vrScriptフォルダーから、Notepad++などのテキストエディターで開きます。2)実行用ファイルの名前はdefault.vrScriptとF1からF12.vrScriptにします。3)'Run HVS 6D VR'をクリックし、たとえばF1を押すとF1.vrScriptが実行されます。4)わかりやすい名前のコピーは別の場所に置き、必要に応じてコピーして入れます。
詳しく見る
試行は.vrScriptファイルから実行します(同時に最大13個を用意できる:defaultとF1-F12)。Notepad++などのテキストエディターで実行用フォルダーから直接開いて編集します。まず付属のデモを試してください。'Run HVS 6D VR'をクリックしたあと、ファイルに対応するファンクションキーを押します(F1でF1.vrScriptが実行される)。default.vrScriptはキーなしで実行されます。ファイルが複数ある場合、HVSは、キーが必要だとはっきりわかるよう、defaultに空のシーン(SET_SCENE Main)を置くことを勧めています。実行用ファイルはC:\Users\[User name]\AppData\LocalLow\HVS Image Software Ltd\HVS 4D VRに置く必要があります(隠しファイルを表示)。最初の試行の設定をすべて先頭に並べ、NEXT_TESTのあとに変わる設定だけを書いて試行を追加します。
さらに詳しく
シリーズが12を超える場合は、わかりやすい名前の版を別の場所に用意し、必要な名前にしてコピーして入れます。元のファイルのコピーを保管し、実行中に編集したファイルは保管場所にコピーし戻します。付属のFファイルは手直しして使うための例です。HVS vrScript技術リファレンス(DOI 10.5281/zenodo.22303968)にすべてのコマンドが記載されています。vrScriptファイルと.BONDヘッダーは、方法セクションのための最良の設定記録です。スクリプトを書くことはテキストの編集であり、プログラミングではありません。
各vrScriptにはどんな基本の行(シーン、名前、トラッキング直径、プレイヤースケール)が必要ですか?
シーン、名前と備考、それにトラッキング直径とプレイヤースケールを設定します。1)SET_SCENEは付属のシーン名と正確に一致しなければなりません。2)水迷路ではTRACKING_DIAMETER 200とPLAYER_SCALE 0.16を使います。3)TRACKING_AREA_NORTHとWESTは0、SOUTHとEASTは直径と同じです。4)ほかの環境では付属の値(スケール約1)を使います。
詳しく見る
各vrScriptには、シーン、ユーザー、試行、被験体の名前を決め、トラッキング領域とプレイヤースケールを設定する基本の行が必要です。SET_SCENE(付属のシーン名そのまま)、USER_NAME、TRIAL_NAME、SUBJECT、DESCRIPTOR(例:群)、REMARKS(結果に表示される)、TRACKING_DIAMETER、TRACKING_AREA_NORTH 0、TRACKING_AREA_SOUTH=直径、TRACKING_AREA_WEST 0、TRACKING_AREA_EAST=直径、PLAYER_SCALEです。VR水迷路では、結果をげっ歯類の迷路と比較できるよう直径200(cm)を勧めます。実験の間で一定に保ってください。PLAYER_SCALE 0.16は、環境に対する参加者の大きさを正しく合わせます。目標探しの環境では、TRACKING_DIAMETERはデモファイルにある環境の幅(メートル)で、PLAYER_SCALEは1かそれに近い値です。
さらに詳しく
PLAYER_SCALEを変えると、環境が大きく、または小さく感じられます。サポート事例の例:速度係数1、スケール0.16、2 mのプールで、活動時の速度は約0.14 m/s(直径を横切るのに約14 s)でした。
移動方式(トレッドミル、矢印キー、頭の傾き、コントローラー)はどう設定しますか?
vrScriptの数行で方式を選びます。1)矢印キーは追加の行なしで動きます(上下で前後、左右で回転)。2)一部のキーだけを許可するには:DEACTIVATE_NAVIGATION_KEYS、続いてACTIVATE_KEY UpArrowなど。3)トレッドミル:CONTROL_TRANSFORM head_transverse, subject_transverseに加え、READ_OMNI on、SMOOTH_MOTION、OMNI_SENS、OMNIDRIVE_INPUTを追加します。4)頭の向きで進路を変えるべきでないときは、CONTROL_TRANSFORMを省きます。
詳しく見る
キーボード:矢印キーで自然な移動になり、A、S、D、Fは平行移動します(特別な目的がなければ勧めません)。DEACTIVATE_NAVIGATION_KEYSのあとにACTIVATE_KEYの行を続けて、キーを制限します。頭の向きで方向が決まる場合(トレッドミルや回転椅子)は、CONTROL_TRANSFORM head_transverse, subject_transverseを入れ、矢印キーでの移動では省きます。トレッドミルやトレッドプレートには、READ_OMNI on、SMOOTH_MOTION w, n、OMNI_SENS、OMNIDRIVE_INPUTも必要です(付属の値を使う)。頭の傾きはCONTROL_INPUTの行でキーに割り当てられます。例:CONTROL_INPUT left_tilt, LEFT_ARROW, -10(10=最小の傾き角度)。平行移動にはA/D/F/Sに割り当て、無効にするには省きます。
さらに詳しく
トレッドミルのシステムでキーボードで移動するには、HVSは、CONTROL_TRANSFORMを外し、DEACTIVATE_NAVIGATION_KEYSは残したまま、ACTIVATE_KEY UpArrow、LeftArrow、RightArrowを加えるよう案内しました。運動に制約のある参加者は矢印キーを使えます。Viveコントローラーは正式にはシステムの一部ではありません(動くこともある:右のディスクで前進、左のディスクで回転)。固有感覚のフィードバック、没入感、乗り物酔いの軽減のため、トレッドプレートを勧めます。Windowsの固定キー機能が予期しない滑りを起こしたことがあるので、オフにしてください。
移動速度や回転速度を変えたり、ゲインをかけたりするにはどうしますか?
前進の速さはSPEED_MODIFIERで、キーや傾きによる回転はDIRECTIONAL_ROTATION_SPEEDで変えます。1)例:SPEED_MODIFIER 0.3とDIRECTIONAL_ROTATION_SPEED, 0.5。2)頭の向きによる回転は、この値ではなく頭に従います。3)ゲインの実験では、より大きい、小さい、または負の値を使って、予想される動きを変えたり逆にしたりします。
詳しく見る
平行移動と回転の速さは、SPEED_MODIFIERとDIRECTIONAL_ROTATION_SPEEDで調整します。頭の向きによる回転は、頭を回す速さに従います。参加者がある速さに慣れたら、これらの行で予想より速い、または遅い動きを与えられ、負の値は動きを逆にします。オプションの垂直環境では、POINT_OF_VIEW third_person, 0 3 0 90 0 0で、3 m離れたところからアリーナを垂直に表示します。視点は固定されたまま赤い矢印が動き、5番目の値で視野が回転します。3番目の値を-0.2にすると、頭の傾きを使うときに矢印が見やすくなることがあります。
さらに詳しく
トレッドミルでの前進は、一歩ごとに頭と視線の方向への移動に変換されます。速度係数1、1歩0.5 sなら、1秒に2歩以上で自然に感じられます。設定は報告のために.BONDヘッダーに残ります。
vrScriptで開始点と位置はどう設定しますか?
位置は6つの数字で表します:東、高さ、北、そして3つの角度です。1)水迷路では、東と北はプールの半径に対する割合です(0.6=縁までの60%)。2)例:TRIAL_START_POINT -0.7 1.13 0 0 270 0は、西へ70%の地点、水面の高さで、西を向いて開始します。3)PRE_TRIAL_START_POINTは練習の場所を決めます。Enterを押すと試行の開始点に移ります。
詳しく見る
vrScriptでの位置は6つの数字です。中心からの東西(+が東)、床からの高さ(メートル)、南北(+が北)、そして北から時計回りに測った矢状、横断、冠状の回転(度)です。水迷路では東と北はプールの半径に対する割合で、ほかの環境ではメートルです。最初の試行の前、参加者はPRE_TRIAL_START_POINTで待ち、ヘッドセットを確認して練習します。Enterを押すとTRIAL_START_POINTに移ります。-0.7 1.13 0 0 270 0では、1.13が水面の高さ、270は西を向くことを意味します(0が北、90が東、180が南)。プールの縁を向いて開始するのが慣例です。練習用プール(特徴のないアリーナ)やStandard Laboratoryの待機用の囲いには0 -1000 0 0 0 0を使います(例のファイルを確認してください)。
さらに詳しく
開始時の回転は、キャリブレーションした現実世界の正面方向を基準にします。開始時にその方向から180°向きを変えている参加者は、VRでも反対方向を向きます。開始点とターゲット点はプールの半径の約7/9以内に置きます。壁に近すぎるターゲットは、次の試行がターゲットから始まるときに、仮想の体が壁と重なることがあります。標準の開始は外側の壁の方を向き、.BONDヘッダーに記録されます。参加者が壁を通り抜けたり、実験室の床から始まったりする場合は、本番の試行位置に立ってもらった状態でヘッドセットをリセンターし、Enterを押す前にじっとしているよう頼みます。
VR水迷路でターゲット、見えるプラットフォーム、手がかりはどう設定しますか?
TARGET_RADIUS(メートル)とTARGET_POSITIONを設定し、見えるプラットフォームはMOVE_OBJECTで追加します。1)例:TARGET_RADIUS 0.05とTARGET_POSITION 0.4 1.13 0.4 0 0 0。2)見えるプラットフォーム:MOVE_OBJECT Visible_10cm_Platform 0.4 0 0.4 0 0 0(高さ0、残りはターゲットに一致)。3)あとで取り除くには、遠くに動かします(例:最初の座標を20)。4)手がかりやプールのスクリーンも同じ方法で動かします。
詳しく見る
試行は、参加者がTARGET_RADIUS(メートル)とTARGET_POSITIONで定義されたターゲットの縁に着くと終わります。見えるプラットフォームの目印には、高さ0で、ほかの座標がTARGET_POSITIONと正確に一致するMOVE_OBJECT Visible_10cm_Platformを使います。一度使うと、遠くに動かす(例:最初の座標を20)まで残ります。手がかりや物体も同じ方法で追加、移動、削除します。例:MOVE_OBJECT Star_Cue、Sphere_Cue、Hexagon_Cue、Cone_Cue、Pool_Screens。目標探しの環境では、円錐の目印(ターゲットの座標でMOVE_OBJECT Cone_Cue)がターゲットを示します。動かして(例:最初の座標を1000)取り除き、ターゲットの高さは通常、開始点の高さと同じです。
さらに詳しく
TARGET_RADIUS 0.10は、げっ歯類スケールの200 cmのプールで10 cmに相当します。HVS 6D VR 2025のlocation_of_interest機能は、解析のための追加の位置(例:近位手がかりの位置)を定義し、あとから適用することもできます。TARGET_RADIUSは直径ではなく半径です。
試行の種類、制限時間、プラットフォーム上の時間、開始点への復帰はどう設定しますか?
TRIAL_TYPE、MAXIMUM_TIME、STOP_INTERVAL、RETURN_TO_START、INTER_TRIAL_INTERVALを使います。1)例:MAXIMUM_TIME 60。2)TRIAL_TYPEはRegular、visible platform、Probeのいずれかで、プローブは時間いっぱいまで続きます。3)STOP_INTERVAL 10で、ターゲットで見回す時間ができます。4)RETURN_TO_STARTは戻りの試行を加え、INTER_TRIAL_INTERVAL 5は試行の間にシーンを消します。
詳しく見る
MAXIMUM_TIMEは、ターゲットに着かなかった場合の制限時間を決めます。TRIAL_TYPEはvisible platform、regular、probeのいずれかです。プローブ試行はターゲットに着いても最大時間まで続きます。学習した位置をTARGET_POSITIONに残しておけば、図に表示され、解析されます。ほかの試行では、ターゲットの縁で試行が終わり、参加者はSTOP_INTERVAL秒のあいだ見回せます。RETURN_TO_STARTがあると、開始点に戻る新しい試行が始まります(必要な試行ごとにこの行を繰り返す)。そのあと、環境がINTER_TRIAL_INTERVAL秒のあいだ消えます。
さらに詳しく
メッセージ:REGULAR_END_TEXT(例:Target Reached!)、TIMED_END_TEXT(Time's Up)、END_OF_SERIES_MESSAGE。メッセージを出さないなら空欄にし、どの言語でも使えます。三角形完成のシリーズでは、各試行を前のターゲットから始められます。
どんなVR環境と遠位手がかりを使えますか?
SET_SCENEで、現実的な実験室か、特徴のない理想化されたアリーナを選び、手がかりを加えたり除いたりします。1)実験室:MOVE_OBJECT Standard_Water_Maze_Cue_Set、Laboratory_Enclosure、Natural_Cue_Set、Pool_Screens(最初の座標を20にすると除去)。2)理想化されたアリーナ:Star_Cue、Sphere_Cue、Hexagon_Cue、Cone_Cue(すべての座標を0にすると除去)。3)試行前の開始場所には、待機用の囲い(実験室)か練習用プール(理想化されたアリーナ)を使います。
詳しく見る
現実的な水迷路の実験室から手がかりだけの理想化されたアリーナまで、付属のいくつかのVR環境から選べ、それぞれでvrScriptの行により遠位手がかりを加えたり動かしたりできます。選択肢には、手がかりが4つある典型的なMWM実験室(プールのスクリーンの有無を選べる)、自然の手がかりだけの実験室、あるいは実験室の特徴、影、壁がなく、4つの手がかりのどれでもどこにでも置ける理想化された環境があります。シーン名は例の.vrScriptファイルにあります。実験室では、MOVE_OBJECTの行で手がかりセット、囲い、自然の手がかり、スクリーンを加えたり除いたりします(最初の座標を20にすると除去)。理想化されたアリーナでは、Star、Sphere、Hexagon、Coneの手がかりを、高さ(2番目)と距離(1番目と3番目)の座標で配置します。StarとHexagonはアリーナの方を向くよう回転させる必要があります。試行前の開始:実験室では待機用の囲い(例:-5.2 2.2 4.2 0 0 0)、特徴のないアリーナでは練習用プール(0 -1000 0 0 0 0)。
さらに詳しく
追加の環境(自然の池、マインクラフト風、人間サイズ、アパート、郊外、森/山)は、一部のシステムで選べます。遠位手がかりはプールの近くにも、大きくして遠くにも置けます(位置よりも方向)。
近位手がかりを使った二重戦略のVR水迷路はどう設計しますか?
MOVE_OBJECTで近位の球の手がかりを置き、遠位手がかりと組み合わせて異なる戦略を調べます。1)白、中間の灰色、濃い灰色、赤、緑の球から選びます(各8個)。2)例:プールのまわりに中間の灰色の球7個と白い球1個の輪を作ります。3)戦略を強制する試行でそれらを動かし、参加者がどの手がかりに従うかを見ます。
詳しく見る
二重戦略の水迷路では、VRのシーンに動かせる近位手がかりを加えることで、遠くの部屋の手がかりによるナビゲーション(他者中心的)と、近くの手がかりや道筋によるナビゲーション(自己中心的)を区別できます。二重または多重戦略版では、近位手がかり(白、中間の灰色、濃い灰色、赤、緑の球を各8個)を置きます。例:MOVE_OBJECT Proximal_Cue_Mid_Grey_1 0.4 1.5 0.4 0 0 0(東、高さ、北)。HVSが提案した設計の選択肢:手がかりのない白い空間(自己中心的な道筋の記憶)、ターゲット近くの小さな手がかり(近位)、大きく遠い手がかり(立体視と三角測量を使う他者中心的)、それらの組み合わせ、あるいは近位手がかりの有無を選べる現実的な遠景。そのあと、手がかりを動かす戦略強制の試行を行います。
さらに詳しく
他者中心的/自己中心的な行動の識別は、有料の解析アドオンです。近位手がかりを動かしたとき、遠位手がかりと一致する位置を基準に探索すれば他者中心的、新しい近位の位置を基準に探索すれば自己中心的であることを示します。ファイルは作業用フォルダーで編集し、実行中に編集した場合はコピーし戻しておきます。
ほかの環境での目標探しの課題は、VR水迷路とどう違いますか?
同じvrScriptのやり方を使いますが、位置はメートル単位で、プレイヤースケールは約1です。1)TRACKING_DIAMETERと高さはデモファイルから設定します。2)TARGET_RADIUSとTARGET_POSITIONを使い、必要ならCone_Cueの目印でターゲットを示します。3)プローブ課題は、確信度を調べるために最大時間まで続きます。
詳しく見る
目標探し(道探し)の課題では、水迷路と同じくdefaultとF1-F12という名前の.vrScriptファイルを使います。違い:TRACKING_DIAMETERはメートル単位の環境の幅で、PLAYER_SCALEは1かそれに近い値です。位置は中心からのメートルで、高さは地面からの高さです(地面は床の高さと異なることがあるので、デモの値を使う)。見える円錐の目印がターゲットを示します(取り除くには、たとえば最初の座標を1000に動かす)。PRE_TRIAL_START_POINTとTRIAL_START_POINTは同じでもかまいません。課題のデータ、解析、バックアップは水迷路の手順に従います。
さらに詳しく
プローブ課題は最大時間まで続き、ターゲットの位置に対する参加者の確信度を調べます。学習した位置はTARGET_POSITIONに残しておきます。ほかのパラダイムとしては三角形完成(経路統合)があります。
リラクゼーションや頭痛のモジュールはどう設定しますか?音声が再生されないのはなぜですか?
課題ごとに、選んだmp3ファイルでMAIN_MP3とEND_WITH_MP3を設定します。mp3が終わるとセッションが次に進みます。1)…\HVS_4D_VR_Data\Audio(またはHVS 6D VR_Data)のファイルを使います。2)音声はEnterを押したあとに始まります。3)まったく始まらない場合は、ファイルがあるか、名前が正確に一致しているかを確認します。4)そのあともシーンが続く場合は、END_WITH_MP3を確認します。
詳しく見る
道探しの手順に従い、C:\HVS Image[version]\Programs\VR\HVS_4D_VR_Data\Audioのmp3ファイルを指定するMAIN_MP3とEND_WITH_MP3の行を加えます。mp3が終わるとVRは次の課題に移ります。音声はEnterを押したあとに再生されます(その前は背景の鳥の声)。mp3がまったく始まらない場合はファイルがないか名前が一致しておらず、そのあともシーンが続く場合はEND_WITH_MP3がないか一致していません。鳥の声が聞こえれば、音の設定は問題ないことがわかります。
さらに詳しく
Audioフォルダーがない場合は、最新のVRバックアップフォルダーからコピーします。リラクゼーション用の音声ファイルはHVSが提供します。動画の再生はまだ含まれていませんが、原理的には可能です。
VRでEEGバイオフィードバックはどう使いますか?
vrScriptにEEGの行を加え、波形を見ながらリラクゼーションのしきい値を調整します。1)波形を表示するにはEEG_SHOW_DATA_IN_HMD alpha theta delta(および/またはSUMMARY)。2)RELAXATION_THRESHOLD、OUT_OF_STATE_TIME、RELAXATION_TIME_THRESHOLDを設定します。3)追加のリラクゼーションのためにOUT_OF_STATE_MP3を加えます。4)Enterを押す前に、波形が現れるのを待ちます。
詳しく見る
EEG_SHOW_DATA_IN_HMDとEEG_SHOW_DATA_SUMMARY_IN_HMD(波の種類とともに。例:alpha theta delta)は、センサーごとの活動と要約の活動をヘッドセットと画面に表示します。隠すにはOFFにします。RELAXATION_THRESHOLD(例:-230)はリラックスした水準を決めます。OUT_OF_STATE_TIME(例:5 s)は、追加のリラクゼーションを始めるのに'リラックスしていない'状態がどれだけ続く必要があるかを、RELAXATION_TIME_THRESHOLD(例:10 s)は、次に進むのに'リラックスした'状態が再びどれだけ続く必要があるかを表します。波はリラックスしていれば緑、そうでなければ赤で表示されます。MAIN_MP3/END_WITH_MP3で音声を設定し、OUT_OF_STATE_MP3は必要なときに深化の誘導を加えます。
さらに詳しく
EEGを画面に表示しながら、しきい値をいろいろ試します。毎秒のEEGはBOND\EEGに記録できます。一部のシステムでは、バイオフィードバックに心拍数や皮膚コンダクタンスも使えます。
各VR試行で変えられるものは、HVS 6D VRモリス水迷路の設定可能なパラメーターに記載されています。