该列表是根据我的几篇文章和有关在VR中创建用户体验的注释而编制的。 该材料是作为对新的Modum Lab专家的一组附加建议而创建的,这些专家致力于在VR项目中创建交互系统(主要用于HTC Vive和独立解决方案)。 首先,有必要分析诸如控制器的使用,移动系统,开发接口元素的细节,化身的可视化以及沉浸问题等主题。VR简介
1.在仿真开始时添加一个暂停-让用户在场景中几秒钟不做任何事情。 这将使一个人
适应新的环境并在太空中导航,此后他将能够专注于任务。 无需立即要求用户执行任何操作-这是因为缺少通知,配音和任何动画。 场景的外观可以逐渐显示。 例如,当虚拟环境没有立即出现在您的眼前时,退出淡入淡出,从用户周围的碎片组装等等。
2.新用户很难被迫迈出VR的第一步。 因此,连同使用运动系统的训练(例如,远距传送)一起,您可以添加场景中通常的物理运动的任务。
3.首先,用户可能无法很好地确定深度对象的位置,因此一开始最好放置交互式元素,使它们始终与人的原始位置保持一定距离,或者反之,要比人的原始位置更远,因此很明显,需要采取几个步骤到对象。
搬家
4.在大多数情况下,如果用户被拥护在一个项目中,那么开发人员应对此负责。 关于此主题的
讨论很多,已经创建了虚拟空间中运动系统的大量
变化 ,包括各种细分解决方案,例如,
技术和开发人员将继续
探索这个问题。
请注意此主题的研究,因为对于不同的任务,您可以选择最适合的空间移动方式。 在这种情况下,当前最常见的选择是使用隐形传送,即通过使用控制器指示要移动的点或视线方向来立即在空间中移动用户。 第二种流行的机制是各种飞行变化。
在各种项目中使用隐形传送的实现方式的理由:
5.在项目中使用远距传讯可以说是一个不错的选择,也可以围绕这种“局限性”构建
游戏玩法 。
6.实际上,传送本身有很多类型-这是场景的特定区域内的自由传送,到指定点的传送,瞬时和通过效果(通过阴影,帧序列,通过直线快速移动到给定点)等。 。 这完全取决于执行移动过程的特定项目。
基于区域的隐形传送也可以
工作,并且比传统的隐形传送容易得多。 这是用户不能移动到空间的任何点,而是移动到一组特定的定义区域时的情况。 但是,这些不仅仅是点,即与跟踪区域和用户在其中的位置相对应的空间区域(这会导致场景设计中的许多困难)。
7.创建一个隐形传送系统时,值得限制使用隐形传送的最大移动距离。 由于第一次使用VR眼镜时,用户经常会迷惑控制器的按钮,他们会不小心移动很远的距离,这将导致空间不断迷失方向-“我在哪里,我怎么来这里?”
8.如果您决定实施自由移动系统-使用控制器上的按钮来控制摄像机移动的经典方法,则为前庭设备尚不准备就绪的那部分观众提供一种替代选择。
9.使用自由移动系统,可以通过构建场景或游戏级别的结构来减少晕动病的影响,从而使用户主要向前移动。
使用自由移动系统的示例项目控制器,指针和显示交互式内容
10.如果控制器/手触摸了交互式对象,则此时可以突出显示该对象,表明已经可以进行下一步-接受它。
11.拍摄交互式对象时,手的控制器/模型通常是隐藏的。 您不应该可视化控制器,控制器半沉浸在与用户交互的对象的几何形状中。
先锋集团公司的虚拟陈列室项目(以下)12.如果在手势模型的帮助下进行了交互,并且当您握住一个对象时,手仍然可见,那么您需要为各个对象开发一套独特的笔刷位置,以使每个对象或对象类别在手中看起来都自然。 必须考虑到,这将需要一定的时间和财务成本,并且在拿起对象时控制器或手
不见了 (与Oculus Touch的人体工程学不同,情况可能略有不同),因此与以前的版本相比并没有明显优势。
我喜欢从不断将自己与虚拟化身的特定图像相关联的位置中不断观察手部的选项。 即使只是通过手势显示,您也可以指示您被提供了角色,例如,机器人或幽灵。 并且如果与对象进行交互时手没有消失,则这种连接会一直存在。 但是我不确定这是否会比仅可视化我们用手握持的物体更能影响我们在VR中的手感。 这是Job Simulator开发人员如何考虑的示例-youtu.be/hjc7AJwZ4DI?t=1795
13.仅在绝对必要时才应使用HTC Vive控制器的侧面按钮,但最好不要使用它。 这些在此系统中不是很明显的控件。
14.项目中涉及的控制器按钮越少越好。 例如,您可以使用基于区域的捕获方法来仅通过一个控制器按钮与对象进行交互。 在某些情况下,当您需要在有限的区域内移动对象时(在桌子上地毯上的鼠标可以在Job Simulator中的地毯内移动),这种方法会起作用。
在其他情况下,您需要针对这种情况开发单独的案例。 例如,在项目中引入了一个实体-获取和返回对象的区域。 当存在单独的区域时,通过按触发器来抓住对象并更换控制器,然后再使用触发器会触发该对象的逻辑。 通过单击返回到返回区域后,对象保留在该区域中,并且控制器再次可视化。 这种方法将减少用于类似类型的操作(对象激活-捕获和使用)的按钮数量。 否则,有必要将对象捕获功能放在一个按钮上,然后在另一个按钮上使用,这将引发有关如何处理其他动作的问题,这些动作也需要按钮,例如,远距传输。
15.如果可视化您的手,最好击败它们的末端-变得透明,或者在创建具有手形的手套时使用“空手套”效果,但是如果从袖带的侧面看,里面什么也没有。
没有任何样式的常规几何切片的示例 使用淡入淡出(保持透明) 手套的例子16.不要对手进行真实的可视化,它几乎总是看起来不太好。
注意拿钥匙的那种手17. 双手 的 透明度解决了“短暂性”的问题-当用户可以用手穿过场景的几何图形时。 另外,在几何图形与普通不透明手相交的时刻,您可以使用任何效果(全息图,在截止线附近进入透明性等)来敲击截止边界,这也可以消除反馈问题。
18.目前,用于VR的运动控制器具有一个优于经典输入设备的非常强大的优势-由于设备控制器的简单性以及它们在项目中的使用方式,输入阈值较低。 我们正在谈论自然手势和身体动作。 例如,我们将控制器拿出一个甜甜圈,放到嘴里,播放咬断片的动画,并填充角色的生命。 或在需要拉出弹匣并安装新弹匣时重新装填枪支。 或通过安装盒带启动游戏,然后将其保存到录音机并按“播放”按钮。 除了这些动作是非常容易理解的事实之外,因为它们已在现实世界中使用,所以它们也成为游戏玩法以及整个新用户体验中更重要的一部分。
但是,这种解决方案存在一个有趣的问题,不是在VR游戏领域中,而是在非游戏方向上-速度。
有必要将用户交互系统框架内各种方法的优缺点与特定项目中的交互环境相关联。
在某些情况下,速度将是决定性的因素(使用来自控制器的激光束单击甜甜圈),在另一情况下,从真实世界转移的物理交互过程将非常重要(接近,用手将甜甜圈举起并放在脸上,以便播放饮食动画) 。 例如,可以通过这种交互的频率来证明向更抽象的控制方法的过渡是合理的。
19.如果用户看起来像可以拿或单击的对象,则希望与他们触及的所有事物进行交互。 在设计和填充场景对象时要牢记这种特殊性,满足他们的期望很重要。 例如,仅将交互式对象放置在到达区域中,而不将静态和交互式对象放置在一个区域中,依此类推。
解决此问题的另一种方法是为交互对象设置清晰的视觉指示(动画标记以一定的距离出现在交互对象上)。
20.按住瞬移按钮的那一刻,您可以在用户尚未访问的区域中显示各种兴趣点指示器。
21.解决在地板上举起物体以免用户撞到真实地板上的真实控制器的问题的解决方案-如果物体掉在地板上,那么当手伸到地板上时,它会飞起来一点。 重要的是要创建对象“悬浮”过程的附加视觉指示,以免使用户迷惑。
另一种选择是,当控制器光束悬停在下落的物体上时,可以“磁化”下落的物体。
模拟的经典版本中,不建议与对象一起移动是当对象掉落到地板上时,将其重置在原来的位置时重置位置。
小费
22.仅仅将用户聚焦在场景中所需区域上的动机可能是不够的,最好一次使用多个工具-该区域本身的动画,灯光,字符区域的指示,语音和文本等。 还值得考虑的是,场景中对象(动画)的行为比语音或文本吸引更多的注意力。
23.如果看不见控制器本身和要按下的按钮,则很难理解使用控制器进行复杂操作的说明。 因此,在熟悉管理的第一阶段,最好以一种或另一种形式显示它们。 例如,用户的手出现在模型中,替换画笔,控制器在手/被摄对象旁边的空间中可视化。
24.当一个窗口中用来拾取您手中物体的窗口可视地移动到需要安装/移动该物体的另一位置时,移动弹出窗口会很好地工作。
控件的放置,主菜单
25.主菜单是用户在项目中看到的第一件事,不能将其放置在黑色背景的空白中,最好是花一点时间在抽象环境上,这比完全没有任何空间要好。
沉浸式仿真平台无需界面即可加载场景但是,这也不总是足够的。 在直接进入模拟之前,菜单可以在大厅的字面意义上反映项目的概念。 在游戏中,这已被长期
使用 ,但是在各种服务中,这方面的关注却很少。
26.如果场景之间的负载持续很长时间,则最好分配时间来创建“候诊室”,该空间可以在视觉上和概念上与主菜单或项目中用户正在等待加载关卡的其他场景相关联。
27.将界面与场景空间相关联。 即使这是悬挂在空间中的主菜单面板,也要证明其在环境中的存在性-它可以是一台投影仪,用于在场景中显示全息图,在环境要素上显示全息图的反射或光,等等。
双向接口的概念非常适合VR,增强了由于空间位置和叙述理由而发生的事情的真实性。
28.在创建用于与界面元素进行长期交互的用户工作区时,应该忘记科幻电影(如“少数派意见”)中的陈规定型观念-不要将交互元素与控制器进行交互在视线范围内使用-这非常使人感到疲倦。 将空间分为上半身的信息区域和用户腹部的交互区域,在第一种情况下,将放置各种状态屏幕,通知,输入字段,在第二种情况下,位于交互式块,键盘,菜单项等。
29.以防万一,最好弄清楚-避免将界面元素附加到用户的相机上。 在这种情况下,您可以将此类元素放置在相机前面一小段距离处,并设置以某种惯性向后移动的可能性。
30.以场景空间中任何实际对象的形式可视化按钮和其他工具(例如物理三维按钮,控制杆等
)远非总是合适的。 在虚拟面板中,如果在用户操作上配置了高质量的反馈,那没有错:按钮可以响应指导,例如高亮显示按动,深度移动,压力响应等。
控件可以方便地放置在控制器周围,就像在
Tilt Brush中所做的那样,以通常的2D界面所在的平板电脑模拟形式呈现界面的方式,对于用户来说甚至更加直观和易于理解。
解决方案的相关性取决于项目的具体情况。
31.通常,您可以找到一种解决方案,即以全息图或类似于智能手表的某种面板的形式将控件放置在手腕上。 在此重要的是不要使这种接口单元的功能超载-很难将精力放在与交互元素进行交互上。 该解决方案非常适合各种通知和简单的操作集。
第一人称化身
32.在以任何现实风格以第一人称视角显示用户化身时,仍然是部分显示化身的标准方法,即只显示所显示的身体部位,即 本质上,只有手是可视的。 这可以解决运动过程中用户的真实和虚拟身体的位置不匹配的问题。
33.在某些项目中,虚拟形象处于静态位置,例如在
赛车和其他模拟器中。 在这种情况下,可以在没有任何特殊困难的情况下可视化整个化身,用户自己可以调整虚拟角色的位置,“同步”真实和虚拟的身体。
34.是的,有些项目没有附加的身体跟踪系统,可以形象化地显示化身的整个身体。 在其中一些项目中,这甚至还不是那么可怕(通常是动作游戏,由于游戏的动态性,不一致的现象得以消除)。 但是,如果您决定以第一人称形象化身的整个身体,那么您应该考虑对化身本身进行样式设置-像机器人,卡通人物这样的人物可以使这里的情况变得平顺。
叙述也将在这里有所帮助-如果跟踪系统不允许虚拟化身重复整个真实身体的运动(例如来自Oculus,Sony和HTC的眼镜),则可以采用其他方法。 即 并非试图向用户证明他的虚拟身体是真实的,而是要指定化身,例如,作为与用户进行交互的远程控制系统的一部分,在视觉和叙述上击败它。
, , “”, . , , , - , .
35.在定制化身时,还没有人想出更好的解决方案,例如使用虚拟镜像。但是还有其他选择,从在法规框架内选择正确的套装过程中,在有条件的“甘露聚糖”的安全模拟中使用衣柜物品或PPE进行,到带有存货对象的经典面板结束。无论如何,建议在使用该物品时增加声音支撑-布料,防护手套,头盔等的声音。头像和网络
36.第一人称用户仅看到他们的手,而场景中的其他用户则可以看到其对话者的完全可视化的化身,这是因为实物和虚拟物体之间的运动不匹配对于观察者而言并不像虚拟物体所有者那样重要。37.如果我们谈论网络互动的化身的风格,最好放弃人们的真实形象,以消除“险恶谷”的可能问题,这是由于追踪系统和缺乏对面部表情,眼睛和身体其他部位的追踪导致的现实运动冲突所致。在这里,更适合使用非真实感视觉样式。但这并非总是如此。. ( ) , . , . , , , , .
一个单独的主题是培训模拟中网络化身的可视化,但是在每种特定情况下都需要进行实质性讨论。38.除了夸张的可视化效果外,开发人员还经常以各种方式尝试用用户化身的脸部和面部表情来敲打瞬间,用眼镜,口罩和太空服遮住脸部。这样做是为了节省资源并补偿跟踪面部表情的可能性。当然,如果它适合项目的概念。39。如果存在化身可以进行语音通信,则化身隐藏了嘴巴或不应该使用其动画时,应使用lipSink或其类似物来可视化语音。选项之一是突出显示(同样,如果样式允许,则)或将其他指示符显示为UI元素,即使使用唇形链接,该指示符通常也是重复的。40.有很多方法可以通过处理用户头像来增强社交存在的效果:- 将闪烁的动画添加到化身-这将极大地激活场景中的角色。
- 响应身体运动的附件的其他动画效果很好。
- , — , , . , , , .
41.您不能破坏用户头像的移动过程。如果使用身体跟踪-用户可以看到其他人的化身根据控制者的位置而运动,那么您将无法在此过程中截取动作来播放与真实人无关的化身的其他动画-这将破坏社交存在的影响。42.如果该项目中具有网络交互功能的主要功能是用户(聊天模拟)之间的通信,并且在此模拟中不需要整个移动系统,那么最有效的选择是将化身放在桌子上,所有通信工具都在不动的地方。杂项
43.如果用户初始化了从一个场景到另一个场景的过渡,那么通常会使用各种隐喻。例如,用户随控制器一起携带并到达头部的水准球基本上渗入其空间。另一个示例是虚拟现实中的虚拟现实眼镜,需要将其移动到另一个空间。一方面,这是过渡的合理明确理由,另一方面,是沉浸式技术。
44.用户可以在自己房间的真实空间中自由移动,并且更有可能越过虚拟对象。解决这种情况的一种方法是删除相交几何的“实质性”,使其看起来不牢固,并对相交的时刻进行样式化,以使几何的切片看起来不像是个错误:这与在场景中与对象相交时手模型的几何形状的一部分的情况类似。
您还可以选择使用样式化,以显示对象的内部结构。如果设置允许,不一定是现实的,可能是夸张的和可笑的。45.有时用户会超越场景本身的边界,例如穿过虚拟房间的墙。在这种情况下,最常见的情况是将照片简单地淡化,有时将用户自动传送回去,由于空间方向的丢失,这可能不是一个很好的选择。为避免这种情况,作为“自由移动系统”项目的一部分,HUGE ROBOT提供了一个相当有趣的解决方案。在相交的时刻,跟踪系统的网格在空间中可视化,显示了用于移动并突出显示用户所在的对象轮廓的物理区域。但是超越叙事的界限可以作为叙述,场景的一部分,甚至可以成为游戏机制的一部分。
例如,您可以在游戏关卡的墙壁后面放置其他场景几何体,将关卡本身设计为装饰。或者,您可以在离开场景时产生移至另一个空间的效果,或者可以在一段时间后(如果他不是偶然地躲在墙后并试图规避游戏规则)在离开虚拟空间时惩罚玩家-唯一的问题是数据的相关性特定项目中的接待。46。具有交互式环境的主题的特殊情况涉及封闭门的案例的开发,因为与用户达成了不言而喻的协议,即如果门有把手,则可以尝试将其打开。把手从门上掉下来,门打开,但是存在一面砖墙或一个三维空间,没有细节等细节(如果这种技术与项目概念一致)。这些小事情是对增强沉浸感的用户体验的必要关注程度的一个示例。
47.如果您决定将已经在太空中飞行的机器人的经典图像用作随附的用户助手,则以下是一些技巧,如何使它更有吸引力,更生动:
48.虚拟现实中的用户仍然是他本人,角色游戏是角色扮演游戏,在这种虚拟环境中,他可以尝试角色角色(需要为此事先做好准备),也可以合理地解释自己的角色我本人,我最终进入了虚拟空间-我在另一篇关于打破虚拟现实第四壁的笔记中写道。完全破坏第四壁的可能性可用于某些项目中,以增强沉浸在模拟中的感觉-在真实世界和虚拟环境之间建立联系,解释用户如何最终进入这个空间,从视觉和视觉上击败VR眼镜的存在。49。在VR中的第三人称项目中,当玩家是直接在虚拟环境内部的不可见观察者时,在角色移动期间构建经典的移动和战斗系统非常方便。在这里晕车的问题也随着角色在场景中的主动动作而消失。切换到第一人称此类项目在特定情况下可能出现-在对话或与环境的相互作用,例如,解决任何的难题,因为它是在独家做了Oculus公司裂谷的Chronos和类似游戏的另一个不寻常的例子涉及到非游戏开发。当将用户的化身传送到场景中的椅子上时,我们在Vive的网络交互项目中实现了从第一个人到第三个人的过渡。在传送到虚拟椅子的过程中,我们在其上放置了一个用户化身,虚拟摄像头-视点-移到了角色模型的后面,与用户的真实头部的高度相同,但转动了摄像头,使其朝头部后部看去是化身。在此模式下,用户可以与虚拟表示分开移动,而虚拟表示不会响应他的移动,直到用户决定从场景中某个位置的椅子上进行传送-然后将恢复角色与摄像机/用户之间的同步。这种简单的方法不会破坏摄像机与头部实际位置的同步,并保留了虚拟角色在椅子上可能位置的现有功能。这是一个相当有趣的效果,在具有主要第三方控制权的项目中并没有切换到第一个-在这里,您已经习惯于直接从角色的眼睛感知虚拟场景,就好像您与虚拟身体分离并开始从侧面,背后看到它一样在化身椅子上。在这种情况下,空间似乎不会迷失方向-似乎一切都一目了然-您是谁,您在哪里以及角色在您面前的人。尽管我们另外在用户的头像上方讨论了一个单独的指示器,但实际上是他,以便完全消除失去焦点的任何风险。
50.另外,大约在一个区域内提出了一些建议。- , — , , — .
- . , , , , . , .
- — .
- 声音可以与引导元素一起工作,在场景的空间中移动以将用户聚焦在所需的区域上。
PS最初,该文章发布在公司博客上,但是我认为在主题中心中,对于那些熟悉为VR开发交互系统的人来说,它也会很有趣。