APP下载

基于Unity的全景微课虚拟演播室的实现研究

2024-01-26杨芬红

电脑知识与技术 2023年35期

杨芬红

摘要:为满足沉浸式多场景观看需求,该研究在Unity开发平台基础上,探索全景微课的实现方法,前期收集和准备全景微课素材,并使用材质纹理和光照烘焙增强虚擬演播室的真实性,接下来使用Unity的Prefabs预制体、交互技术、VideoPlayer组件等关键技术,设置微课视频交互和菜单界面交互,创建基于Unity的全景微课虚拟演播室。全景微课能模拟真实的学习场景,提供沉浸式、交互式和个性化的学习体验,在教育培训和展览展示等多个领域发挥重要作用。

关键词:全景微课;虚拟演播室;多场景

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2023)35-0124-03

开放科学(资源服务)标识码(OSID)

0 引言

全景微课是一种利用VR技术制作的在线学习平台,它将全景VR技术与微课视频相结合,通过360度全景视角展示多个微课影像,为学生提供沉浸式的虚拟学习场景。学生可以通过智能手机或电脑浏览器等设备来学习微课内容,感受到仿佛身临其境的学习体验,增强学生的学习兴趣,提高学习效率。此外,全景微课还可以提供交互式学习功能,进一步增强学习的互动性和参与度。

Unity是一款3D实时交互内容创作平台,是创建全景微课虚拟演播室的主要软件,包括以下几个应用:

1) 场景展示:利用Unity的场景编辑功能,可以创建逼真的虚拟环境。在Unity中创建或导入场景模型,并将其放置到虚拟环境中,通过材质纹理技术和光照烘焙技术模拟真实学习环境。

2) 交互功能添加:Unity提供了丰富的交互功能,可以为全景微课添加互动元素,通过Unity的脚本编程,实现点击触发、信息展示、提问答题等功能,使学生能够主动参与学习,增强学习的互动性和参与度。

3) 虚拟导航:利用Unity的菜单功能,可以为全景微课添加导航元素,使学生能够在虚拟环境中进行自由导航。这样学生可以根据自己的兴趣和需求选择学习的路径,更好地探索学习内容。

Unity在三维交互创作中具有强大的功能,同时也具有易用性和实时性特点,通过虚拟环境的创建和交互功能的添加,增强学生的学习体验和参与度,为创建全景微课虚拟演播室提供了一个很好的平台[1]。

1 关键技术

使用Unity实现全景微课虚拟演播室需要使用三个关键技术,包括Prefabs预制体、交互技术、VideoPlayer组件[2],下面是关键技术的介绍。

1.1 Prefabs预制体

在Unity中,Prefabs预制体是一种用于复用游戏对象Game Objects的资源。它们是将一个或多个游戏对象及其组件的层次结构保存为一个单独的文件,可以在场景中多次实例化和使用。Prefabs预制体具有继承和变体、可视化编辑的优势,为对象复用和嵌套、修改和维护带来便利,使用Prefabs能高效地管理和修改游戏对象,并减少代码复制和冗余,有利于进行团队协作开发,提升创建全景微课虚拟演播室效率。

1.2 交互技术

交互技术是指通过用户与系统之间的互动,实现信息传递、操作控制和反馈交流的技术。在计算机科学和人机交互领域,交互技术是构建良好用户体验和方便用户控制系统运行的关键。Unity常见的交互技术包括输入管理、物体捕捉和碰撞检测、UI交互、触控和手势识别、VR/AR交互、移动设备交互等,实现全景微课虚拟演播室所需用的包括以下两个交互技术:

1) 输入管理:Unity提供了强大的输入管理系统,可以通过检测鼠标、键盘、触摸屏等输入设备的输入来实现用户交互,为输入设备的按键、点击、拖动等操作编写交互代码,来控制游戏对象的行为。

2) UI交互:Unity的UI系统可用于创建与用户交互的系统界面,可以添加按钮、滑块、输入框等UI元素,通过编写代码来实现触发事件,响应用户的交互操作,方便实现菜单界面、按钮控制等交互功能。

1.3 VideoPlayer组件

VideoPlayer组件是Unity提供的用于播放视频的组件,它内置了基本的视频控制和渲染功能,可以实现在虚拟场景中播放视频的需求。VideoPlayer组件可以播放大多数常见的视频格式,它也提供了渲染视频的功能,可以选择在场景中的指定位置进行渲染,或者将视频作为纹理应用到3D模型上。VideoPlayer组件提供了许多可用于处理播放事件的回调函数,通过编写代码在视频播放过程中触发自定义的逻辑。VideoPlayer组件还可以与Unity的UI系统结合使用,通过创建UI控件来控制视频的播放,建立自定义的播放器控制界面。使用VideoPlayer组件,可以在Unity中实现全景微课视频播放功能,并可以使用交互技术实现视频播放控制。

2 实现过程

