时间:2024-05-04
蔡劲
摘要:虚拟现实技术是由多种技术共同组建成的虚拟世界并使用户能够感受其仿真性的系统,它利用计算机构建一种虚拟环境,让人能够在其中获得视觉与听觉上的感知,从而达到逼近真实世界的效果,让人有一种沉浸式的感受。博物馆作为文化的传承体现,其中的文物价值不可估量,它对文明的延续具有相当重要的作用,然而现阶段由于各方面的技术不够成熟,使得博物馆的局限性颇高,因此本文将要介绍的是一种借助Unity3d平台将虚拟现实技术与博物馆相结合所产生的虚拟博物馆技术。首先对该技术进行具体地分析,然后对这种技术的实现步骤进行详细的概述,最终对其结果进行深入的评价,以此来直观地体现虚拟博物馆技术的优劣性。
关键词:虚拟现实技术;博物馆;Unity3d
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)36-0194-04
引言
尽管博物馆文化一直在积极发展,但是其局限性始终处于较为显眼的状态,包括:1)博物馆由于其地理位置原因,对于距离较远的游客十分不便;2)尽管博物馆对于文物的保护已经是十分仔细细心,但是难以保证文物的侵蚀完全停止;3)由于对文物的保护,游客难以近距离观看展柜中的文物,游览视角十分有限且交互性不足。
随着计算机技术的飞速发展,各行各业都或多或少都能与计算机技术相结合。虚拟现实技术作为一项新兴的计算机技术,它在对文物的展示中具有得天独厚的优势,用户可以通过这种沉浸式的体验得到最逼真的感受。将虚拟现实技术与博物馆相结合,用户便可以打破空间的限制,随时随地的观赏游玩,能够近距离地观察每一个文物,并不会受其展柜的限制,甚至可以拿在手中仔细揣摩,有效地解决了真实博物馆所具有的局限性。
本课题所要研究的是在Unity3d平台下所构建的基于虚拟现实技术的博物馆游览系统。具体研究内容如下:1)选择合适的软件平台进行虚拟博物馆的搭建,其中Unity3d平台是一个可以进行可视化游戏编辑、2D与3D游戏的开发以及虚拟现实游戏等多类型的综合型游戏开发工具,它可以由用户自己创建模型,添加动画与音频,并由代码控制实现模型的功能变换。对于现阶段的虚拟博物馆建立而言,专业的游戏引擎所具有的优势是难以替代的,因此本课题要建立的虚拟博物馆选择在Unity3d平台上进行设计。2)使用合适的硬件设备进行人机交互的实现。虚拟现实技术是本课题实现虚拟博物馆的重要手段,它简单来说有三个层次,分别是3D建模层、VR层与驱动层,这三个层次相互作用使得用户可以得到沉浸式的真实感受。本课题中将直接使用已有的HTC虚拟现实设备进行虚拟博物馆的实现。
1 虚拟博物馆的设计方案
1.1 Unreal Engine与Unity3d平台对比
Unreal Engine平台拥有更好的画面渲染技术,所制作出来的成品的画面效果可堪比电影CG级别,但同时对于设备的要求较高,并且对使用者的编程能力和美工能力有一定的要求。
Unity3d平台相比较于UE更简易一些,尽管最终成品的画面效果不如UE平台所开发,但是开发效率要比UE高很多,没有UE那么复杂的结构,开发者可以使用多种插件进行更为简便的设计,同时在进行开发时,UE需要涉及引擎的定制,C++级的难度相较于Unity3d的mono开发难度要更加高。因此,本课题更倾向于使用Unity3d平台进行开发。
1.2 虚拟博物馆框架设计方案
由于难以到真实的博物馆中去扫描实际文物来进行真实的建模,因此本课题中的文物模型大多是由现存的文物图片来直接建模。博物馆整体结构预计设计为九个展台,其中七个展台依次排序环绕博物馆墙壁,每个展台分为两层,其上有不同的文物模型,剩余两个展台位于博物馆中央,是360度可观测的全景展台,此外,还会在空余的一面墙上挂上敦煌壁画,以此来丰富博物馆内的馆藏种类。虚拟博物馆展台摆放图如图1所示。
因此对于虚拟博物馆的整体框架来说,首先要进行建模,这里可以用已有的文物形状的模型,然后将建好的模型导入至Unity3d平台,利用现存的文物馆藏图片添加材质,再建立博物馆模型,包括墙壁、天花板与展台,之后把建好的文物馆藏模型放置于展台之上,对博物馆整体进行布局。当博物馆的虚拟环境搭建成功后就进行虚拟现实技术环境的搭建,使用SteamVR包将虚拟环境建立成为虚拟现实环境,然后进行编程,包括用户的漫游功能,交互功能以及其他功能的编写。连接HTC设备,调试好后便可以进入到虚拟环境中,实现已经编写好的所有功能并对博物馆中的馆藏进行仔细地观察,达到本课题的目的。
1.3 虚拟博物馆功能设计方案
在虚拟博物馆中,如果只有展示功能的话,便凸显不出虚拟现实环境下对已有事物所能体现的优点,因此要对虚拟博物馆进行添加一系列现实中难以实现的功能。本课题中计划实现文物的拾取功能、视频功能以及拼接功能,还有用户的漫游功能。首先由于虚拟现实设备的空间限制,如果只是依靠人的双脚移动的话,在虚拟环境中很难达到每一个地方。需要依靠手柄进行实现,可以令其在我们按下手柄按键的时候,发射出一道射线,射线的终点就是用户将要移动的终点。移动功能流程图如图2所示。
其次现实中文物的珍贵性与易损毁性导致游客无法更清楚更近距离地观察文物,更不用说拿在手中端详,因此在虚拟环境中,这一点就可以被实现。利用HTC硬件设备中的手柄,可以对其进行编程,使其当与文物在一定距离内时,文物可以被选中,从而将文物能够挂在手柄上,也就能够给用户一种拿在手中的感觉,让用户可以近距离的仔细地观察文物,且不用担心文物的保护。拾取功能流程图如图3所示。
还可以进行更多的功能设计,视频功能将会采用点击播放的形式,将视频与墙壁上的壁画进行连接,当用户使用手柄与壁画处于一定距离内时,壁画也成为选中形式,此时扣动手柄扳机,视频将会在这面墙上出现,播放完成后可以再次扣动扳机使视频播放器消失,再次将壁画显现出来。最后还有拼接功能,这一功能充分满足了多数博物馆爱好者的需求,在日常生活中,大多数人根本无法接触到文物的拼接修复工作,在博物馆内也很难体验到这一点,因此本课题决定将这一功能也实现在该博物馆内,计划将博物馆的某一展台设计成为专门进行文物拼接的区域,将模型的碎块摆放在展台的第一层,第二层放置模型的虚影,供用户进行拼接使用。当手柄靠近碎塊的时候可以将碎块拿起,移动碎块至第二层的虚影上的相同模型附近,松开扳机便可以将碎块模型放入虚影中,当全部的碎块都放置进去后虚影就变成了一个完整的拼接好的模型。拼接功能流程图如图4所示。
本课题将会把以上所叙述的四个功能进行全面地实现,使得最终形成的虚拟博物馆不仅可以进行文物的展示,还可以有诸多的交互功能,增加趣味性的同时也体现出虚拟现实技术能够带来的不同于真实环境的优势。
2 虚拟博物馆实现步骤
2.1 导入模型并搭建框架
实验开始后把在互联网上找到的文物图片和相似的文物模型导入到Unity3d中的Assets文件夹中,把对应文物模型的图片一一导入到模型的材质中,形成了完整的文物模型。创建好设计思路中的博物馆形状,使用六块CUBE模型组成了博物馆的墙壁和地面,再次创建多个CUBE模型,组成具有两层结构的展台,这样的展台一共需要七个,将这七个展台放置在贴靠墙壁的位置并依次排列,再次创建三个CUBE模型作为博物馆中心区域的全景展台,用以放置较大的模型,最后在一面没有展台的墙上放置壁画模型,至此,博物馆的框架基本搭建完成。虚拟博物馆框架如图5所示。
2.2 实现漫游功能
在虚拟环境中,只有模型供欣赏是绝对不够的,作为最基础的真实感,能够在虚拟环境中移动是十分重要的,因此第一个需要实现的就是漫游功能。在本课题中,漫游功能是依靠手柄控制器来进行的,所以实现漫游功能的基本思想就是使用手柄确定移动方向,当按下按键的时候手柄可以发射射线,射线所碰触到的地方就是用户将要移动到的地方。在这一部分中,避免用户会移动至博物馆以外的位置,需要将地面设置出单独的标签“floor”,只有当射线接触到具有“floor”标签的物体时,才会让用户移动至该位置。
2.3 实现拾取功能
拾取功能也是建立在手柄控制器之上的,因为在虚拟环境中,手柄控制器充当的是用户的双手,所以在实现拾取功能时,依旧是用手柄来操作。基本思想就是需要距离的判定以及动作的判定,在本课题中,当手柄与文物模型的距离小于等于0.5f的时候,判定成功,此时手柄轮廓会高亮,告知用户可以进行拾取操作,当扳机按下时,文物模型则会被手柄拾取,这里是进行了动作的判定,对手柄扳机的按下进行了判定,判定成功时,将手柄的实时位置赋给文物模型,这样模型就会一直跟随手柄,二者随时处于同一位置。当扳机松开时,要让文物模型回归原位,因此在按下扳机之前,要将文物模型的原位置和欧拉角进行保存,这里可以用一个空物体来保存原有的位置和欧拉角,松开扳机时对这一动作再次进行判定,判定成功后再将之前保存好的位置和欧拉角赋给文物模型,也就是将此时的空物体的位置和欧拉角赋给了所拾取的文物模型。
为了保证左手柄和右手柄都可以实现这一功能,还需要对左右手柄进行判定,先对二者的实时位置进行保存,然后比较二者的大小,将这个比较值保存为布尔量,设定当右手柄的位置大于左手柄时,布尔量为真,此时再对布尔量进行判定,值为真时,只有右手柄可以拿起文物模型,值为假时,只有左手柄可以拿起文物模型。
2.4 实现视频功能
视频功能与之前的两个功能一样,都需要手柄来进行控制,本课题中,视频功能被设计到了墙壁的壁画上,这一面墙上一共有五张壁画,再次对这五张壁画与手柄的距离进行判定,当二者的距离小于等于0.5f时,手柄再次实现高亮,此时意味着可以进行按下扳机的操作来实现视频的播放,与拾取功能类似,要对扳机进行判定,按下并松开后,敦煌壁画的视频则开始播放。
视频的播放被设置到了“movie plane”标签的plane上,将这个plane的位置移动至设有壁画的墙面上,这时视频在播放的时候就会出现在这面墙上。
当视频播放完毕后,需要再把plane删除掉,否则会影响到壁画的展示,本课题设计扣动扳机两次后,自动删除plane,不影响到壁画的展示,如果需要再一次进行视频的播放,可以再次对壁画扣动扳机。这一部分的主题思想是把扳机的扣动次数进行保存,当扣动次数达到两次时,进行一次判定,判定成功则删除plane。
2.5 实现拼接功能
拼接功能与拾取功能较为类似。本课题中拼接功能的实现区域将会特定到一个单独的展台上,在这个展台上则是两部分,展台的第一层放置的是分成碎块的文物模型,第二层放置的是完整的文物模型虚影。首先将完整的文物碎块模型顺序打乱放在展台第一层,作为拼接时候的素材,第二层放置该文物模型的完整体,调整shader着色器,使其为透明状态并将材质颜色变为白色,这样最终显示出来的就会是一个供拼接使用的虚影。
拼接功能的主要思想是使用手柄控制器拿起文物模型的碎块,然后将其放置在虚影中与碎块相同的地方,这一部分与拾取功能较为类似,同样,当手柄与碎块模型的距离小于0.2f时,手柄高亮,表示可以拿起模型,然后扣动扳机拿起碎块模型,将其靠近虚影中相同的部分,这里再一次进行距离判定,当距离小于等于0.3f时,松开扳机,将虚影中相同部分的模型的位置和欧拉角赋给碎块模型,此时碎块模型移动至虚影中相同部分的位置,全部的碎块都移动至虛影中时,即拼接过程完成。
3 实验结果与分析
3.1 实验环境
搭建环境总共有两个部分,分别是软件环境和硬件环境。对于软件环境来说,首先要建立Unity3d平台。可以登录Unity3d官网unity.com下载Unity3d个人版,安装完成后Unity3d平台即搭建完毕。然后下载SteamVR软件,将硬件设备连接至Unity3d平台,打开SteamVR检查所有硬件部分是否都连接成功,全部连接成功后则软件环境搭建完毕。软件环境如图6所示。
3.2 实验结果与分析
最终共建立或找到49件文物馆藏模型与五张敦煌壁画模型,对其进行贴图后摆放至各展台来进行展示。通过对这些文物模型进行上文中所提及的各种功能设计,首先可以使用手柄通过按键实现漫游,即第一人称的移动,手柄所发射出的射线终端所接触到的地面便是可以到达的地方,但是在这里射线的终端必须接触到的是带有标签“floor”的地面才可以进行漫游,也就是说,只有当手柄所发出的射线终端接触的是博物馆的地面时,才能够进行移动。经过试验,可以使用手柄到达博物馆内的任意一个位置。漫游功能实现如图7所示。
当手柄接触到这些文物模型时,二者之间的距离小于等于上文中所规定的距离0.5f,这时可以将摆放在展台上的任意一件文物模型拿起仔细观察。这样一个判定的距离,刚好能够避免手柄会同时判定到两个模型中从而出现BUG。当“拿起”这些文物模型的时候,这些模型不仅是位置会跟随手柄移动,其欧拉角也会根据手柄的角度变换而变换,进一步增强了本课题所实现的虚拟博物馆的真实性。当放下文物时,文物会自行回归到原来的位置,空物体保存文物的原有位置和欧拉角,不会影响视觉感官并且不会受其他模型的影响,能够直接将位置和角度重新赋给模型。拾取功能实现如图8所示。
在博物馆内的拼接区,两层结构的展台上,第一层放置的是一个被拆开的文物瓷器,第二层是该瓷器完整的虚影,为第一层文物碎块所要进行拼接的参考模型以及拼接区域。当手柄与第一层的模型距离小于0.2f时,可以拿起这些模型,然后再将其放置于第二层参考模型的0.3f距离内,松开扳机后模型组成到虚影上,所有第一层的模型皆可以放置到第二层进行拼接。在这一功能的实现中,拿起碎块模型的距离为0.2f,而拼接时的距离为0.3f,前者小于后者0.1f,是因为要避免在放置碎块模型时,手柄会判定到之前已经拼接上的碎块模型,进而会出现BUG,因此后者距离大于前者可以有效地避免这一情况的发生。拼接功能实现如图9所示。
最后的一面墙上悬挂的是五幅敦煌壁画,同时视频功能也被设计在这一区域中。同样是通过手柄进行控制,当手柄与壁画的距离小于等于0.5f时,壁画处于可被激活状态,扣动扳机后视频开始播放。视频的播放是处于另一个新的plane上,这个plane事先不会放置在场景中,而是通过“召唤”的形式出现,这样可以避免plane影响到壁画的展示。在这里与前两部分功能不相同的是,这个0.5f的距离判定的是一个事件的发生,而不是一个动作。当连续扣动两下扳机后,进行动作删除plane,这时可以看到这面墙壁上的plane被删除,视频也停止播放,再次激活视频功能后可以再次进行删除操作。视频功能实现如图10所示。
参考文献:
[1] 巫影,何琳,黄映云,等.虚拟现实技术综述[J].计算机与数字工程,2002,30(3):41-44.
[2] 邵恒.VR技术在博物馆文物保护中的应用[J].智库时代,2018(43):149,152.
[3] 李赟.3D虚拟博物馆系统的研究与实现[D].镇江:江苏大学,2017.
[4] 张浩达.关于欧洲虚擬博物馆的调查报告[A].北京市科学技术协会、北京市文物局、北京市经济和信息化委员会.数字博物馆研究与实践(2009)[C].北京市科学技术协会、北京市文物局、北京市经济和信息化委员会:北京数字科普协会,2010:8.
[5] 朱晓冬,周明全,耿国华.虚拟博物馆开发模式研究[J].计算机应用与软件,2005,22(6):34-35,107.
[6] 崔丽.VR虚拟现实技术在三维游戏设计中的开发与实现[J].电视技术,2018,42(5):44-48.
【通联编辑:唐一东】
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!