APP下载

基于虚拟现实技术的知识树系统仿真设计与实现

2021-07-12高全力孙俊辉

西安工程大学学报 2021年3期
关键词:模块模型内容

高全力,陈 铭,高 岭,孙俊辉

(1.西安工程大学 计算机科学学院,陕西 西安 710048;2.西北大学 信息科学与技术学院,陕西 西安 710127)

0 引 言

在全球数字化和网络化的背景下,VR技术具备多感知性、存在感、交互性和自主性的特征,可以创造使人身临其境、高度沉浸的虚拟世界[1]。在教育领域中,VR技术作为一种非常有效的教学手段,常用来增强使用者对复杂教学内容的理解[2]。研究表明,个体会对概念所形成的空间方位信息进行理解[3],3D虚拟展示效果和头戴式显示系统提供了一种安全且方便的方法来增强视觉空间,有效加强对学生的认知教育问题,进而弥补教科书与实例之间的鸿沟,为构建以学生为中心的教学模式提供了技术手段[4]。此外,2020年突发的疫情导致全球近80%国家实施了全范围停课[5]。在这种线下教学被迫全面叫停的情况下,线上教学逐渐成为了维持教学的主要手段[6-7],虚拟教学由于不受时空限制的独特优势同样迎来了巨大的市场契机。

综上可知,随着疫情的影响,虚拟教学的发展态势将愈发明显,目前国内基于虚拟现实的教育应用系统,大多基于各类学科知识制作的实验环境和内容模拟[16],尚未有平台集成所有课程、表述课程内容之间的联系。而研究知识树内容的大多针对数据分析和关系抽取,忽视了碎片化知识的三维可视化处理。通过将知识树应用于虚拟现实教学内容中,可以增加多种视听感觉的反馈,可以帮助学生深层次理解,满足情境学习的需要。

基于上述背景和问题,本文提出了一种知识树的构架方法,结合虚拟现实技术,针对碎片化知识复杂、无序,容易对学生认知产生知识负荷、认知不立体等问题,通过知识图谱形象将碎片化知识-集合-主题对照果实-树枝-树的关系,直观表达知识概念层次,实现教育知识内容的可视化,提升多媒体资源利用率,增强学生的立体感知,激发学习动力,进而促进教育信息化的进一步发展。

1 系统设计总体方案

1.1 系统研发环境

Unity3D是由Unity公司创建的可进行实时3D互动的平台,也是一个让创作者轻松创建如三维视频及游戏、可视化建筑等内容的综合型开发工具[17]。Unity3D项目可以运行和发布到多个平台上,拥有跨平台、综合编辑、资源导入、一键部署等特点[18]。3ds Max是由Autodesk公司创建的三维动画制作产品,既能在虚拟环境中构建三维模型,也能制作高质量的图片、视频和动画。Steam VR是一套运行时环境,负责调用Open VR接口,为Vive硬件提供内容和反馈,而Open VR是一套不依赖特定硬件的API,规定了VR开发的通用接口。

1.2 系统需求分析

近年来,VR技术的发展为弥补传统教学模式的不足开辟了崭新的道路,以其独特的技术优势为学生用户提供了更为安全便利的学习环境,丰富多样的体验环境和高度仿真的互动环境[19-20]。

本系统要求设计用户可以佩戴VR设备进入沉浸式场景,充分学习知识内容,并且能够进行相关的模拟实验操作。此外,为了能够快速、高效地展示教学知识内容,更好地完成对知识关联性功能的强化,本虚拟现实知识树系统还要求必须具备用户的个人相关信息和课程信息。为了提高系统交互界面三维视觉效果的质量,采用Unity3D引擎开发,融入知识图谱应用,以新的三维可视化方式驱动传统教育变革。

为了保证系统能够稳定运行,提升用户体验,后期便于维护,本系统还需满足以下非功能性需求:考虑数据信息的安全性,保持系统运行的稳定性,软件操作界面的易用性。

1.3 场景及模型设置

根据上述系统需求分析的结果,从传统教育课堂和现有的虚拟教学场景应用入手,对教学课堂环境进行全面具体的分析,使用3ds Max软件对教学所用的教室、桌椅、教具等模型进行构建。所构建的三维模型具体包含三维树模型、虚拟实验室、虚拟实验装置以及UI界面。为了确保教室场景能更高程度地还原实际场景的效果,需要保证所构建三维模型的质量和精细度,以提高场景的真实度,增强用户使用系统时的沉浸感。对于教室等大模型,在设置中适当降低其精细程度,保证系统加载的响应效率;对于教具等小模型,在设置中适当提高其精细程度,保证虚拟实验的真实性[21-22]。

数学是一门具有高智力价值的学科,要想在课堂上调动起全体学生的创造意识,培养他们的创新能力,就要挖掘和激活他们的数学思维能力。那么如何培养小学生的创造思维能力呢?

1.4 功能设计

整个系统共分为个人信息模块、知识树模块、知识学习模块以及实验仿真模块4大模块,如图1所示。

