1. 引言
增强现实(Augmented Reality),简称AR,是一种借助三维显示技术、交互技术、多种传感技术、计算机视觉技术以及多媒体技术把计算机生成的二维或三维的虚拟信息融合到用户所要体验的真实环境的一种新技术。与虚拟现实相反,增强现实是对真实世界的加强,将合成的感觉信息融合进用户对真实世界的感知中,实现人与虚拟环境的无缝融合 [1] 。
国内外将增强现实技术运用于教育教学等方面已经做了一定程度的研究。马莉等构建了虚实结合的增强现实外语教学环境,提出了增强现实在外语教学中的具体实践方法。陈泽婵等基于Unity3D,利用自主研发的增强现实跟踪注册程序搭建了移动增强现实光学实验平台,为本系统增强现实功能的实现提供了一种方法参考 [2] 。赵阳等基于增强现实开发了虚实结合的汽车发动机仿真装配系统 [3] 。王雨等基于Unity3D,利用增强现实引擎的标志物识别功能,开发了参数化的曲柄滑块运动机构,为本系统开发模式提供了方案借鉴 [4] 。NAFISAT等将增强现实应用于地理课堂,得出了增强现实有助于提高学生学习成绩的结论 [5] 。OH等提出基于增强现实的船舶设计图纸可视化系统,通过识别二维船舶图纸展现三维船舶模型,帮助人们进行设计沟通,大大提高了设计效率 [6] 。
随着计算机技术和信息技术的发展,采用虚拟现实(VR)和增强现实(AR)等新技术应用于教学,逐渐成为高校教学改革的一个重要方向。工程图学是工科学生必修的专业基础课,旨在培养学生绘图读图能力。在传统的教学实践中,主要以实体零件展示、三维软件建模和多媒体视频播放的形式加强学生的读图能力。本文基于AR技术,利用增强现实引擎Vuforia和系统开发平台Unity,开发了一种工程图学教学辅助系统。该系统可以让学生在课堂上借助智能手机便捷地查看三视图的立体模型,提高了教学效率、课程质量和教学生动性,促进虚拟技术与工程图学教育深度融合,同时锻炼了学生的自学能力和实践能力。
2. 系统框架和功能设计
基于增强现实技术,开发具有沉浸性交互性的工程图学教学辅助系统。使用者利用智能手机的摄像头扫描二维图纸,能够虚实结合的展示模型,并能够以等多种方式对模型进行交互操作。具体功能模块如图1所示。
其中,本系统具备的具体功能有:
① 快速识别图样并生成三维模型;② 可以用滑动屏幕、旋转手机的方式对模型进行缩放旋转操作;③ 能够展示零件剖面图;④ 能够显示零件信息;⑤ 登录及退出功能。
在课前预习阶段,使用本系统可提前查看相关课程模型三维立体视图及剖视图,方便相关知识点的理解。
在课堂教学阶段,可实时查看课程重难点相关的模型信息及各视图,提高教学效率和教学质量,提升学生学习兴趣,加深学生对知识点的理解。
在课后复习阶段,将二维图样和三维模型再次联系起来,通过虚实结合复习加深记忆,提高课程复习效果。
3. 开发平台选择
系统开发平台选用专业的AR、VR开发软件Unity3D,其拥有良好的跨平台性和兼容性。为将本系统应用于Android手机平台,选择Android NDK作为Android和Unity3D之间的数据通信。增强现实引擎选用Vuforia,无缝对接Unity3D开发环境。三维建模软件选择Solidworks,模型优化软件选用3dsMAX。具体开发平台和工具及其功能如表1所示。

Table 1. Development platform and tools
表1. 开发平台及工具
4. 系统开发和实现
4.1. 开发流程
本系统主要在Unity3D中进行开发。首先通过Solidworks建立模型,通过3dsMAX优化后导入Unity3D。其次将预先采集二维图样导入增强现实引擎Vuforia以package的形式与Unity3D对接。最后在Unity3D中搭建增强现实环境并用C#脚本完善交互功能,在Android平台发布系统。具体开发流程如图2所示。
4.2. 增强现实功能的实现
4.2.1. 增强现实功能运行框架
增强现实运行框架如下:首先,通过摄像头获取一张照片,进行灰度化等预处理和特征点提取;其次,将图片的特征数据与数据库中的数据信息进对比,如果判断为匹配成功,将从数据库中提取对应的三维模型;最后,计算三维模型大小和角度,虚实结合的显示在手机屏幕上。具体框架如图3所示。

Figure 3. Framework of augmented reality operation
图3. 增强现实运行框架
4.2.2. 三维模型构建和二维图样采集
为了实现增强现实功能,需要预先构建三维模型和采集二维图样。
三维模型使用Solidworks建模软件建立,并以STEP格式导入3dsMAX优化,减少构建曲面的三角面个数,最后以.MAX或.FBX格式导入Unity3D。
二维图样采集使用手机摄像头拍摄采集。为了保证提取较多特征点,需要保证图像尺寸及分辨率合适。
4.2.3. 数据库搭建及三维注册
如图3所示,完成三维模型的构建及二维图样的采集后,需要建立相应二维图样数据库,而后将二维图样数据库与三维模型相关联从而完成三维模型的注册。访问Vuforia官网可在线建立多图样数据库,如图4所示。

