基于虚拟现实的传感器实验仿真教学系统

2020-06-09 12:20白帆王大虎刘浩杜猛孙存远
软件 2020年2期
关键词:教学系统软件传感器

白帆 王大虎 刘浩 杜猛 孙存远

摘  要: 传感器实验,是测控技术与仪器专业学生所必须掌握的科目之一,但是通过对学生学习情况进行研究发现,现在传统的传感器实验课内容抽象,学生动手实践时间也比较短。针对这一情况,文章从虚拟仿真教学的角度出发,以传感器实验的实验设备为原型,使用3ds Max完成模型建立和优化,利用Adobe Premiere Pro和Adobe After Effects软件完成三维动画制作,基于Unity3D平台完成了传感器实验仿真教学系统的开发,实现结果表明,该系统实现了对实验原理、实验设备结构的介绍,并且學生可以对传感器实验的整个过程进行实操练习,具有很好的交互性,有助于提高学生的学习兴趣和专业水平。

关键词: 传感器实验;虚拟现实;仿真教学;3ds Max;Unity3D

中图分类号: TP212    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.02.032

【Abstract】: Sensor experiment is one of the subjects that students majoring in measurement and control technology and instruments must master. However, through the study of students' learning, it is found that the content of traditional sensor experiment is abstract and the time of students' hands-on practice is relatively short. In view of this situation, from the perspective of virtual simulation teaching, this paper takes the experimental equipment of sensor experiment as the prototype, uses 3ds Max to complete the model establishment and optimization, uses Adobe Premiere Pro and Adobe After effects software to complete the three-dimensional animation production, and completes the development of sensor experiment simulation teaching system based on unity3d platform. The implementation results show that the The system realizes the introduction of the experiment principle and the structure of the experiment equipment, and the students can practice the whole process of the sensor experiment, which has a good interaction and helps to improve the students' learning interest and professional level.

【Key words】: Sensor experiment; Virtual reality; Simulation teaching; 3ds Max; Unity3D

0  引言

传感器实验,是每个测控技术与仪器本科专业学生所必须学习的科目,但通过调查发现,在传感器实验课上,实验都是在老师的带领下去完成的,而且由于实验条件和实验时间的问题,在老师演示实验的时候,很多学生是看不到老师的演示细节,只是很盲目的跟着老师一步一步完成实验,一节实验课上完,完全不了解传感器实验的详细内容,实验效果比较差,对学生的动手实践能力提升也不大。

虚拟现实技术,也就是VR技术,是一种融合了仿真技术、计算机图形学技术、网络技术、多媒体技术等多种技术的新型技术。近些年来,由于VR技术发展迅速,VR技术在实验教学方面的应用也日益增多。2015年[1],杜坤提出了由结构与功能、组分与功能、设备与技能三大模块以及平台支撑软件组成的生物学虚拟实验室;2016年[2],王富强运用虚拟现实技术、多媒体技术、人机交互技术、数据库技术和网络通信技术等,开发了机械原理认知虚拟仿真实验系统;2018年[3],董圆圆利用Unity3D及Java Web搭建了基于虚拟现实的医学实验仿真教学系统。

本文则是以虚拟现实技术为基础,以常见的CSY系列传感器系统综合实验的实验设备为例,基于Unity3D平台,使用3ds MAX、Photoshops、Adobe Premiere Pro和Adobe After Effects等软件,实现了对传感器实验的仿真教学。相较与以往的仿真教学系统,此设计对传感器实验的仿真更加具体,使学生能够通过鼠标、键盘可以清楚的观看到实验使用设备的设备外观、结构,同时,可以亲自动手完成整个实验的操作,大大提高了学生的学习兴趣。

1  传感器实验仿真教学系统的设计

1.1  实验选材

