交互设计及实现
一、交互设计
(一)硬件的基础交互功能
头盔显示器主要依靠内置的陀螺仪来判定参与者的头部位置。在最初基于参与者位置的校准之后,头盔显示器将该位置作为参与者的静止平视姿态位置,此后参与者头部的所有变化都会被判定为视线变化的交互输入。考虑到参与者坐在固定座位上进行影像体验的实际情况,在《太空一夜》中,参与者转动头部只能改变视线方向,而不能改变自身的移动方向,移动方向的控制全部由手柄控制器完成。因此参与者无须为了改变自身的移动方向而在座位上扭转身体。
手柄控制器主要在Unity中完成将按键信号与交互指令相关联的工作,参与者可以通过按键实现相应交互动作的输入。基于PC Xbox构架的手柄控制器沿用了传统游戏手柄的经典人体工学设计,操作区域分为左右手分别控制的主功能区与扩展功能区。左手主功能区为十字方向键与功能可替换的方向摇杆,右手主功能区为“○、×、△、□”十字功能键与功能可扩展的方向摇杆。另外,左右手扩展功能区分别有两个扩展键供双手食指与拇指输入指令。在《太空一夜》中,考虑到操作习惯与键位配合等问题,参与者主要使用L1与R1模拟对喷气背包的控制,使用十字方向键或左摇杆进行屏幕操作控制,使用○键确认交互动作。
(二)影像中的交互设计
如表5.2所示,《太空一夜》中的交互设计以剧情为基础,结合影像表现内容进行推动剧情的核心交互,并结合情感曲线设计在情感平缓期为参与者提供对剧情没有决定性影响的自由交互,使参与者获得不同品质的交互体验。
表5.2 《太空一夜》交互设计

续表

经过前期迭代与评估,创作组对影像中交互体验的难度进行了渐进设计,尽量减少交互操作的学习成本与特异性。主要宗旨有三条:
1.每次只出现一种新的交互;
2.为已经习得的交互提供充足的练习空间与时间;
3.难度的提升依靠已习得交互技能的叠加使用。
创作组在这三条宗旨的指导下完成了交互内容的设计,经过反复测试,最终确定的交互流程难度如图5.13所示。

图5.13 《太空一夜》交互流程难度
二、系统构架与整合输出
针对《太空一夜》在剧情与交互方面的设计,如图5.14所示,影像系统整体构架与具体思路是从需求出发的,其基础是满足两个系统设计需求:一是游戏场景具备一定的可探索空间,设计的多样化场景能带给参与者更多的真实感与沉浸感;二是建立任务触发系统,推动影像内容随着参与者的交互行为逐步得到展现。

图5.14 《太空一夜》系统构架参考图
具体来说,《太空一夜》的系统构架分为五大部分:
(一)资源系统
资源系统用于储存、管理、使用影像中的所有资源,包括基本的模型文件、材质纹理文件、脚本文件、动画文件、声音文件等。如果其他系统要使用这些资源,都需要请求资源系统。
(二)任务系统
任务系统用于构建、驱动整个影像的任务,负责实现具体的影像体验,包括参与者的影像流程是怎样的、第一个任务点在哪里、如何达成,等等。在这个过程中,有什么样的对话、出现什么样的动画都由任务系统来管理。
值得一提的是,任务系统不仅要为影像提供相关任务的信息,还要有一个简单的外部接口。剧情策划人员通过该外部接口可以直接对任务的细节进行设计与修改,对任务文本的格式进行简单的校准,无须接触代码即可输入到程序中。这个接口的设计和转换都是由任务系统来完成的。
(三)影像场景
影像中所有的物体、模型、动画等都在场景中被创建出来,它们大部分是静态的,也就是不会和参与者有任何交互。但也有一部分物体是需要和参与者交互的,这些物体或多或少都与任务系统有关联,关键的交互将推进影像的进程,自由的交互则有相应的反馈。
(四)角色控制系统
角色控制系统主要负责管理与参与者扮演的角色相关的内容。首先,该系统需要监测外部交互设备,例如键盘、鼠标和手柄的活动,并作出准确的反馈;其次,接收到外部输入的指令以后,系统需要一套运动组件来控制角色的运动;最后,影像空间的摄像机也挂在角色控制系统上,摄像机的相关参数、镜头特效也由该系统控制。
(五)UI显示系统
UI(User Interface 用户界面)显示系统是基于摄像机设置的,但是相关数据内容却来自其他各个组件,例如当前的任务信息、对话字幕都来自任务系统,UI显示系统只负责创建、管理、删除相关的UI信息。
创作组在Unity中创建了以上系统,并明确了分工与协作方式,最终通过代码与引擎功能将其共同实现。系统分工有利于虚拟现实数字影像项目的管理和控制,而这一系列系统功能的最终目的仍是让参与者获得完整精致的虚拟现实影像交互体验。《太空一夜》的系统构架经过数次迭代逐步建立起来,但还存在缺点与不足,需要通过迭代进一步完善。