申蔚 李天宇
摘 要:探索可行的虚拟仿真实验教学模式,可以有效地激发学生参与课程学习的热情,提高教学质量与效果。本项目针对计算机主机拆装传统教学过程中存在的弊端,综合使用3ds Max、Unity3D、MySQL等软件开发了一个具有三维展示、实时交互、在线测评等功能的计算机虚拟拆装教学系统,从而有效的弥补了传统实践课程的不足之处。
关键词:虚拟拆装;Unity3D;仿真教学
中图分类号:G640 文献标志码:A 文章编号:2096-000X(2021)05-0072-04
Abstract: Aiming at the drawbacks in the traditional teaching process of computer host disassembly and assembly, this project has developed a computer virtual disassembly and assembly teaching system with the functions of three-dimensional display, real-time interaction, online evaluation and other functions by using 3ds Max, Unity3D, MySQL and other software, so as to effectively make up for the shortcomings of traditional practice courses.
Keywords: virtual disassembly; Unity3D; simulation teaching
虚拟拆装仿真教学是指利用虚拟现实(简称VR)技术模拟计算机等复杂机械设备的组成结构、工作原理和拆装过程,同时让用户可以通过鼠标、数据手套等设备进行交互操作,在仿真环境中对虚拟物体进行全面考察、操纵乃至拆装维修的学习训练,从而使教学与实验取得事半功倍的效果。
一、系统的需求分析与功能设计
本项目结合计算机专业《计算机组成原理》课程中的主机拆装实验教学进行了研究。由于受场地、教学条件和成本等限制,目前主要的教学方式为教师讲解,配合书本、教学课件和视频加以辅助说明,之后带领学生到实验室展示一遍主机的拆装过程。实践的方式是7-8个人分为一个小组,每组分配一台计算机主机,供学生进行拆装练习。这种教学和实验方式,学生距授课教师较远,导致教师演示拆装过程时学生很可能看不清或看不到。而在分组练习时,需要多人共用一台主机,每人的练习时间十分有限。同时,供练习的计算机也多为实验室淘汰的旧产品,与当前主流的计算机结构存在一定差异,导致学到的拆装知识与实际应用不能准确匹配。
虚拟仿真实验的教学方式可以很好的解决上述问题。系统主要设计了三大功能模块:VR教学演示、自主练习和虚拟考试。
1. VR教学演示模块
学生不再受到实地观察和视频录制角度的制约,可以自主漫游、360度观察计算机主机的每个零部件,同时系统将以文字或音頻的方式给出对应的功能说明。教学演示主要以三维动画的方式展示计算机主机的拆装过程,学生可根据需求选择观看步骤,并进行重复多次的学习。
2. 自主练习模块
学生既可以通过鼠标、键盘加显示器等传统设备,也可以通过外接数据手套加VR眼镜等专用设备进行主机的拆装练习。在此模块中,学生可在模拟的实验环境中运用学习到的拆装知识进行反复练习,巩固、加深自己的记忆,也可自行探索其它安装顺序,当硬件被正确安装后系统会播放音频提示作为判断标准。
3. 虚拟考试模块
系统可以提供拆装操作的考核,并对学习情况和效果进行评价与统计分析。在该模块中,学生将在规定时间内,根据系统发布的题目要求,从包括干扰项的多个部件中选出正确的加以安装。系统对正确的硬件和安装流程预设了分值,可以根据操作步骤和完成情况进行计分,并将测试记录到对应的数据库中。
二、虚拟拆装教学系统的开发流程
教学系统的开发流程如图1所示。其中的主要工作如下:
(一)三维建模和渲染
首先,使用3ds Max软件进行三维模型的创建,赋予各部件材质与贴图,并为拆装的教学演示设计并制作了场景动画。V-Ray渲染引擎能为三维模型添加逼真的纹理与光影效果,可以有效地补足3ds Max默认材质在拟真程度上的不足。在此过程中,为保留V-Ray逼真的渲染效果,需要在3ds Max中对硬件模型进行预渲染。
(二)交互设计
系统的交互功能在Unity 3D软件中完成。在导入模型并重新赋予贴图后,通过编写C#脚本代码实现动画演示模块、拆装练习模块和自我测验模块的功能。同时,系统还添加了学生注册登录的用户界面,以及用PHP连接的用于记录学生成绩的MySQL数据库。最终,对程序进行测试、优化后发布。
(三)系统的打包发布
Unity 3D的一大特色是能够实现产品在不同平台的发布。本系统的主要发布方式为网络平台,这样可以使学生不受设备和场地等因素的限制,通过网络随时进行自主学习和拆装练习。选择将系统发布为WebGL数据包,使用Unity 3D生成嵌入式代码,并将代码嵌入到NetBeans平台的网站中,即可将Unity 3D项目在网页中正常运行。同时,由HTML5标记语言实现Web交互式三维场景的渲染、发布和运行。
与此同时,系统也提供了本地沉浸式的虚拟拆装运行平台,即通过使用数据手套等专用VR设备,以更接近人类自然交互的方式来完成培训。如图2所示。
三、关键技术
(一)建模精度的取舍
理论上来讲,三维模型的精度越高,越能够达到真实的展示效果,使用者获得的沉浸感也越强。但与此同时,高精度也会给系统带来极大的处理负担,出现运行画面迟缓、虚拟交互操作卡顿等现象。而如果三维模型过于粗糙,带给使用者的沉浸感就会减少乃至消失,无法体现出将虚拟现实技术带入教学系统中的意义所在。所以在遵循资源最优化的原则下,本系统结合不同的任务需求采用了不同的精细度建模方法。
为保证教学效果,对一些需要重点讲解的关键部件尽可能地还原实物。制作较精细的模型,外观及尺寸数据与真实物体保持一致。但同时也对其做了适当简化,对于部分模型中需要大量多边形构建的部分,如主板基板的凹凸电路、CPU底部的触点等,直接使用基于实物照片的高分辨率贴图代替。此类模型包括:主板、CPU、CPU散热风扇、内存条、显卡等。
场景和辅助部件的模型仅制作简模,删除多余的面片Poly和网格Mesh,保证系统将最大运算资源集中在硬件模型的移动、旋转时的图形计算上,防止出现画面卡顿、抖动、切换场景时加载时间过长等问题,从而保证在虚拟练习等人机交互过程中的流畅性。此类模型包括:机箱、工作台、辅助拆装工具等。
(二)材质的贴图与导出
使用虚拟拆装教学系统的用户主要交互对象为硬件模型,因此在制作时,使用高质量渲染引擎V-Ray对硬件模型的每种材质进行了单独编辑,设置了漫反射、衰减等光效变化,赋予了细致的纹理和1024*1024分辨率的高清贴图,确保模型的逼真程度。由于Unity 3D无法读取V-Ray材质,为保留V-Ray渲染效果,需要在3ds Max中对硬件模型进行预渲染。具体实现技巧如下:
1. 因为Unity 3D默认的贴图通道与3ds Max不同,因此首先需要对硬件模型的贴图进行整体转移。在硬件模型制作完成后,将所有零件组合为一个可编辑多边形,对模型进行UVW展开,使贴图布线贴合模型,之后将贴图移入第2贴图通道。
2. 进行V-Ray贴图的烘焙,通过V-Ray渲染器,将模型在无光环境下的灰度深浅与在光线照射下每种材质反射的光线颜色表现,烘焙为灰度贴图与高光贴图。
3. 渲染结束后将硬件模型的材质调整为灰模,由3ds Max导出为.fbx文件,再导入至Unity 3D中。通过Unity 3D的着色器Shader,将硬件模型的材质设为Legacy类型,两种V-Ray贴图分别作为漫反射贴图和高光贴图,调整贴图的平铺大小与UV坐标直到与灰模贴合。
(三)信息提示交互功能的实现
此功能主要实现在教学展示过程中,鼠标滑过相应关键部件时,在鼠标指针右下角位置实时提供该部件的名称等提示,当有提示时用户可以点击鼠标左键查看该部件的详细信息,再次点击鼠标左键可取消信息框。
实现此功能首先需要在模型的相应位置上添加Collider碰撞体组件,再编写信息框弹出的脚本,分别指定当鼠标滑过、离开和点击碰撞体时要实现的功能,继而分别把各个部件的信息提示脚本挂载到相应带有碰撞体组件的模型上。
(四)数据库的设计
虚拟教学拆装系统选择的数据库管理工具为phpMyAdmin。phpMyAdmin是一个安装在Web服务器中、以PHP为基础的MySQL数据库图形化管理工具,让管理者可用Web接口管理和操作MySQL数据库。教师无需安装额外软件,通过浏览器即可登录phpMyAdmin教师权限账户,远程管理MySQL数据库,查询已注册的学生人数、学号姓名、考试成绩,或手动修改、删除部分学生信息,操作十分便捷。
本系统数据库的设计分为三部分:学生信息、装配信息和模型库。
学生信息存储的数据较少,仅需存储学生的学号、姓名、密码等身份认证信息以及考试成绩,数据构造简单,建立单表即可完成。
装配信息需要记录各部件的位置关系、拆装序列等参数,还需要记录三维模型文件的加载、正确的装配关系、以及预定义的数据格式文件。将数据库中的数据与专门的装配检测算法相结合,从而判断出操作是否正确。如果安装位置和顺序均匹配,则可以实现部件的自动对齐。
拆装教学系统具有良好的可扩展性,主机及其各部件被存储在一个专门的三维模型库中,并可根据当前主流的型号定期制作和导入新的模型,解决了实体教具因硬件发展而落后淘汰,难以更新换代、维护升级,成本高昂的问题。
四、教学效果的数据分析
课程开设正值疫情防控期间,学生们无法在学校的实验室进行真实的上机操作练习,这也正好给本研究投入应用提供了一个非常好的契机。为了更好的了解虚拟拆装教学系统的使用效果,我们通过网课教学平台提供的统计功能,从学习时长、测验得分、问卷调查等多个维度对教学质量进行了数据分析,并与往届在专业实验室使用数据手套进行虚拟训练的效果进行了对比。
(一)VR教学和自主练习模块的数据分析
本学期共有67名学生参加了虚拟主机拆装训练,最终的数据分析显示:所有学生观看视频的平均反刍比为245.73%,最高反刍比389.41%,如图3所示。所有学生的自主练习次数均为3遍以上。其中,有76.12%的学生人数比例练习了4遍,占总人数的最多,其次是练习5遍的人数比例占到了14.93%,如图4所示。其中,练习次数总排名居于前三位的同学,测试成绩分別获得了100、100、99的高分数。这说明自主练习对提高教学质量和学习成绩是非常有帮助的。
(二)不同实践模式的对比
在调查问卷中,对虚拟拆装教学的满意度结果显示:75.3%的学生喜欢这种教学模式,而有24.7%的学生希望在真实的实验环境中操作,填写的主要原因是认为遇到问题面对面的交流会更清楚。这在一定程度上说明了课堂实践教学也具有其不可取代的重要性。
在調查问卷中,我们还请往届在专业实验室使用数据手套进行过虚拟训练的10位同学进行了用户体验的对比。其中主要的描述指标包括:
准确性:完成任务的正确率
容错性:由于遮挡、噪音等造成的识别误差
舒适性:长时间操作造成的疲劳度、不良反应等
复杂度:交互复杂度
易用性;带给用户的心理感受
普遍的感受是使用数据手套这类专业的VR设备,有新鲜感,同时操作的沉浸感会较强;完成任务的正确率、误差的识别率均与使用鼠标键盘的网络版没有显著差异;但使用数据手套会在交互复杂度上略微高一些,而且还受到数量、成本、使用地点等限制。综合上述因素,同学们还是认为网页嵌入式的拆装训练系统更具有实用性和教学推广价值。
五、结束语
虚拟现实作为一门新兴的科学,目前也尚有诸多因素限制它在教育领域的广泛应用。例如,自身技术还不够成熟,用于教育和培训的应用系统依然较少,硬件设备比较昂贵等。但是,它的“沉浸性”“交互性”与“构想性”,不但非常有利于教学人员构建一种全新、多变的教学环境和教学手段,而且为学习者提供了一种可以进行交互、直观、自主探索的学习环境和学习方法,从而有效地激发学生参与课程学习的热情,在多方面提高教与学的质量和效果。为了创造更加自然沉浸的三维交互体验,本系统计划在后续的升级改良中,尝试实现自然交互,即通过手势识别技术,辅助深度学习等算法,实现无需悬空操作的双手动作,特别是对双手交叉换位等动作,在算法层加以改进,从而使用户体验大幅提升,为更多课程的教学改革提供可行性参考。
参考文献:
[1]严雨灵.基于Unity3D的虚拟维修教学系统设计与实现[J].设计与应用研究,2019(11):128-130.
[2]马思群.基于Unity3D的动车转向架虚拟拆装培训系统研究[J].计算机应用,2017(4):33-37.
[3]杨志文.基于Unity3D的组合夹具虚拟拆装教学系统设计与实现[J].河北工业大学学报,2018(4):8-16.
[4]易小琳.网上计算机系统虚拟实验室的研究[J].计算机工程,2002(11):243-258.
[5]Jayaram S.et al. VADE: A virtual assembly design environment[J]. America: IEEE Computer Graphics and Application, 1999:43-45.
[6]Wenjin Tao. Augmented, Virtual, and Mixed Reality Applications in Advanced Manufacturing[J]. America: Missouri University of Science and Technology, 2019:4-7.