Figure 4. Two-dimensional pattern database
图4. 二维图样数据库
三维模型注册技术是通过摄像头对实际场景中标识物的位姿进行感知,从而建立虚拟与现实环境坐标系之间的映射关系。本实例运用Vuforia增强现实软件开发包实现特征点的标识与提取,其通过对二维图样的识别,标记出用于识别的特征点。提取的特征点如图5所示。
4.2.4. 增强现实场景搭建
完成数据库的创建后,下载数据库以package的形式导入Unity3D。在层级页面创建AR Camera,并添加数据库的使用许可。最后,在层级页面创建ImageTarget,并将对应的三维模型挂载其下,调整模型大小、坐标、角度即可实现增强现实功能。具体流程和效果图如图6所示。

Figure 6. Process for setting up augmented reality scenarios
图6. 增强现实场景搭建流程
4.2.5. 自动对焦功能实现
作为增强现实功能引擎,Vuforia会自动完成信息处理模块的功能。实际测试中发现系统存在摄像头采集到的画面模糊,影响识别速度和精度。经过分析发现摄像头焦距始终固定。通过C#语言编写了脚本调用相关接口,将脚本挂载在AR Camera下实现摄像头自动对焦,解决画面模糊的问题。
4.2.6. 模型缩放旋转功能实现
在完成增强现实功能的制作后,增强现实引擎Vuforia会根据图纸和摄像机的相对位置自动计算模型大小和角度。使用者可以通过移动手机,或者旋转图纸来对模型进行缩放旋转,虚实结合,具有较高的沉浸体验。
除此交互方式之外,使用者还应通过滑动屏幕来控制模型,使交互方式多样化。用C#编写脚本,并挂载到对应模型下,即可实现滑动屏幕控制模型。其基本实现流程如图7所示。

Figure 7. Model scaling rotation process
图7. 模型缩放旋转流程
4.2.7. 零件剖面展示功能实现
Unity具有强大的场景切换功能。配合按钮GUI,可以实现按下按钮,切换到剖面场景,借助Vuforia扫描二维图样生成虚实结合的被剖切后的零件。在层级页面创建按钮,对按钮GUI挂载脚本即可实现。关键部分代码如下。
void Start () {
this.GetComponent< Button >().onClick.AddListener(OnClick);
}
void OnClick(){
SceneManager.LoadScene(剖面图);
}
4.2.8. 模型材质添加
3dsMAX拥有较强的材质制作能力,但导入Unity3D时会出现材质丢失情况。Unity3D本身拥有材质制作功能,且实现效果较好。通过预先准备材质图片,在资源库Assets中创建材质球Material,并将图片应用于材质球的Albedo属性,可完成材质球的设置。将材质球挂载于各模型下,即可将模型贴上该种材质。具体流程如图8所示。
4.2.9. 模型信息讲解功能的实现
模型讲解功能是整合了例题分析,视频讲解的重要功能模块。Unity3D的2D功能主要通过调整摄像

Figure 8. Model material adding process
图8. 模型材质添加流程
头视角,展示三维模型的一个面来实现。通过点击按钮控件,将场景切换到对应模型的模型信息讲解场景,即可实现相应功能。
4.3. 登录界面制作及系统发布
登录界面应包含账号密码输入文本框,以及登录按钮。当按下按钮时,将账号和密码上传到服务器进行比对。如果匹配成功,将进入本系统。
当系统制作完毕后,可以在Android平台上发布。在Unity3D中设置好NDK,SDK,JDK开发工具包的启动路径,调试好开发环境。完成调试后,可通过单击Build的方式生成apk安装包,完成系统的发布。
5. 系统功能测试及使用反馈
整个系统功能测试流程如下:将发布后的apk安装至Android系统;点击打开程序进入登录界面(图9(a));利用摄像头采集并捕捉二维图样特征,在屏幕中生成相对应的三维零件模型并实时追踪和更新(图9(b)),转动手机或二维图样,或将手机拉近拉远,三维零件都会随之实时更新其位置、角度和大小,虚实融合,充分体现了虚拟技术的沉浸性;通过手指组合滑动屏幕的方式可完成模型缩放等交互功能(图9(c));点击剖切按钮可以直接查看模型的剖面图(图9(d));单击模型信息功能按钮可以查看该模型相应的所有教学资料(图9(e))。
最后,通过调查问卷的形式对课程学生进行随机抽样调查。结果显示,93%的学生认为本系统对提高课堂教学质量有帮助,还可以增加学习积极性,能显著提高工程图学的学习效果。
6. 结语
在增强现实技术应用逐渐广泛的前提下,基于Unity3D和Vuforia开发工程图学的教学辅助系统,将二维图纸与三维关联,增强现实与传统教学相融合,在提高工程图学课程的学习效率及效果的同时,有力推动了基于虚拟技术及互联网+的教学改革。目前系统可实现扫描二维图样自动展示三维模型、模型手动旋转缩放、剖面展示、模型信息展示等功能。下一步工作计划利用云端功能将系统与云端服务器相关联,将二维图样和三维模型置于云端,实现模型及更多课程的无限扩容,完成场景虚实融合进一步优化。
基金项目
国家级创新创业训练计划项目(202113021016, 202113021021);浙江省教育科学规划课题(2022SCG222);浙江省高等教育学会课题(KT2021162)。