杨艳 卜言彬 王越
摘 要:本论文针对朝天宫建立了一个基于Unity3d的虚拟漫游开发平台,通过实地考察拍摄收集朝天宫建筑数据,采用3D Max软件完成建模步骤,以C#做为开发语言,利用交互式设计思维,结合多种U3D可视化辅助插件,实现了通过以鼠标键盘反馈进行的手动漫游、摄像机自动漫游、小地图同步显示以及以碰撞检测为控制手段的音频交互功能。在朝天宫现实场景的基础上,利用虚拟仿真技术成功构建了具有构想性、交互性以及沉浸感的虚拟现实场景。
关键词:U3D;仿真建模;场景漫游;交互性设计思维
基金项目:江苏省高等学校自然科学研究项目资助(项目编号:16KJB520046)
Abstract:This paper in view of chaotian palace built a virtual roaming development platform based on Unity3d, chaotian palace architecture data collected through field shooting, complete with production softwares 3D Max software, modeling steps to c # as development language, using the interactive design thinking, combined with a variety of auxiliary plug-in U3D visualization, implements the manual roaming through the mouse and keyboard to feedback, the camera automatically roaming and synchronous display, and small map with collision detection means to control the audio interaction function. On the basis of the realistic scene of the heavenly palace, virtual reality scene with conception, interactivity and immersion is successfully constructed by using virtual simulation technology.
Keywords:U3D;Simulation modeling;Scene roaming;Interactive design thinking
1 前言
虚拟现实系统是一种由计算机创建虚拟仿真环境并使用户能够沉浸体验该环境的计算机仿真系统。虚拟漫游技术作为虚拟现实的重要领域之一,能够实现现实场景的虚拟数字化。通过使用VR设备,用户能够实现对现实场景的远程沉浸式体验。相较观看视音频介绍,漫游者能获得更为全面真实的体验。
本系统将基于Unity3d为开发软件,通过实际拍摄实际景物照片与后期3D Max、PS、声音合成软件以及U3D对南京朝天宫进行虚拟漫游系统的设计与实现。该虚拟南京朝天宫漫游系统具有良好的沉浸感、交互性与构想性,能够实际应用到朝天宫虚拟漫游中,使用户足不出户便能体验到朝天宫全方位的景色。
2 虚拟现实漫游系统总体设计
虚拟漫游(virtual roaming),作为虚拟现实(Virtual Reality)的主要分支,其具有独特的3I特性——沉浸感、交互性和构想性。本虚拟漫游系统以这三种特性作为核心思想进行目标设定。
2.1 高仿真场景,提高虚拟漫游的沉浸感
高仿真场景包括建模、贴图、光阴、天空以及植被水流树木这几个部分。完成该目标的思路:前期,对实地进行考察,通过全景拍摄手段、网上查找以及简单测量获取场景的图像和文字数据,包括建筑的各项长度信息和纹理,为建模提供充足的数据支持。建模时,依据前期获取的数据进行高精度布线,建模。利用高分辨率外部贴图以及Vary插件为模型贴图,设置好合适的贴图高光漫反射反射等属性值。U3D制作漫游时,添加高级水流以及外部收集的高分辨率天空盒和树木,添加灯光并打开阴影渲染。
2.2 丰富的交互功能
设置开始漫游、自动漫游、手动漫游、返回、退出等交互按钮,并制作主要建筑音频介绍的触发交互功能。完成该目标的思路:利用前期的PS等设计软件制作界面和UI,利用语言合成软件朗读女将介绍文字转为音频,后期利用U3D插件NGUI制作封面UI,使用PlayMaker完成各个触发机制,Camera Path Animator和U3D自带的各项功能完成漫游等项目的制作。
2.3 良好的优化
能让大部分机型顺畅的运行漫游系统,通过建模时的优化减面操作以及U3D中对碰撞器和光影的优化大幅提升虚拟漫游系统的运行效率。
虚拟漫游总体设计框架如图1所示:
3 三维模型的搭建
虛拟现实不仅需要考虑漫游的仿真效果,还要使系统运行足够流畅,朝天宫场景因为过于庞大,在进行漫游时对硬件的性能会有较高要求。所以在制作模型时,尽量利用简摸+贴图的形式表现,这体现在房顶制作时利用高精度贴图代替砖瓦堆叠的层次感、石柱的凹凸纹理也利用贴图代替等等方面。对在虚拟漫游中不会看到的模型部分予以删除处理。总体来讲模型三角面数在50万面以下可以保证系统一定的运行效率。
3.1 地面的绘制
对于庞大的朝天宫古建筑群场景来说,地型最为重要,地型是承载建筑的最基础也是最重要的部分。根据整个朝天宫古建筑群场景的布局,可以先绘制成长方形的地面。
首先创建一个12730m*10000m的矩形来作为朝天宫古建筑群场景的参考。根据目测和大概的cad图纸,调整这个矩形的大小。
3.2 建筑物的绘制
通过制作地板地基,制作墙体, 在顶视图中,同样利用样条线来绘制墙体,最后完成屋顶的制作。
三维模型的贴图, 在纹理素材方面,需要优先选择实地拍摄后期制作的纹理,其次是网上与朝天宫建筑相似的高精度纹理,尽量选取风格相似的地砖,木纹,砖瓦等图片。对于局部需要修改的图片以及类如牌匾等特殊纹理,可以使用PS软件修改图片各项属性、扣出需要的牌匾图像部分。另外,要比较精细的表现一个朝天宫古建筑群场景空间,贴图的质量与像素不能太低,同时也要考虑到贴图文件过大导致的运行效率低下的问题,要在质量与运行速度中间进行有效平衡。
4 虚拟漫游系统的实现
4.1 漫游场景以及交互素材的完善
在完成3Dmax模型地形导入后,还需要对整个漫游场景添加各种细节以此增强虚拟漫游的沉浸感。通过添加地形、树木花草、植被(地面纹理)、天空盒以及水流等模型物体,使漫游场景更加丰富,同时也要加入光照阴影系统,是虚拟环境更加真实。素材添加进后得到效果如图2所示。
4.2 碰撞检测
漫游一般都采取Mesh Colider作為该模型的碰撞器,但如果遇到模型本身面数过大Mesh碰撞器无效(一个模型面数超过255时,Mesh 碰撞器就会报错无效)或是要添加碰撞器的模型过多导致系统实际运行很卡的情况,就需要利用如Box碰撞器等简单碰撞器代替面碰撞器,对于上不去的高塔顶部以及围墙和树冠都可以使用Box碰撞器。
4.3 交互系统的实现
本系统使用了PlayMaker插件来完成交互功能的核心操作。PlayMaker是Unity3D的一款可视化的有限元状态机(Finite-state machine,简称Fsm)插件,用来进行交互设计。通过对状态机的各种设置,可以利用交互设计的思维方法,简化烦琐的编程过程,使用可视化的解决方案来运用有限元状态机的设计思路在Unity3D中完成交互系统。本系统将利用NGUI来制作开始漫游、手动漫游、自动漫游、返回、退出界面并利用PlayMaker完成UI与各个功能之间的交互。同时也使用空物体和PlayMaker制作到达指定位置的音频介绍交互功能。
4.4 漫游系统的制作
手动漫游本系统利用Unity自带的Character Controller包以及PlayMaker插件完成手动漫游功能,此次手动漫游采用的是第一人称模式。本系统利用Camera Path Animator来实现自动漫游功能。
自动漫游的本质是让摄像机的位置等属性根据之前设立好的路径、运动方式来进行移动漫游,为此要先设立好触发自动漫游的机制,路径,以及摄像机的运动以及其余属性,同时也要考虑退出自动漫游的触发条件。
4.5 小地图的实现
小地图系统的添加能够方便用户在手动漫游时获取自身所处位置的信息,是虚拟漫游系统中较为普遍的功能之一。制作小地图系统需要注意几个方面的问题:小地图是以用户操控单位为中心进行设置的;小地图的人物模型由于实际显示时很小,需要利用一定的标识加以代替,在清晰显示人物位置同时也能方便区分不同的人物模型。两种显示小地图的方式:一是利用摄像机深度不同来制作小地图,二是利用Target Texture与Render Texture来实时更新小地图。
5 结语
本系统利用3Dmax进行仿真建模与贴图,利用Vary贴图增强了模型的真实感,在保证一定质量的同时为提高U3D漫游设计效率进行减面等一系列优化,并成功解决了3D Max模型在导入U3D时会出现的诸如系统单位、方向轴坐标系以及插件不匹配等问题。在U3D漫游制作中,本系统设置了自动漫游、手动漫游、主要建筑音频交互等多种交互功能,同时利用外部天空盒、树木、假山等资源包美化整个朝天宫场景,大幅提升了用户在进行虚拟漫游时的沉浸感,交互性以及构想性,达成了虚拟漫游应有的3I特性。同时在U3D漫游制作时利用了多种插件来简化了操作流程,提高了制作虚拟漫游的效率整体漫游质量。同时对于阴影以及碰撞部分进行一定的优化操作,大幅提升了U3D预览以及运行效率。
参考文献
[1]韦艳娇.沉浸式虚拟现实课堂设计方案研究[D].上海师范大学,2017.
[2]陈俊良.三维虚拟校园的开发与设计,2016-05,
[3]刁子钰.基于Unity3D的吃鱼类游戏设计与实现,2017-04.
[4]曹迎春,李纪伟.虚拟现实技术在古园林复原及数字化工程中的应用——以古莲花池虚拟漫游系统的建设为例[J].河北建筑工程学院学报,2012,30(04):45-49.
[5]周灵,周晓梅,郝婧.一种基于Unity 3D的场景交互漫游[J].电子世界,2016(12):70-71.