创建全景微课虚拟演播室主要软件是Unity,另外还需一些辅助软件如 Substance Designer、Substance Sample、Adobe Photoshop等,用来对纹理、材质和图片进行处理。在全景微课实现过程中,Unity需要安装Modern UI Pack、ArtWorks和SketchfabForUnity等插件[3],下面介绍详细实现过程。

2.1 准备素材视频

首先需要收集和准备全景微课素材,包括室内模型,图片纹理和7个以上微课视频。在Unity中创建一个新的项目,然后将准备好的素材导入Unity项目中。这里使用通用渲染管线URP创建项目,它是Unity中一种可配置的渲染管线,能方便配置和优化Unity项目的渲染流程,并获得出色的视觉效果和性能。

2.2 真实化室内环境

Unity采用材质纹理技术对虚拟演播室进行真实化处理,下面是材质、纹理这两个概念的介绍。

1) 材质(Material) 是指定义了一个物体的外观和其他视觉属性的集合。它可以包括颜色、光照、透明度、反射等信息,用于描述物体在光照和渲染过程中的行为。在Unity中,材质是一个可以被应用到3D模型上的资源,用于决定模型的渲染效果。

2) 纹理(Texture) 是一种2D图像或图案,用于模拟或增强3D模型的外观。它可以用来表现物体的表面细节、颜色、光照和其他视觉特征。纹理通常包含在一个图像文件中,如PNG或JPEG,并且在游戏中被应用在材质上,用于模拟真实世界中的物体。

虚拟演播室墙面使用Substance Designer纹理创作软件进行纹理制作,然后导入到Unity,把制作好的纹理图片赋予墙面材质,如果发现效果不是很理想,可以在属性窗口调整纹理的各项参数,使墙面呈现比较真实自然的效果。另外使用Substance Sample软件制作虚拟演播室地板纹理,这款软件能使用任意的照片,采用人工智能技术,能迅速制作出细节丰富的纹理,在软件中导入一张地板照片,结合智能创建,参数设置,制作一个理想的地板纹理,然后把制作完成的地板纹理导出到Unity中,并将它赋予地面材质,结合属性设置,完成室内地板制作。

2.3 烘焙光照贴图

烘焙光照贴图(Baked Lightmaps) 是一种在Unity中实现高质量光照效果的技术。它通过预计算光照信息,并将结果保存在纹理贴图中,然后将该贴图应用到模型上,以实现模型的真实感和细节。在全景微课的虚拟演播室创建中,烘焙光照贴图的过程如下:

1) 首先需要设置场景中的平行光(Directional Light) 的光照方向,根据实际需求调整到合适位置。

2) 将游戏对象标记为Contribute GI静态类型,方便后续的烘焙光照。

3) 在Lighting属性窗口中设置参数,在Scene选项中将Lighting Mode设置为Baked Indirect,然后根据设备的性能和具体需求分别设置参数,设置完成后按Generate Lighting按钮,等待几分钟,光照贴图已经加载到演播室天花板,墙面和地板等材质上,完成烘焙过程。

4) 為了呈现真实的光照效果,可以为场景添加面光源(Area Light) ,呈现漫反射光照效果。

烘焙光照贴图的优点是可以在运行时快速呈现高品质的光照效果,减少了实时计算光照的开销,烘焙光照贴图是Unity中实现高质量光照效果的重要技术。但它也有限制,由于是预计算的结果,灯光移动或场景改变时,需要重新烘焙光照贴图。

2.4 设置微课视频及交互

1) 创建微课视频

首先在场景中创建一个Plane,设置大小和位置,放置在墙面适当位置,将微课视频拖放到Plane上,查看Plane属性窗口,会发现系统自动增加了一个VideoPlayer组件,微课视频已被添加到VideoPlayer视频播放器组件中。为了避免在视频播放时受光照影响,可以创建一个材质赋予Plane,材质的着色器设置为URP下的Unlit,贴图通道自动改为Baseup,并设置VideoPlayer组件材质属性为相同的Baseup,运行后可以查看微课视频播放状态。用相同的方法在墙面上再添加6个微课视频,使微课视频排列在适当位置。

2) 控制视频播放

为了方便师生观看微课,需要在微课视频下方添加播放停止按钮,控制微课视频播放,然后添加脚本实现以下功能,如表1所示[4]。

全景微课视频播放/停止状态如图1所示,中间墙面的微课视频是停止播放时的状态,左右墙面的微课视频是正在播放时的状态。

2.5 创建导航菜单及交互

1) 导航菜单结构

前期通过个别访谈调研全景微课播放需求,结合全景微课具体应用情景,设计导航菜单结构,包括三个部分,分别为微课布局、微课播放、场馆导航,结构如表2所示:

2) 创建菜单界面

全景微课菜单外观创建使用Modern UI Pack插件,它是一款为Unity开发者提供的插件,这个插件通常包含一系列预制的UI元素和组件,如按钮、滑块、文本框、下拉菜单等,以及现代风格的UI模板和图标。全景微课菜单基础界面使用Modern UI Pack的Windows Manager组件创建,Windows Manager组件能方便地创建菜单界面,不添加脚本就能实现不同窗口的切换,也可以根据需求添加其他Modern UI Pack组件。

