在2001年CHI发表的论文中1,Tan等人提出了一种对3D漫游的分类方法。

当时关于3D漫游(3D Navigation)的研究主要分为两种:一种是发掘有关漫游的认知原则,一种是开发一些具体的漫游技术,用于解决某些特定场景的问题。他们总结了相关的研究如下:

认知原则:

Thorndyke & Hayes-Roth等人:地图和自由探索所获得的空间信息的不同之处;

Darken el al:大型虚拟环境中的认知和设计原则;

Furnas:通过大型数据结构,探索有效的漫游的“可穿越性(traversability)”和“可漫游性(navigability)”;

Bowman:对虚拟漫游的运动方面进行的上层分类;

漫游技术:

-2D:(常常以缩放的方式帮助用户进行漫游)

Masui:以在每个视区内改变搜索区域的方式进行漫游;

Bederson:Pad++,以缩放为主要方式进行漫游;

Igarashi:基于滚动速率的自动缩放,可在滚动速度增加时为用户提供全局文档视图;

Tan等人基于Igarashi的研究,解决了两个问题:如何让用户准确的从全局视图转换到特定的目标区域;还有如何让用户查看某个特定对象。

- 3D:

(同时拥有多个坐标视图)

Fukatsu:同时提供给用户鸟瞰全局图和局部视图;

Stoakley:类似,不过是提供微型的3D世界,而不是鸟瞰图;

Robinett:用缩放的方法让用户快速飞到不同的区域;

Ware:提出“cyclopean scaling”和根据深度调节的飞行,通过物体的距离调节飞行速度。

Elvins:创建3D略缩图(一个微型的虚拟世界)来帮助用户寻找地标;

(扭曲虚拟世界)

鱼眼视图;

透视墙;

Document Lens;

Desert Fog;

Tan等人提出了一个他们认为的初步漫游分类结构,并且根据这个结构来探索关于漫游的设计空间。也就是说,通过画出纵横格子找出所有的可能性,当然有些格子已经被填满了,哪些竟然还没有填满,那没有被填满的格子,就是被遗漏的、值得思考的设计空间。通过这样的方式来发掘新的漫游技术,然后发掘的新技术反过来又启发完善和扩展原本的分类结构。以这样的方式来帮助3D漫游的研究。

Tan等人提出的分类:

* 任务:根据漫游的目的进行分类。

- 探索 Explore:获取勘察信息

- 搜索 Search:确定目标位置,并且移动到目标

- 检查 Inspect:稳定在某个视角观察物体

* 移动控制(Travel Control): 为了实现以上目的的一些解决方案。

- 移动(Travel)具体指的是:虚拟环境中的视角改变,这个视角信息包括:1、位置;2、朝向;3、速度。

- 对于以上三个方面,设计者都必须提供相应的函数来控制他们的值。这个函数根据这几个方面来确定:1、环境状态;2、用户的状态;3、以上两种的综合状态。

* 用户界面

硬件/输入决定了系统给用户呈现的affordance和用户能的控制自由度(DOF)。

设计者要在硬件限制下,选择一个直观的映射方式,将输入和镜头控制联系起来。通常来讲,输入的自由度都是不足的,必须要设置不同的模式来用于不同场景下视角的控制。如果系统能够有效的识别用户的目的,那就可以做到自动地来根据输入设置模式,否则用户就要自己来选择模式。

P.S. 但是我认为,不一定是根据任务/目的来决定运动的模式,可能是根据环境来决定的,比如飞得高的时候想要飞得快一些,不然由于环境变化太慢(因为远),而导致用户觉得自己运动太慢(其实可能并没有很慢)。

除了输入,输出也是设计者必须要关注的。这一点经常被设计者忽略,但是其实系统给用户的输出(反馈)方式,和是否给用户带来了沉浸感,对于用户是否能有效地完成漫游任务有着极大的影响。所以作者认为,设计者的目标就是要让输出带给用户准确的信息:及时、直观、信息丰富。


1 Tan, Desney S., George G. Robertson, and Mary Czerwinski. “Exploring 3D Navigation: Combining Speed-Coupled Flying with Orbiting.” In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 418–425. CHI ’01. New York, NY, USA: ACM, 2001. https://doi.org/10.1145/365024.365307.

