变体 · VR

设计VR水迷宫实验

每一个设置都是一个设计决定。下面介绍如何做出这些决定。

在虚拟迷宫中,一切都由你控制:房间、线索、移动速度、起点。这是一份礼物,也是一份责任,因为每一个选择都会改变任务所测量的内容。

VR水迷宫(HVS 6D VR)

一段可直接编辑的方法描述,适用于在HVS 6D VR中运行、用HVS Image分析的人类VR水迷宫。

任务在HVS 6D VR([version])中运行,使用通过Link线缆连接的Quest 3头显;参与者使用[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一个位置(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等(1998)使用计算机版莫里斯水任务,评估其能否推广到人类领域;如果讨论人类虚拟水迷宫的先例,请引用该文。

常见问题

vrScript实验文件如何运作,应放在哪里?

每个实验都是一个纯文本.vrScript文件,按相应的功能键运行。1) 在VR电脑上的实时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或接近1。

深入了解

更改PLAYER_SCALE会让环境感觉更大或更小。支持案例中的例子:速度系数1、比例0.16和2 m的水池,主动速度约为0.14 m/s(穿过直径约需14 s)。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点? · vrScript实验文件如何运作,应放在哪里?

如何设置导航模式:跑步机、方向键、头部倾斜还是控制器?

用几行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外垂直显示场地;视点固定,红色箭头移动;第五个值旋转视图;第三个值设为-0.2可以让使用头部倾斜时箭头更容易看到。

深入了解

跑步机前进运动把每一步映射为沿头部注视方向的移动;在速度系数为1、每步0.5 s时,每秒两步或更多感觉很自然。设置保留在.BOND文件头中,便于报告。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点?

如何在vrScript中设置起点和位置?

位置使用六个数字:东、高度、北,然后是三个角度。1) 在水迷宫中,东和北是水池半径的比例(0.6 = 到边缘的60%)。2) 例如:TRIAL_START_POINT -0.7 1.13 0 0 270 0表示从偏西70%处、水面高度、面朝西开始。3) PRE_TRIAL_START_POINT设定练习位置;按Enter移动到试次起点。

更多细节

vrScript中的位置是六个数字:相对中心的东/西(+为东)、离地面的高度(米)、北/南(+为北),然后是从北方顺时针计算的矢状、横向和冠状旋转角度(度)。在水迷宫中,东和北是水池半径的比例;在其他环境中它们以米为单位。第一个试次之前,参与者在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定义的目标边缘时,试次结束。可见平台标记使用MOVE_OBJECT Visible_10cm_Platform,高度为0,其他坐标与TARGET_POSITION完全一致;一旦使用,它会一直保留,直到被移开(例如第一个坐标设为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是半径,不是直径。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点? · 其他环境中的寻找目标任务与VR水迷宫有何不同?

如何设置试次类型、时间限制、平台停留时间和返回起点?

使用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;留空则不显示消息,可以使用任何语言。三角形完成系列可以让每个试次从上一个目标开始。

相关: 如何在vrScript中设置起点和位置? · 如何在VR水迷宫中设置目标、可见平台和线索?

我可以使用哪些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行添加或移动远端线索。可选项包括:有四个线索的典型MWM实验室,可带或不带水池屏风;只有自然线索的实验室;或者没有实验室特征、阴影或墙壁的理想化环境,四个线索中的任何一个都可以放在任何位置。场景名称见你的示例.vrScript文件。在实验室中,MOVE_OBJECT行用于添加或移除线索组、围栏、自然线索和屏风(第一个坐标为20即移除)。在理想化场地中,Star、Sphere、Hexagon和Cone线索按高度(第二个)和距离(第一个和第三个)坐标定位;Star和Hexagon需要旋转以面向场地。试次前起点:实验室中为等候区(例如-5.2 2.2 4.2 0 0 0),无特征场地中为练习水池(0 -1000 0 0 0 0)。

深入了解

更多环境(天然水池、Minecraft风格、人类尺度、公寓、郊区、森林/山地)在部分系统上可选。远端线索可以靠近水池,也可以又大又远(提供方向而非位置)。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点? · 线索应该放在哪里?

如何用近端线索设计双策略VR水迷宫?

用MOVE_OBJECT放置近端球形线索,并与远端线索结合,以测试不同的策略。1) 从白色、中灰、深灰、红色或绿色的球中选择(每种8个)。2) 例如在水池周围放一圈七个中灰球和一个白球。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或接近1;位置是距中心的米数,高度是离地面的高度(使用演示值,因为地面可能与地板高度不同);可见的圆锥标记显示目标(要移除,把它移到例如第一个坐标为1000处)。PRE_TRIAL_START_POINT和TRIAL_START_POINT可以相同。任务数据、分析和备份遵循水迷宫的流程。

深入了解

探测任务持续到最长时间,测试参与者对目标位置的信心;把学会的位置保留在TARGET_POSITION中。其他范式包括三角形完成(路径整合)。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点? · 如何在VR水迷宫中设置目标、可见平台和线索?

如何设置放松或头痛模块?为什么音频不播放?

为每个任务用所选的mp3文件设置MAIN_MP3和END_WITH_MP3;mp3结束时会话进入下一步。1) 使用…\HVS_4D_VR_Data\Audio(或HVS 6D VR_Data)中的文件。2) 按Enter后音频开始。3) 如果始终不开始,检查文件是否存在、名称是否完全一致。4) 如果之后场景仍继续,检查END_WITH_MP3。

更多细节

按照寻路说明操作,并添加MAIN_MP3和END_WITH_MP3行,指定C:\HVS Image[version]\Programs\VR\HVS_4D_VR_Data\Audio中的mp3文件;mp3结束时,VR进入下一个任务。按Enter后播放音频(之前是背景鸟鸣)。如果mp3始终不开始,说明文件缺失或名称不匹配;如果之后场景仍继续,说明END_WITH_MP3缺失或不匹配。能听到鸟鸣即确认声音设置没有问题。

深入了解

如果缺少Audio文件夹,从最近的VR备份文件夹中复制。放松音频文件由HVS提供。视频播放尚未包含,但原则上可行。

相关: 如何设置试次类型、时间限制、平台停留时间和返回起点? · 如何在VR中使用EEG生物反馈?

如何在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 Morris水迷宫的可配置参数中。

发现错误,或知道更好的来源?告诉我们,我们会修正,并在更正页面上说明。