首先在场景窗口创建能承载菜单的Canvas,在属性窗口中调整Canvas的大小和位置,然后添加Windows Manager组件,默认三个按钮三个窗口,接下来设置按钮的名称,在窗口中添加具体内容。由于Windows Manager组件对中文支持不理想,这些窗口内容预先使用PS软件做成图片形式,然后导入窗口组件中。最后在菜单右上角添加停止按钮,完成菜单界面创建,如图2所示。

3) 创建菜单交互

菜单交互需要实现以下三个功能,功能一:在规定的距离内显示导航菜单;功能二:单击关闭按钮或超出规定距离隐藏导航菜单;功能三:菜单始终显示在观察者前方固定位置,菜单跟随观察者旋转,使菜单始终朝向观察者。交互控制的功能名称及关键代码如表3所示。

2.6 导出项目

完成全景微课制作后,可以通过Unity的Build功能将微课导出为可执行程序或Web内容,以供用户使用和浏览。可以选择编译到不同平台,如Windows、Mac、iOS或Android等。

3 应用情景

全景微课能模拟真实的演播室环境,通过交互技术控制播放多个微课视频,让学习者能同时进行多场景观看,因此全景微课具有丰富的应用情景,下面是常见几个应用[5]。

3.1 在线学习平台

全景微课是很好的在线学习平台,教师可以在虚拟演播室上传多个微课视频,根据自身不同水平和能力,让学生选择不同的微课进行学习,提高学习的个性化和自主性。

3.2 方案演示

设计、营销等领域可以利用全景微课虚拟演播室同时播放多个方案演示,让客户比较不同的选项,提供更全面的决策依据。

3.3 项目管理

企业可以利用全景微课虚拟演播室同时播放多个项目的进展情况和管理内容,方便管理人员全面了解各个项目的情况,提高项目管理效率。

3.4 场馆展览

博物馆、展览等场所可以利用全景微课虚拟演播室同时播放多个视频,让观众可以同时浏览多个展览内容,丰富观展体验。

3.5 多学科交叉

利用全景微课虚拟演播室同时播放多个微课程,可以实现不同学科之间的交叉和综合,促进知识和思维的融合,让学生在跨学科的背景中进行综合学习和思考。

3.6 多媒体交互展示

利用全景微课虚拟演播室同时播放多个微课,结合音频、视频、图像等多媒体元素,提供更丰富的展示效果,增强参与感和记忆效果。

3.7 创作展示

创意、设计等行业可以利用全景微课虚拟演播室同时播放多个作品展示,让观众可以同时欣赏多个角度和风格的创作,促进艺术交流和创新思维。

除上述應用情景之外,全景微课还可以应用在企业培训、语言学习、多人协同工作、多时区教学、多元化体验活动、多职业模拟实践、多元化演艺、模拟训练等领域,应用非常广泛。

4 总结及展望

基于Unity的全景微课制作在教育培训和展览展示等多个领域具有广阔的应用前景。接下来可以进一步发展和改进全景微课制作技术,包括以下几个方面:

4.1 增加互动性

进一步提升微课的互动性,探索更多的交互方式,如手势识别、虚拟现实设备等,让学习者能够更直观地参与其中。

4.2 增加场景个性化定制

提供更多的场景个性化定制选项,例如增加可调整的灯光效果、天气和季节变化等,使得微课更加丰富多样。

4.3 引入多媒体元素

除了音频和文字,可以进一步引入多媒体元素,如视频片段、3D模型、虚拟现实互动元素等,为学习者提供更立体和多样的学习内容。

4.4 支持多平台

进一步扩展支持的平台,包括移动设备、虚拟现实设备等,使学习者可以根据自己的喜好和需求选择合适的平台进行学习。

基于Unity的全景微课制作在教育和培训领域具有巨大潜力,未来可以通过不断创新和改进,为学习者提供更丰富、生动和个性化的学习体验。

参考文献:

[1] 朱天玉.高校思政课VR场馆教学平台建设的思考[J].安徽电子信息职业技术学院学报,2023,22(2):68-72.

[2] 陈龙,房琛琛,黄鑫.问题导向及虚拟仿真模式下大学计算机实验教学案例设计与探索[J].工业和信息化教育,2023(5):90-94.

[3] 王建秀,刘琦,周洁,等.基础地质实习:实验一体化虚拟仿真教学系统设计与实现[J].科教文汇,2023(20):81-84.

[4] 陈星宇.沉浸式交互设计在虚拟现实技术中的应用研究[J].软件,2023,44(9):95-97.

[5] 叶剑青.虚拟现实技术在展馆设计中的创新及应用[J].商展经济,2023(20):11-13.

【通联编辑:谢媛媛】