图 1 基于VR技术的知识树系统总体设计Fig.1 General design of knowledge tree system based on VR technology

1) 个人信息模块。该模块的主要作用是判断每个登录用户的信息是否合法,并且支持对不同等级的用户分配不同的权限,提高教学针对性。此外,该模块还包含具体的个人信息,如姓名、学院、学号以及校园通知信息。

2) 知识树展示模块。该模块主要展示知识树三维模型和课程表内容。知识树是一个三维立体模型,针对课程内容分为树根-树枝-果实关系,依次代表课程知识主题-章节集合-具体知识点,每门课程都会生成一颗具体的三维知识树。

3) 知识学习模块。该模块所展示的碎片化学习内容包含了知识内容的文本、图片及视频展示,用户可以在该模块下学习到相关知识的具体内容。此外,该模块也可以根据资源库的内容多少对学习资源进行多元化地展示。

4) 实验仿真模块。该模块主要用于用户进行具体的实验操作,配合HTC Vive硬件设备实现VR虚拟交互。为了增强用户在虚拟实验中的沉浸感,系统引入了粒子特效及动画系统,使系统具有更强的可交互性。

2 系统设计

2.1 系统架构

本系统根据应用场景和角色需求,采用5层架构模型,分别为数据层、处理层、分析层、功能层和对象层,如图2所示。

数据层主要包含个人信息、知识图谱和课程信息。其中知识图谱主要用于表述每门课程知识点之间的关联;处理层用于处理系统底层的异构数据库,将有效数据提供给分析层,主要包括数据转换、数据集合、数据提取和数据维护;分析层则包含教育数据挖掘算法库和学习分析模型库;功能层借助有数据挖掘算法形成的知识图谱和模型分析,针对用户对象形成具体的三维知识树,用以展示具体知识内容及课程实验;对象层包含教师、学生以及决策者,用以区分学习系统和管理系统。

图 2 基于VR技术的知识树系统框架Fig.2 Framework of knowledge tree system based on VR technology

2.2 系统设计流程

搜集相关学科材料,包含课堂贴图以及课程内容的文档、图片、视频等,并将所有的材料进行整理;使用3ds Max构建虚拟课堂和三维树木模型并截取获得相应的模型组件,调整以符合现实大小,将制作完成的模型以“.fbx”格式导出;将制作好的模型和场景导入Unity3D引擎中,进行相对位置的调整,对灯光、地形、天空盒等进行设置;借助GUI完成基础页面的创建,将PhotoShop制作好的图片进行UI布局;创建C#脚本,挂载相应的物体对象上,借助MySQL数据库完成知识树系统的注册及登陆功能;利用知识图谱的构建方法对知识内容进行整理;通过插值法生成三维主题知识树,借助动态资源加载和异步加载及动画系统的仿真展示;最后,通过Unity3D软件建立各模型之间的逻辑关系并对整个系统渲染优化及打包发行,最后采用VR插件,连接硬件HTC Vive的VR虚拟体验设备。

3 关键技术与系统实现

3.1 基于知识图谱的知识树生成策略

从原始数据到形成知识树,经历了分析数据种类、知识关系抽取、知识融合、构建数据模型的步骤,也就是说要将海量的碎片化知识进行深度理解,通过对知识内容-集合-主题关系的抽取形成知识树。

系统数据按存储形式分为结构化数据、半结构化数据和非结构化数据。结构化数据主要是排列整齐可用逻辑表达的数据,系统内存储的是课程信息和用户信息;半结构化数据具有一定结构性,系统主要存储了JSON文件;非结构化数据主要是不符合任何预定义的数据,在系统内存储的是知识内容的文本文件、图片、音视频。根据数据的不同的结构化形式,采用不同的方法,针对结构化数据,把课程信息和用户信息中的关系数据采用D2R技术转换为RDF数据;半结构化数据需要进一步提取数据并整理,采用包装器的方式进行处理;非结构化数据的处理方法有很多,系统主要采用提炼关键词检索的方式,将不同类型的数据转换成三元组的形式,然后对三元组的数据进行知识融合,在这个过程中主要是将不同实体进行对齐,经过融合之后形成标准的数据知识库。

知识树自动构建的模式采用了自顶向下的方式来进行。在具体操作中,必须要事先总结出知识树根节点下的子概念个数,用以确定分支模型,然后利用PLSA聚类算法生成分支模型,再将知识内容输入到相应的子概念下面,即对应形成果实内容。最后判断所有表达是否完整,形成知识树如果没有,生成算法会根据需要反复执行,直到构建形成的知识树达到用户需求为止。算法执行完后可以通过人为参与判断聚类的结果,调整知识树平衡。利用上述算法对知识资源库进行所有内容的反复执行操作过程,可以从根节点逐步开始生成一棵具有层次结构的知识树模型。自动构建知识树的算法流程图如图3所示。

图 3 自动构建知识树的算法流程Fig.3 Flow chart of automatic construction of knowledge tree algorithm

3.2 三维树建模

