什么是VR中的Locomotion?
Locomotion,本文中我称之为移位,是VR研究中最重要的话题之一。因为它属于VR中三大元老级操作(Selection选择,Manipulation操纵物体,Locomotion移位),其中,前两个操作是关于物体的,而Locomotion是关于玩家自己的 - 几乎所有的VR应用都避不开这三个操作,而这三个操纵几乎涵盖了所有的VR操作。今天就来解释一下,VR中的Locomotion指的是什么,它有哪些分类和技术。
Locomotion是什么?
Locomotion,用最简单的话解释就是“从一个位置移动到另一个位置”,在VR中,它的指的就是玩家在虚拟环境中从一个位置移动到另一个位置,其本质是玩家视角(viewpoint)的改变:从一个视角变换到另一个视角。Locomotion在中文里尚无一致的翻译,所以这里我暂把它译作“移位”。
虚拟3D环境(包括VR和屏显等)中的Locomotion有三种可能的目的:探索(exploration),搜索(search)和查看(maneuvering)。探索是没有具体目标的移动,其目的一般是搜集环境信息,或者简单的就是享受美景。它讲究一个在环境中移动的自由性,移动的速度要能随心所欲,并且需要能视察大范围的环境全景。搜索则是有一个具体的目标,要在环境中寻找到它。这就要求能够同时顾及远景近景,既能大范围视察,又能有足够的细节,在这中间做一个权衡。maneuvering并没有一个很准确对应的中文翻译,它其实表示的是相对于一个物体的视角控制,一般目的是为了从各个角度观察某个物体或者某个环境,所以我这里把它译作“查看”。比如你如果进入了一个陌生的房间,可能会四周看看,走两步,或者你看到了一个纪念碑,想要绕道正面去看看碑面上写的什么。这时候你不会进行很大范围的运动,但是你会进行很准确的视角控制。查看是三种目的中移动范围最小的,也是最精细的操作,它需要操作的稳定性和精确性。
Locomotion的分类
Locomotion既然是从一个视角变换到另一个视角,那么根据两点之间如何进行变换,可分为两种方式:点对点的移位(target based locomotion)和导航(navigation)。其中点对点移位是直接从一个点跳转到另一个目标点,最常见的例子就是Teleportation传送门,用户选择要去的位置,然后天光一闪,用户就被传送过去了。而导航则是有一个从出发点到目的地的路径。要想导航必须知道当前的方向(spatial orientation)。
很明显的,对于点对点位移,我们只需要知道目的地的空间位置(position)和玩家移位过去以后的朝向(orientation);而导航,除了位置和朝向以外,还需要控制中间的过程。这个多出来的中间过程包括了两个方面的工作:寻路(wayfinding)和视角控制(viewpoint motion control,也称travel)。
其中,寻路主要是一个脑力上的活动,包括了理解空间信息(spatial understanding,理解我的空间位置、我与环境的关系)和计划路径(path planning,选哪个路径走)。关于它有很多认知方面的研究(可见Darken et al., 2014)。设计一种移位方式时,不能违背这些认知的方面的原则。
视角控制就是作为设计师和开发者可控制的部分了。根据我们想要达到的目的,如何让用户操作控制自己的视角。其本质就是开放一个对视角的位置和朝向的控制接口。
什么是VR中的Locomotion?的更多相关文章
- VR中的“寻路(wayfinding)”
虚拟现实(VR)中很重要的一个问题就是Locomotion(用户在VR中的移动).这个Locomotion分为两种,一种是点对点的,如传送门的方式,一种是包含了可以操控的中间过程的,这种被称为“导航( ...
- VR中射线点击按钮的实现
VR中实现UI的Button点击,主要是需要实现IPointerClickHandler接口,因为在Unity将所有的按钮操作都封装成了相应的接口,需要相应的功能只需要去实现对应的接口就好了.在这里我 ...
- VR中为什么需要把游戏音频放在聚光灯里?
VR中为什么需要把游戏音频放在聚光灯里? 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/de ...
- 什么是VR中的vection?
Vection是VR领域的一个专有名词,其义指“在虚拟现实中给人带来‘移动’(self-motion)感觉的认知因素”1.也就是说,vection就是指那些给玩家带来“我正在这个虚拟环境中移动”这种感 ...
- 浅谈html5在vr中的应用
使用过HTML5制作动画过程的开发者都知道,HTML5页面给人一种逼真的感觉,同时HTML也是可以制作VR页面,但是需要你熟练HTML5与JavaScript开发过程,所以在有必要的情况下,我们可以用 ...
- VR中的Redirection
在虚拟现实(Virtual Reality,VR)中,很重要的一点就是用户的在虚拟环境中的漫游(navigation).除了固定视点的VR电影,一般的VR应用,特别是游戏或者其他交互式的应用,都会依赖 ...
- VR中运动控制器的传送系统
创建一个VRPawn 新建一个BluePrint,父类选择Pawn,我们命名为VRPawn,打开它. 添加一个Scene命名为CameraRoot 在CameraRoot节点下添加一个Camera 在 ...
- 使用鼠标左键事件实现VR中的Eye Gaze Input
1.光标以及光标动画的显示 using System.Collections; using System.Collections.Generic; using UnityEngine; using U ...
- 期待中冷静前行,专家预测2017年VR产业5大发展趋势
VR在90年代火过一阵后,在2016年迎来了爆发.今年的VR领域,除了Oculus.HTC.索尼等发布的各家硬件,还有许多VR内容争奇斗艳的迸发,但是VR会一直保存热度吗? 事实上,对于科技圈巨头而言 ...
随机推荐
- HAOI2006 (洛谷P2341)受欢迎的牛 题解
HAOI2006 (洛谷P2341)受欢迎的牛 题解 题目描述 友情链接原题 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之 ...
- springboot之swagger快速启动
springboot之swagger快速启动 简介 介绍 可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调. 没有接触的小伙伴可以参考官网文章进行了解下demo页面. ...
- CF 1206D - Shortest Cycle Floyd求最小环
Shortest Cycle 题意 有n(n <= 100000)个数字,两个数字间取&运算结果大于0的话连一条边.问图中的最小环. 思路 可以发现当非0数的个数很大,比如大于200时, ...
- HDU6223——2017ICPC沈阳G Infinite Fraction Path
题意: 给定一个数字串,每个位子都能向(i*i+1)%n的位子转移,输出路径上,字典序最大的,长度为n的串. 参考:https://www.cnblogs.com/mountaink/p/954144 ...
- hdu5491 The Next 模拟
Let LL denote the number of 1s in integer DD’s binary representation. Given two integers S1S1 and S2 ...
- 这一次,彻底弄懂 Promise 原理
作者声明 本人将迁移至个人公众号「前端Q」及「掘金」平台写文章.博客园的文章将不再及时更新发布.欢迎大家关注公众号「前端Q」及我的掘金主页:https://juejin.im/user/5874526 ...
- elk安装和使用
elk安装和使用 使用的版本都是5.2.0 elasticsearch-5.2.0安装 在官网 下载 elasticsearch tar包 解压安装 tar zxf elasticsearch-5.2 ...
- 3.1、双向循环链表(java实现)
1.创建节点类 public class CNode<T> { public CNode prev; public CNode next; public T data; public CN ...
- 纯css耍个透明正方体转一转
效果 效果图如下 实现思路 定义一个最外层的容器,用来控制显示的位置 定义一个父容器,用来设置元素被查看位置的视图,这里使用到CSS3的perspective 属性 定义子容器,设置为相对定位,利 ...
- Java第三次作业第五题
5. [问题描述]Fibonacci序列处理 从文件in.txt中读取第一个数作为Fibonacci数列的开始数n,读取第二个数,作为需要写入的数的个数m. 将从n开始的m个Fibonacci数列写入 ...