3D漫游的分类 3D Navigation Taxonomy的更多相关文章

  1. OpenGL实现3D漫游的理解

    这篇文章主要参考以下两篇博客: 推导相机变换矩阵 OpenGL系列教程之五:OpenGL矩阵类 上面的第一篇是理论的讲解,第二篇有实例代码,我在后面会给出自己写的主函数,依赖的类可以从第二篇参考中下载 ...

  2. 3DTools TrackballDecorator实现3D漫游

    原文:3DTools TrackballDecorator实现3D漫游 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/art ...

  3. 物联网3D,物业基础设施3D运维,使用webgl(three.js)与物联网设备结合案例。搭建智慧楼宇,智慧园区,3D园区、3D物业设施,3D楼宇管理系统——第八课

    写在前面的废话: 很久没有更新文章了,这段时间一直忙于项目落地,虽然很忙,但是感觉没有总结,没有提炼的日子,总是让人感觉飘飘忽忽的. 所幸放下一些事,抽出一些时间,把近期的项目做一些整理与记录.也算是 ...

  4. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  5. 1-Highcharts 3D图之普通3D柱状图与带空值

    <!DOCTYPE> <html lang='en'> <head> <title>1-Highcharts 3D图之普通3D柱状图与带空值</t ...

  6. 3d模型 手办制作 3d model manual production

    3d模型 手办制作 3d model manual production 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313 ...

  7. 使用webgl(three.js)搭建3D智慧园区、3D大屏,3D楼宇,智慧灯杆三维展示,3D灯杆,web版3D,bim管理系统——第六课

    前言: 今年是建国70周年,爱国热情异常的高涨,为自己身在如此安全.蓬勃发展的国家深感自豪. 我们公司楼下为庆祝国庆,拉了这样的标语,每个人做好一件事,就组成了我们强大的祖国. 看到这句话,深有感触, ...

  8. 单图像三维重建、2D到3D风格迁移和3D DeepDream

    作者:Longway Date:2020-04-25 来源:单图像三维重建.2D到3D风格迁移和3D DeepDream 项目网址:http://hiroharu-kato.com/projects_ ...

  9. 3D深色金属哥特3D项目工具小图标icon高清设计素材

    3D深色金属哥特3D项目工具小图标icon高清设计素材

随机推荐

  1. 你真的了解MyBatis中${}和#{}的区别吗?

    动态sql是mybatis的主要特性之一.在mapper中定义的参数传到xml中之后,在查询之前mybatis会对其进行动态解析. mybatis提供了两种支持动态sql的语法:#{} 和 ${}. ...

  2. 2018宁夏邀请赛 Continuous Intervals(单调栈 线段树

    https://vjudge.net/problem/Gym-102222L 题意:给你n个数的序列,让判断有几个区间满足排完序后相邻两数差都不大于1. 题解:对于一个区间 [L,R],记最大值为 m ...

  3. Codeforces Round #481 (Div. 3) C. Letters

    题目地址:http://codeforces.com/contest/978/problem/C 题解:有n个宿舍,每个宿舍人不一样多,有m封信,每封信送给对应的第m间房间,问这封信是给第几个宿舍,第 ...

  4. mysql 查询参数尾部有空格时被忽略

    最近再使用mysql时,无意见发现,当我查询参数尾部输入若干个空格时,依然可以查出和不加空格相同的结果,像这样 select * from wa where name='be ' 等同于 select ...

  5. 百度地图WEB端判断用户是否在网格范围内

    在pc端设置商家的配送范围,用户在下单时,根据用户设置的配送地点判断是否在可配送范围内,并给用户相应的提示. 下面说下我的实现思路: 1.用百度地图在PC端设置配送范围,可拖拽选择 2.根据用户设置的 ...

  6. tensorflow 使用 cpu 而不使用 gpu 问题

    查看 tensorflow 版本 conda list 例如发现 tensorflow 1.10.0 tensorflow-gpu 1.10.0 当两个版本相同时,默认会使用 cpu 版本 如果同时存 ...

  7. java获取电脑mac物理地址

    import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import ...

  8. charles 远程映射到URL地址

    本文参考:charles 映射到远程URL地址 远程映射/Map Remote Settings 功能:把你要请求的地址,映射到一个远程地址:相当于把你的请求地址修改了: 远程映射工具 远程映射工具根 ...

  9. 手把手教你搭建Jenkins实现自动化部署Jar

    centeros7 安装配置环境jdk1.8 1.先卸载centeros自带jdk rpm -qa | grep openjdk 查询出来的自带的openjdk 2.删除 rpm -e --nodep ...

  10. [AI] 深度数据 - Data

    Data Engineering Data  Pipeline Outline [DE] How to learn Big Data[了解大数据] [DE] Pipeline for Data Eng ...