在测控技术与仪表专业,其一系列实验的核心就是各类传感器的应用。传感器是一种检测装置,能感受到被测量的信息,并且能够将感受到的信息按照一定的规律转换成电信号或者其他形式的信息传送出来,从而满足信息的传递、处理、存储、显示、记录和控制等要求。传感器早就随着新技术革命的发展渗透到了各行各业,如工业生产、生物工程、环境保护等,在推动经济发展和社会进步传感器起着很重要的作用,同时传感器也是测控技术与仪表专业学生所必须掌握的内容。

但是由于传感器种类繁多,在此无法一一列举出来,因此选取了相对经典的CSY系列传感器系统综合实验中的霍尔传感器实验、温度传感器实验和应变式传感器实验为本文选材。

1.2  实验教学系统的设计过程

1.2.1  实验教学系统的模块设计

此实验教学系统的目的是为了让学生能够对传感器实验原理、实验设备结构有更加详细的了解和认识,同时可以亲自完成整个实验的操作过程,因此,将实验分为以下几个模块[4]。

(1)场景漫游模块。在虚拟的场景中进行漫游,同时可以拉近场景中的实验设备,近距离观察实验设备的外形和结构。

(2)三维动画模块。此模块通过三维动画的形式使学生可以了解相关实验的实验原理、实验步骤等。

(3)实验设备拆装模块。此模块通过设备的拆装和设备的结构展示了可以让学生很清楚的了解每个实验设备的内部结构和各个结构名称,可以让学生对实验设备有了更清楚的认识。

(4)实验操作模块。此模块用来实现几个实验整个过程的操作练习,学生可以自己动手无次数限制进行练习,同时在练习过程中,系统在实验容易出错的地方会给出相关的实验注意事项,便于学生了解整个实验的内容。

1.2.2  设计流程

要想实现每个模块和整个系统的功能[5],具体的流程如图1所示,首先要对传感器实验的资料进行收集,包括外部照片、实验设备结构、实验原理、操作过程等资料的收集,然后根据收集到的资料用3ds MAX进行模型的建立,接着对模型进行进一步的优化,然后结合资料完成相关三维动画的制作,合成视频,将模型和视频导入Unity 3D中,完成整个系统的交互。同时在系统完成后要对系统进行最后的测试,测试成功后完成系统的设计,发布系统。

2  实验模型的建立

需要创建的模型包括三个实验的实验设备、实验室的环境和人手模型。在建模过程中要按照一定的步骤和流程,才能加快建模的速度,增强模型的真实感。

由于模型比较多,无法一一进行介绍,因此以CSY系列传感器综合实验台为例,对建模进行介绍。

2.1  利用3ds Max进行模型建立

3ds MAX是属于美国的Autodesk公司旗下的,一款基于PC系统的三维动画渲染和制作的软件,这款软件的功能强大,而且操作简单,上手时间快,所以广泛的应用于广告、影视、工业设计、辅助教学以及游戏等领域。

在利用3ds MAX进行建模前[6],要仔细观察CSY系列传感器综合实验台的照片以及收集的资料,以保证所建立的模型最大程度的还原真实模型。收集的照片如图2所示。

在整个建模过程中[7],基本分为以下几个步骤:

(1)先在3ds MAX中选择所需建模部分的基 本几何体,比如长方体、正方体、圆柱体等,再根据其实际的尺寸,进行参照调整。

(2)将新建立的基本几何体转化成可编辑多边形,在编辑多边形的命令下进行操作。

(3)对基本几何体在顶点、边、边界、面和元素等不同条件下进行环形、循环、插入、连接和挤出等不同命令的操作,一步一步的将其改成所需要的模型。

(4)在每个部分建好之后[8],再利用移动、对齐、旋转和镜像等命令将所有的模型组好在一起,形成CSY系列传感器综合实验台的模型,建好的模型如图3所示。

2.2  模型优化

模型虽然在3ds MAX中完成了制作,但是在3ds MAX中各个模型的颜色比较单一,很难表现出来真实物体的效果,这时就要对模型进行进一步的优化[9]:

(1)进行材质贴图的优化,为了使更像真实的物体,要从现实的照片中裁取贴图,用PS等工具进行加工以后,再将贴图附加到模型表面。

