探索虚拟现实的视觉呈现与交互
胡晓雪
摘要:虚拟现实技术大致来说是把客观世界的某一局部用虚拟电子的方式模拟出来,让人们走入这个世界,身临其境。文章通过对虚拟现实技术视觉呈现与交互的分析,结合设计作品形象生动地来阐述虚拟现实场景设计的方式方法,从而设计出更为逼真、运行更为流畅的虚拟现实场景,为后续虚拟现实场景设计提供技术上的经验技巧。
关键词:虚拟现实技术;视觉呈现;交互设计;模型制作
中图分类号:TP391.9文献标识码:A? 文章编号:1003-2177(2020)23-0116-03
0引言
虚拟现实系统是通过计算机、人机接口技术、多媒体技术、立体影像技术、传感与测量技术、动作识别技术语音交互技术等构建出的一个能够再现人类想象空间的系统,其呈现出的视觉效果令人震撼。
1虚拟现实的简述
1.1虚拟现实的基本特征
1993年,美国科学家Burdea G.和Philippe Coiffet在世界电子年会上提出了虚拟现实的三个最突出的特征:“沉浸感(Immersion)”“构想性(Imagination)”“交互性(Interactivity)”,即虚拟现实的“3I”特性。
在虚拟现实技术中,“沉浸感”指的是某种技术手段最终达到的效果,是虚拟现实世界力争追求的技术体验。用户通过VR设备,进入计算机营造的立体三维虚拟场景中,成为虚拟场景的一部分,全身心的投入到虚拟环境设定好的程序里。用户可以在三维虚拟场景中自由行走、观看,还可以参与场景设定的情节,好比真实世界的一切[1]。
虚拟现实技术里的“沉浸感”是衡量虚拟现实技术性能好坏的一个标准。用户之所以能够产生“沉浸感”是因为用户对虚拟的环境产生了现实世界感觉的错觉。沉浸感包含了多种特征,其中多感知性(Multi-Sensory)和自主性(Automony)是最为关键的两个特征。多感知性是指除计算机体验给人带来的主观视知觉外,还应具有其他“四感”的感知性。理想中的虚拟现实技术应该是包罗万象的,能够体验真实世界的“五感”。自主性则是虚拟场景在与人们交流互动时的动态表现程度,最大限度的服从自然规律或设计师设定的规律。
构想性指的是在现实世界中无法实现或不存在的创意构想,通过虚拟现实技术在三维的虚拟环境中实现。用户可以大胆想象并创造出真实性与非真实性并存的想象空间。
交互性是指用户通过VR设备用人类的自然属性与虚拟环境中的事物进行交流互动,能够感受到虚拟的物体属性,如重量、外形等。虚拟现实技术的最大特点就是可以与用户直接进行交互。虚拟现实技术的出现改变了长久以来“以计算机为主体”的理念,开始接受“人是信息环境的主体”。虚拟现实技术使人与虚拟世界建立起了多维度交流互动的桥梁,使人机交互提升到了一个新的层面。
1.2虚拟现实的应用
20世纪90年代,计算机在各个领域的应用得到普及,计算机技术也得到前所未有的迅猛发展,这为二维信息、三维信息整合成为虚拟现实增加了可能性;进入21世纪以后,大数据信息处理速率显著提高,虚拟现实技术的应用也逐步出现在教育、军事、娱乐、设计、商业、艺术等领域。
1.2.1教育领域
1985年,美国国立医学图书馆尝试使用虚拟现实技术进行指导教学,运用虚拟现实技术开展仿真的人体解剖教学课程;21世纪,网络高速发展,虚拟现实技术在教育方面的实际运用日趋广泛。虚拟现实的教学技术让用户自然而然的、无障碍的与三维虚拟场景中的各个事物进行交流互动,甚至还可以转变参与形式,多元化的参与教学与学习进程。虚拟现实教学技术是一种可以直观的呈现出多维度讯息的培训学习方式,使用户更有效、更迅速地掌握一门新技能。
1.2.2军事领域
传统的大规模军事演习不仅消耗大量物资且安全得不到保障。为了弥补这一缺陷,虚拟现实作战系统应运而生。虚拟现实作战系统指的是在计算机中创建一个模拟现实战场的虚拟场景,作战人员可通过模拟场景得到训练。同时,在这个线上的虚拟场景中,通过模拟与敌人作战,还可以检测、评测作战武器的综合性能。在我国同样也非常重视虚拟战场的研究工作,如模拟飞行的虚拟仿真系统,飞行虚拟仿真系统能够让操作者产生置身云端的感觉,使操作者的视觉、听觉与现实无异,开启了虚拟现实在军事领域培训的新模式。
1.2.3医疗领域
现今,虚拟现实技术已廣泛开发使用于医疗手术过程中的方方面面。虚拟现实技术可提前使医生进行手术实施演练,还可为实际治疗提供辅助信息和辅助操作,规避手术风险。医生运用虚拟现实技术进行手术实操训练,通过3D模型模拟患者病灶,设计出适用于患者的手术切口位置及角度。医生在VR设备的辅助下,置身于虚拟手术台上,全方位的进行虚拟手术演练,提前熟悉手术流程,反复分析与推敲患者病情,最终选择合理的治疗方案,减少给患者带来的损伤,降低手术出错率。
1.2.4设计领域
虚拟现实技术应用于建筑设计、产品设计、室内设计、展示设计、游戏开发等领域。在德国的高端汽车制造行业中,绝大多数的制造商都设有专门的虚拟现实技术研发机构,为汽车设计研发提供专业的技术服务。在虚拟现实技术的加持下,汽车的设计造型、内饰外饰、零部件等设计得到反复试验达到最优。空气动力学的试验和安全试验也可通过虚拟现实技术完成,节约了大量的人力物力,缩短了汽车的研发时间。虚拟现实技术在建筑设计领域的应用也起到不可忽视的作用,改变了先前二维图纸枯燥的表达方式,通过可视化的三维技术,将虚拟建筑造型立体的展现在客户眼前。同时,它还可以模拟大型机械的施工操作,从而预测机械施工过程中可能出现的问题,提前预防并解决问题。
2视觉呈现的基础
三维模型是虚拟现实场景运行的视觉呈现基础,也是虚拟现实场景在VR设备中实现的基础,关乎虚拟现实空间的实际体验。在虚拟现实技术中,一个三维虚拟环境的建立主要包括环境模型的建立和环境漫游程序的编写[2]。用户在体验虚拟现实场景时,所呈现出来的一切都是由三维建模技术创建,可见三维模型的重要地位。
2.1模型的创建与优化
3DMax是一款基于计算机系统且专用于三维模型制作与动画渲染的软件,建模功能强大,材质种类丰富。设计师使用3DMax软件能够建造出富有创造力且逼真的模型作品,可以充分展现设计师的创意构思。
构建三维虚拟现实系统就是通过计算机技术营造出能够呈现真实世界自然属性的虚拟环境系统。当然,三维模型在模拟真实世界时并不是越逼真越好,而是要结合系统运行的速率与虚拟环境的需求,在保障虚拟现实环境显示的可实施性前提下,从中找到一个最佳合理方案。
模型创建之前一般会在3DMax中导入一张CAD平面图,图片的在3DMax上的三维坐标设置为(0,0,0)原点,并设置好模型创建的单位,以便模型的建立。
创建模型时,要注意模型中面与面的距离不能太近,两个面之间的间距约是虚拟场景最大尺度的1/2000。若场景中面的距离过近,场景在实际应用过程中就会出现画面的闪烁。为提高虚拟现实技术中交互场景的运转速率,应降低模型中面的数量以及删减场景中看不见的面。模型创建完成时需反复检查,不能出现共用面、反面、漏面、破面等。重复的物体可以复制,不用重复建立,减少资源的消耗。模型创建时,先对意向概念进行分析,将模型的块面进行划分,利用3DMax修改器中的样条线(Edit spline)和可编辑多边形(Editable Ploy)建模。尽量避免使用可编辑网格(Editable Mesh)建模,避免三角面的出现,如图1。
模型创建完成后,为提高虚拟现实场景运转速率,降低VR设备与计算机硬件的负荷,还需要对模型再进一步优化。结构复杂的模型有着复杂的面和顶点结构,对于计算机渲染来说,复杂的模型会带来更多的运行负担,影响环境渲染的效率和质量。因此,为了降低模型的网格面数,通过安装使用Polygon Cruncher插件来提高计算机软件运行时的渲染性能,提高渲染速率[3]。Polygon Cruncher插件较其他同类插件的优势就在于不影响模型原有结构的情况下,优化减少模型的面数。当然,我们也可用纹理贴图来替代,利用渲染器中的凹凸与置换命令,使得模型跟随贴图纹理变化,减少因建模而产生的模型面与顶点数量。
2.2模型的材质和贴图
模型优化之后需要根据物体特性给素模附上对应材质。材质编辑一般使用Vray标准材质球,也可使用3DMax自带的多维/子对象材质球,使用这两种材质球的3DMax格式文件导出与Unity3D通用的文件格式,导出文件格式为FBX,再把通用格式FBX文件导入到Unity3D虚拟引擎中,这样的软件之间的导出转化就不会使材质与模型失去关联。
2.3模型的塌陷与导出
模型经过创建、优化和附材质后,需将模型塌陷[4]。在3DMax中,模型的每一次修改都会被记录下来,如果记录较多就会占用系统资源,进而导致计算机运行缓慢,所以模型需要用塌陷命令来解决这一问题。
以上步骤完成后,最终需要将模型导出,在3DMax里将模型文件导出为软件转换的通用格式,再由通用格式文件导入到Unity3D虚拟引擎中,再进行下一步的操作。FBX格式是软件之间进行模型、动作、材质等信息转化的通用格式,如3DMax、MAYA文件之间的互转等。模型导出时,要注意弹出对话框中的参数设置,需勾选嵌入的媒体选项,如若没有勾选,模型导出则会使模型的纹理贴图失去关联。3DMax和Unity3D的X、Y、Z坐标轴方向不同,需转化成一致方向,因此,轴转化中向上轴要勾选Y-up,其他设置保持默认。
3虚拟现实的视觉呈现与交互
模型完成之后,需导入到虚拟引擎之中。Unreal Engine和Unity3D是现在最常用的两款虚拟引擎,Unreal Engine是世界范围内为数不多的较有影响力的游戏引擎之一,在虚拟现实技术的游戏引擎市场中占有较大份额。Unreal Engine虚拟引擎的画面效果可达到较高的3A游戏水准,有着强大的材质编辑器,能够轻松获得电影级效果。Unity3D是Unity Technologies 开发的一款跨平台、完全集成的专业级虚拟引擎,包含了整合的编辑器、跨平台发布、地形编辑、着色器、脚本等特性。Unity3D最明显的优势就是可以让开发者在多平台之间进行开发,避免了开发者浪费更多的时间在操作方式、硬件条件、屏幕尺寸上等。
3.1虚拟引擎Unity3D
Unity3D虚拟引擎是由许多场景组成的,开发者可以根据实际需要来添加如灯光、树木、车等组件,而这些组件上又可以添加如触发盒子、声音、碰撞、重力、粒子特效等,功能强大且便利。
3.2模型的导入和基本设置
将3DMax模型格式转化为通用格式FBX格式,再由FBX格式的通用格式文件导入到Unity3D虚拟引擎之中,从而实现软件之间格式的兼容互换。导出后的FBX格式在导入到Unity3D虚拟引擎时,应将Inspector面板里面的Generate Lightmap UVs选项勾选,勾选之后的模型在烘焙光照贴图时会呈现出更为逼真的视觉效果。灯光也需要根据场景需要来添加:方向光(Directional)、点光(Point)、聚光(Spot)、面光(Area)通過这些光的配合来烘托理想的视觉氛围达到虚拟现实的效果[5]。
3.3虚拟引擎的脚本和UI
虚拟引擎的脚本在虚拟现实的开发中起到决定性作用,上文提到的模型、材质、贴图等决定了虚拟现实的视觉效果,而游戏的质量和运行则需要靠虚拟引擎的脚本来实现。虚拟引擎的脚本是通过编写代码来执行一系列动作命令的特殊文本,Unity3D支持Boo、JavaScript、C#三种语言格式的代码编写。UI(User Interface)指的是人与系统进行互动时所使用的用户操作界面,是人与信息交互的媒介。UI设计决定了一个产品的性格和品位,好的虚拟引擎脚本与好的UI设计相结合,从而制作出一个好的虚拟现实系统。
4结语
在科技发展与人民需求的双重驱使下,虚拟现实技术迎来了一个温暖春天,无论是技术理论还是基础硬件都实现了质的飞跃,不断地为人们的生活提供着便利。文章系统的阐述了最初从模型开始到最终的虚拟引擎脚本和UI制作,把虚拟现实的视觉呈现和交互的过程完整的展现在大家面前。结合作品说明虚拟现实设计中所需要注意优化的关键点,为虚拟现实场景设计师提供点滴经验。
参考文献
[1]钟蕾,魏雅莉.论虚拟展示设计[J].包装工程,2006,27(1):239-241.
[2]黄心渊.虚拟现实技术与应用[M].北京:科学出版社,1999.
[3]刘满中.虚拟的世界,完美的表现:简论虚拟现实技术在环艺设计表现中的运用[J].黄石理工学院学报,2009,26(5):36-39.
[4]张继.虚拟现实艺术设计的研究与实践[D].济南:山东大学,2010.
[5]刘晓宇.虚拟/增强现实技术在报纸出版中的应用研究[D].北京:北京印刷学院,2017.
(责编:陈静姝)