利用3ds Max制作三维树模型,完整的树模型是由多个树枝组成,树枝上也有多个果实,通过3ds Max 的“选择并移动”工具调整树枝和果实位置,保证树木模型的平衡,并为三维树进行材质贴图,如图4所示。

图 4 三维树木模型Fig.4 3D tree model

图4中,利用“快速切片”和剪切工具,将树木模型拆解成多个树枝组件、果实组件,保存成“.fbx”文件,以便导入Unity3D引擎中构建三维知识树。在Unity3D中导入树模型并调整空间位置,将切割的树枝组件和果实组件设置成预制件,设置三维树最多能生成20个树枝,树枝上最多生成20个果实作为最高数量,在三维树上加入最多数量的树枝和果实预制件,调整模型达到平衡,保存三维树模型的空间坐标、轴值转向和空间缩放大小。导入通过知识图谱技术得到的关联数据知识内容,消除数据之间存在的有向环,确定分布在各层次节点的坐标,同一条线上的起始节点坐标层次小于终止节点坐标层次,通过层次布局算法生成树枝果实的相对坐标数据。在树的主树干上标记起始节点(x0,y0,z0)和终点节点(xn,yn,zn),初始化当前坐标(xi,yi,zi),计算间隔距离Δ和x、y、z轴上的变化量dx=xn-x0,dy=yn-y0,dz=zn-z0,比较|dx|、|dy|、|dz|的大小,值较大的变化量作为三维树的z轴方向,利用Vector3.Lerp插值算法在主树干上插入树枝,果实也运用同理操作,从而得到完整三维树模型。整个建模过程中不需要对三维数据进行大量采集,因此弱化了数据处理要求,提高了三维建模效率,降低了系统内存占用。

3.3 动态加载和异步加载机制

Unity3D开发引擎中提供了5种加载资源的方式,分别是Resource、AssetBundle、WWW、AssetDatabase以及UnityWebRequest。为降低系统内存占用,对加载进行优化。本系统采用Resource的方式动态加载资源。首先构建好Resource文件夹,将所有资源都存放在该文件夹下,通过调用Resource.Load函数直接返回具体类型的对象。该方法从项目资源的内部进行读取,在项目打包时,所有的资源文件都会随Resource文件夹进行压缩加密打包进APK中。

由于系统在开发过程中使用了动态资源加载策略,因此系统的多线程性会因此受到限制。此外,课程内容资源较多,会导致加载耗时,若采用同步加载的方式会产生卡顿等问题,因此本文采用异步加载的方式进行资源加载,该方式加载速度更快,且与主线程间没有过多关联性。异步加载是非阻塞的,调用完异步加载的方法后,代码继续执行,调用方法立即返回消息,不会等待加载的完成。

4 系统测试

在对系统进行测试之前,部署好测试环境,包括数据库部署、软件系统安装调试和VR硬件设备部署。

本系统具体的待测试功能点为知识树加载,系统载入中学物理碎片知识信息数据,其中包含视频、图像、文本信息内容,测试系统测试用例如表1所示。

表 1 基于VR技术的知识树系统功能性测试用例Tab.1 Functional test case of knowledge tree systembased on VR technology

为验证系统非功能性测试的安全,稳定和易用,观察Unity3D引擎自带的Profiler分析工具,可以实时查看系统运行时的数据情况,如图5所示。

本系统的非测试用例如表2所示。

图 5 基于VR技术的知识树系统的Profiler分析Fig.5 Profiler analysis of knowledge tree system based on VR technology

表 2 基于VR技术的知识树系统非功能性测试用例Tab.2 Non-functional test cases of knowledge tree systembased on VR technology

测试结果表明,系统能稳定运行生成物理知识树,以人教版八年级物理课程为例,生成的知识树模型系统运行稳定,能够进行虚拟教学。具体可扫码本文首页的OSID码,进入“本文开放的科学数据与内容”。

5 结 语

为解决复杂、无序的碎片化知识易对学生认知产生知识负荷、认知不立体等问题,本文设计并实现了基于VR技术的知识树系统,操作界面直观简洁、立体可视化效果良好。该系统利用知识图谱的构建方法对碎片化知识进行整理,通过插值算法生成树模型、形成主题知识树,能够给予用户三维可视化的学习内容,提升用户吸引力;借助动态资源加载和场景异步加载,提高系统资源加载效率,更快地响应用户需求,提升用户体验。

该系统经过大量的用例测试,表明系统功能安全稳定,并且学生能够在本知识树系统中进行各种学科的虚拟教学,通过系统中的知识树结构层次更加直观地学习相关课程知识,通过图片、音频、视频等辅助资源更全面地了解所学内容,更好地构建完整的知识体系框架。

猜你喜欢

模块模型内容
适用于BDS-3 PPP的随机模型
28通道收发处理模块设计
内容回顾温故知新
“选修3—3”模块的复习备考
自制空间站模型
模型小览(二)
主要内容
离散型随机变量分布列的两法则和三模型
必修模块相关知识过关训练