(2)光照效果也是必不可少的一步,通过增加局部光源和整体光源,并且调整模型对光吸收、放射和折射等参数,使模型表现出真实的效果。优化后的模型如图4所示。

(3)我们在3ds MAX中的模型称为工程文件,但是如果要合成动画,就必须进行渲染操作,将灯光和材质调整好之后,对模型进行渲染,产生动画序列帧,使输出的照片具有很强的真实感。

(4)此时的模型虽然可以满足动画制作的需要,但是做出来的模型面数很多,结构复杂,如果在后期直接導入Unity 3D中,会Unity 3D无法正常运行,这时就要使用到烘焙技术[10-11],把复杂的模型的效果烘焙到一个简化之后的模型上,便于后期模型的导入和处理。

3  三维动画合成

模型经过渲染之后,开始进行动画合成。本文采用Adobe Premiere和Adobe After Effects两款软件进行合成动画。Adobe Premiere和Adobe After Effects是兄弟产品,是一套动态图形的设计工具和特效合成软件,并且两款软件的兼容性很好,能满足当今大部分视频制作的要求。

动画合成的大致流程是:

(1)先根据需求编写相关的视频脚本,对视频脚本进行配音。

(2)将配音与渲染出来的照片导入Adobe Premiere中,在软件中将图片与相应的配音音频一一对照,同时要注意使用“视频切换”特效,以保证视频的流畅。

(3)再利用Adobe After Effect对视频进行进一步的加工,增加片头和标题,同时根据脚本配上相应的字幕和特效,完成动画视频的合成。

4  三维场景交互

4.1  利用Unity3D进行人机交互

Unity3D和虚幻引擎4是当前比较主流的两个综合型游戏开发工具,而Unity3D更简单容易上手,并且对配置要求低没事,所以这里选择Unity3D进行人机交互。如图5所示,实验设备模型导入Unity 3D的效果图。

4.2  碰撞检测技术

系统有实验设备拆装的功能,这时要进行拆装区域的判断,当进行这个区域的时候,进行设备拆装的操作,这时就需要碰撞检测技术进行实现,主要包括边界框算法,基于距离的算法等[12]。

在这个系统中,所有区域都是长方体。我们选择一个名为轴对齐边界框(简称AABB)的边界框算法作为该系统的碰撞检测算法。

基于边界框的算法有三个步骤:

(1)计算AABB(轴对齐的边界框)。

(2)建立边界框的级别。

(3)执行边界框的重叠测试。

首先,计算拆装区域的AABB和移动鼠标区域的AABB。通常,移动鼠标区域的AABB的位置可以通过计算其中心点,长度,宽度和高度来获知。但是,拆装区域AABB的区域与实验设备的边界框不同。拆装区域边界框的长度应加上拆装距离。我们将m作为实验设备边界框的中心点,a为长度,b为宽度,c为高度。同时,D是实验设备的拆装距离。拆装区域的边界框的参数包括中心点m′,长度a′,宽度b′和高度c′,这些值可以通过以下表达式计算:m′= m,a′= a + D,b′= b + D,c′= c + D。

然后,通过自上而下的方法建立两个简单的级别等级,一个是实验设备的级别等级,一个是移动鼠标区域的级别等级。

最后,在两个级别等级中进行交叉测试,从而判断虚拟检查员是否进入了拆装区域。如果进入了,我们开始执行拆装命令。

4.3  使用C#编写脚本

要在Unity3D中实现各种交互功能,就必须有相关程序的编写,本文采用C#语言完成程序的编写[13]。

在整个程序的编写过程中,动画的导入是很重要的一步,其中导入的部分脚步程序如下:

using UnityEngine;

using System.Collections;

public class NewBehaviourScript : MonoBehaviour

