• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于Unity3D的端砚非物质文化遗产虚拟交互展馆的实现

一起生活科学
长春建筑学院 吉林省长春市 130000

【摘 要】虚拟现实的用户群体在不断扩张,Newzoo在其发布的VR市场报告中声明2022年活跃使用的VR头显已达2770万台。目前交互引擎也百家争鸣,本文提出以unity3D引擎为交互系统的开发解决方案,介绍采用unity3D引擎构建端砚非遗虚拟交互展馆的系统框架,着重阐述VR场景交互的方法实现,包括以三维建模技术、C#编程、交互式开发等手段的完整制作流程以及引擎具体运用。

【关键词】虚拟现实交互 非物质文化遗产 三维游戏引擎

一、前言

虚拟现实技术又称VR,利用其技术表现的三维虚拟空间,可使人身临其境。传统美术、书法等传统文化数字化再现是当前非物质文化遗产保护的研究热点,随着VR与三维游戏引擎日益成熟,使端砚非物质文化遗产进行全方位的三维模拟展示变为可行。使用3Dmax构建展馆场景模型以及材质;交互界面和三维漫游使用unity引擎实现。具体框架分为三维场景搭建,UI场景搭建,物理引擎运用,脚本移动控制等部分。

二、三维模型素材

市面上有许多不同的三维建模软件,各有千秋,笔者使用的是3Dmax,其导出的FBX模型与Unity3D的兼容性颇为良好。

(一)创建模型

简单三维模型采用多边形建模创建,若需制作不规则复杂物体,可采用曲线建模。由于GPU对场景面数的渲染有局限性,减少场景中点线数量可以有效降低软件对计算机性能的需求,因此要构想精简的建模思路,使用恰当的建模方法,并尽量删除多余的点线。

(二)材质与贴图

在对三维模型进行大量优化的同时,也丢失了模型本身的细节,为了让低精度模型仍然拥有好观感,可以通过展UV贴图的方式,搭配渲染效果适当的材质,把精美的绘图添加到模型上补充细节。

三、Unity3D平台开发

Unity3D是由Unity Technologies公司开发的用于轻松创建游戏和三维互动内容的开发工具,是一个综合能力强大的跨平台游戏引擎,可发布游戏至Windows、Mac和Android等数十个平台。

(一)UI场景搭建

用户界面(User Interface)是指对软件的交互、逻辑、外观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由。我的UI共三部分:

a)主UI界面

创建canvas,其下创建image子物体作为背景。背景下创建Button物体,并添加转换场景的事件脚本赋予button功能,亦可添加鼠标进入时改变transform属性等美化功能。

背景下共有button6个,分别是欣赏展馆、操作手册、端砚介绍、观馆须知、视频欣赏、退出展馆,前四个各自司管不同的子UI场景,视频欣赏是通过buttton事件启用禁用的视频,退出展馆则是关闭应用。

b)开场视频

于主UI界面再创建一个canvas,以VideoCanvas命名,将其canvas组件的sort order值更改为1,并于其下创建搭载raw image与videoplayer及audiosource组件的子物体AwakeAnime,调整videoplayer的clip更改视频。在AwakeAnime下创建两个按钮,分别管理视频的播放与跳过。

创建用于管理视频的C#脚本,挂载到VideoCanvas下,并通过GetComponent与公开button组件并赋值的方法使其控制该VideoCanvas,随后编写按钮事件控制视频播放,并在视频播放完后以事件禁用掉AwakeAnime。

c)子UI界面

各子UI界面同样以canvas于其image子物体作为UI界面的打底,并都添加“返回”按钮,通过按钮事件控制场景跳转。

展馆欣赏:共两个展馆并各拥有一张隐藏的效果图,通过按钮选择进入哪一个,并对其附加C#脚本组件,该脚本引用UnityEngine.Systems命名空间与IPointerEnterHandler, IPointerExitHandler接口,当鼠标移动到按钮上时实现接口方法,将展示效果图启用,并改变transform属性对按钮位移,在鼠标离开按钮时,再次禁用该图片且还原按钮的位移,以达成方便且美观的用户界面。

(二)三维场景搭建

a)导入模型

将存有FBX文件及贴图的文件夹导入unity后,拖拽到scene面板进行实例化。

b)烘焙灯光

在对场地、模型与灯光进行拼装后,将灯光物体的static勾选,其light组件的mode设为laked,然后打开lighting面板,生成灯光设置。

(三)移动控制

a)相机移动与旋转

Main Camera设置为Player的子物体,接着为Main Camera添加C#脚本命名为MainCameraRotate,声明实例Instance并赋值自身以待角色控制器调用,通过input类获取鼠标的X,Y轴位移或外接VR头显,接着通过Transform.Rotate方法实现相机同步旋转。

b)角色控制器

为Player添加Character Controller组件,并创建C#脚本声明角色行为,通过Input类获得虚拟轴x和z的偏移,再通过Main Camera的脚本实例获取视角的forward和right,将两者相乘后的方向向量相加,一个自由的虚拟漫游镜头就诞生了。

(四)碰撞检测

选择希望拥有实体感的模型,如地面、展柜等,分别给予适合的碰撞体组件,如地面选择plane collider,展柜选择box collider等。运行无误后便可导出应用程序了。

四、结束语

本文以3D MAX、Unity3D两软件为主要发开工具,实现了非物质文化遗产端砚的虚拟交互展馆软件,其系统涉及了多个计算机技术领域,便捷直观,交互性优异,对非遗保护与传播具有实际应用价值。

五、参考文献

[1] 杨雪,钱秉江.基于Unity3d的河下古镇虚拟交互漫游系统的实现[J].数字化用户,2014.05:108.

[2] 张耀.基于Unity的校园漫游VR系统设计与实现[J].数字技术与应用,2018.11:124-126.

姓名:郑哲 出生日期:2000年9月1日 性别:男

籍贯:河南省安阳市瓦岗寨乡大范庄村 职务:学生 学历:本科

研究方向:数字媒体技术

*本文暂不支持打印功能

monitor