{

public MovieTexture mov;

void Start()

{

audio.clip = mov.audioClip;

audio.Play();

mov.Play();

}

void OnGUI()

{

if(GUI.Button(new Rect ( 310,0,100,50),"2倍速播放"))

{

audio.pitch = 2f;

}

if(GUI.Button(new Rect ( 410,0,100,50),"1倍速播放"))

{

audio.pitch = 1f;

}

GUI.DrawTexture(new Rect(0,0,300,300),mov);

}

根据需求一步步完成整个程序脚本的编程,从而在Unity3D中实现所有想实现的交互功能。

5  系统测试与发布

整个系统设计完成后,还应该对系统的性能进行测试[14],如图6所示,是系统的主页面,按照系统刚开始设计的需求分为了四个功能模块:型号展示模块、内部结构展示模块、设备拆装模块和工作原理模块。需要进行哪个模块用鼠标点击一下即可进入。经过测试,系统每个模块的功能都满足设计的基本要求。

由于Unity3D软件具有很强大的系统兼容性,所以发布出来的程序基本能在PC、IOS、Android等多个平台上运行。在发布过程中是在Project视图下进行Assets资源包的打包,在Build Setting中进行发布配置,在Inspector操作面板中进行软件产品名称和图标的修改等。

6  结语

在这个技术高速发展的社会,各个高校都慢慢开始注重虚拟仿真实验教学的建设,VR技术在教育方面的应用也越来越多,本文设计的传感器实验仿真教学系统使学生可以随时随地对相关的传感器实验进行学习,增加了学习的趣味性,提高学生学习的积极性,从而提高学习效率和学习成果。

参考文献

杜坤, 张彪, 魏万红, 等. 生物学虚拟实验室的构建及应用[J]. 实验技术与管理, 2015, 32(09): 132-136.

王富强, 贺瑗, 强建国, 等. 机械原理认知虚拟仿真实验系统开发及应用[J]. 教育现代化, 2016, 3(36): 118-119.

董园园, 余小清, 万旺根. 基于虚拟现实技术的医学实验仿真教学系统[J]. 工业控制计机, 2018, 31(11): 111-112+115.

闫纪红, 张奋扬. 虚拟可重组制造系统仿真优化模块开发[J]. 实验室研究与探索, 2013, 32(07):81-86+98.

唐实, 任淑霞, 王佳欣, 等.  基于虚拟VR技术的心脏医疗辅助系统的设计与应用[J]. 软件, 2018, 39(6): 23-25.

王大虎, 高会争, 陈侠. 基于Quest3D的变电站仿真培训系统[J]. 中国电力, 2016, 49(9): 62-64.

高伟, 王昱霖, 吴倩莲, 等. 基于VR技术的教育游戏在英语教学中的应用与发展前景[J]. 软件, 2018, 39(5): 60-65.

刘标, 王大虎, 徐炎军. 基于Unity3D的电力仿真教学系统[J]. 软件, 2019, 40(06): 164-168.

陈美伊. 基于GIS的旅游景区虚拟实现技术的研究[J]. 软件, 2015, 36(10): 30-32.

李永强, 牛路标, 杨莎莎, 等. 大型仿古建筑三维精细建模方法研究[J]. 河南理工大学学(自然科学版). 2015, 34(5): 640-644.

呂杰英. 虚拟机技术在计算机基础教学中的应用[J]. 软件, 2015, 36(5): 113-116.

和莉, 刘惠义. 碰撞检测技术在三维交互漫游系统中的应用[J]. 计算机技术与发展, 2006, 16(6): 92-94.

韩桂明, 周凌, 赵志鹏. 基于Unity3D的房间仿真技术[J]. 电子测试, 2014, (11): 49-51.

吴亚峰, 于复兴. Unity3D游戏开发技术详解与典型案例[M]. 北京: 人民邮电出版社, 2012: 101-200.

猜你喜欢
教学系统软件传感器
康奈尔大学制造出可拉伸传感器
禅宗软件
基于Unity的计算机硬件组装仿真教学系统设计
简述传感器在物联网中的应用
“传感器新闻”会带来什么
软件对对碰
跟踪导练(三)2
多地远程互动同步教学系统的设计与实现
基于交互式双板教学系统的高中地理教学研究
汽车配件营销实践教学系统开发