基于Unity3d的消失模铸造虚拟现实系统研发

2018-07-03 00:45范淑媛廖敦明凌东鑫薛冰洋樊自田华中科技大学材料科学与工程学院武汉430074
实验室研究与探索 2018年5期
关键词:手柄虚拟现实实验教学

范淑媛, 廖敦明, 凌东鑫, 薛冰洋, 孙 飞, 樊自田(华中科技大学 材料科学与工程学院, 武汉 430074)

0 引 言

消失模铸造技术是一种具有广泛应用前景的铸造工艺,被誉为“21世纪的铸造技术”[1]。而作为向企业输送高级技术人员的高等院校,受困于价格昂贵的实验仪器设备和高危现场教学环境,国内只有少数高校开设了消失模铸造实验课程[2],实验课程几乎还停留在理论教学阶段[3],学生只能通过一些图片和视频等多媒体资源来了解消失模铸造的整个生产流程。实验课是由老师现场进行消失模铸造流程演示,学生在旁边观察的形式完成,学生很少有机会亲自动手实践。传统被动学习方式面临挑战,无数事实证明,学生通过实践获得的知识可以更为深刻的停留在其脑海中,所以教育者常常通过探索式教学来培养学生的创新意识[3]。伴随着虚拟现实及远程实验等技术的发展,开放资源的理念不断涌现,要提高实验教学的质量,就需要使用新技术,对传统的实验教学理念、模式、内容、方法以及手段进行改革[4]。

虚拟仿真教学为学生开展探究性学习、自主实验和创新实践提供了新手段、开放平台和优质资源[5]。虚拟现实技术为学生构建了一个逼真的虚拟实验场景[6],学生可以完全沉浸其中并与之互动,并激发自己的创造力和想象力。从最初抽象概念解读,到观察丰富的经验,最终获得实践经验并进行设计创作,让每个学生真正成为实践者和创作者。虚拟仿真教学实现了实验教学中人力、物力与信息资源的多层次开发与利用[7]。

本文基于Unity3d虚拟现实平台,针对应用与消失模铸造实验教学进行了虚拟现实系统的研发。该系统很好的弥补了高校消失模铸造实验课程体系的不足,学生通过操作虚拟现实系统不仅可以看到生动逼真的实验现场和设备,借助交互设备还能与虚拟场景对象进行一系列的沉浸式交互。该系统能让学生主动地获取知识,辅助老师完成实验课程知识和实践经验的传授。

1 消失模铸造虚拟现实系统的设计

该系统结合华中科技大学材料学院现有消失模铸造实验课程体系,模拟真实实验室的实验环境、设备和实验操作流程。学生和老师分别使用指定账号登录系统,整个系统包含实验演示、实验操作、实验报告和系统设置4个模块。系统模块分布如图1所示。

图1 系统模块分布

(1) 实验演示模块。在实验前,学生通过查看实验演示模块的动画内容,结合语音和文字的提示。初步掌握消失模铸造的实验流程。

(2) 实验操作模块。学生进入实验操作模块,即进入消失模铸造实验室虚拟场景,通过键盘和鼠标的各种操作,可以实现场景漫游,开关操作,设备和产品展示,泡沫切割,铁水浇注等一系列功能。另外,连接HTC Vive头盔套件,学生沉浸在虚拟场景中,通过手柄控制器的各种按钮,不仅可以直接操控虚拟物体,还能感觉到反作用。学生完全沉浸其中、投入热情,完成通常繁琐枯燥的消失模铸造实验。

(3) 实验报告模块。老师账号登录,在试题库中进行选题,还可自己出题,发放试卷,阅卷。学生学号登入在规定时间内进行答题,提交试卷。查看并打印成绩。

(4) 系统设置模块。系统设置包含界面风格类型设置、语音文字设置、观察模式选择(3D模式和非3D模式)、视角选择(第一人称视角和第三人称视角)等。

2 虚拟现实系统关键技术

2.1 虚拟现实技术

虚拟现实技术(Virtual Reality Technology,VR)是由交互式计算机仿真组成的一种媒体,能够感知参与者的位置和动作,替代或者增强一种或者多种感官反馈,从而产生一种精神沉浸于或出现在仿真环境(虚拟世界)中的感觉[9]。虚拟现实技术具有3个最基本特性:交互性(Interactivity)、沉浸性(Immersion)、和构想性(Imagination),即“3I”特性[6-8]。正是这些特性,使虚拟现实技术在实验教学中的应用日趋广泛。

(1) 交互性。学生与虚拟场景中各种对象相互作用的能力。学生进入虚拟环境后,通过互动设备(鼠标、键盘、VR手柄)中各种触发操作,虚拟场景会产生对应的反馈动作。

(2) 沉浸性。沉浸性是虚拟现实系统的核心,学生通过VR设备使其完全沉浸在虚拟现实场景中,具有身临其境的体验效果。学生在虚拟场景中的视觉、听觉、触觉完全与真实环境中体会到的一致。

(3) 构想性。学生沉浸在虚拟场景中,通过与虚拟场景对象的互动,激发学生的想象力和创造力。从而可以深化概念,引导学生主动学习知识。

2.2 系统开发引擎

Unity3d是由Unity Technologies公司开发的专业跨平台游戏开发及虚拟现实引擎,其打造了一个完美的跨平台程序开发生态链,学生可以通过它轻松完成各种虚拟交互创意和三维互动开发,创作出精彩的虚拟仿真内容[6]。

Unity3d精简和人性化的界面,直观的工作流程,功能强大的工具集,大幅的缩短了虚拟内容的开发周期。导入通用的FBX或OBJ数据格式的三维模型,图片、音频、视频等媒体资源,结合Unity3d的场景创建模块,学生可以轻松搭建逼真复杂的虚拟实验室场景。Unity3d支持的C#和JavaScript编程语言,可以实现学生与虚拟场景的各种交互操作。

Unity编辑器可以在Windows、Mac OS X以及Linux平台运行,一次开发就可以完全部署到主流的虚拟现实内容平台(比如Steam、Vive),Unity能够支持发布的平台已超过21个。学生无需转移和二次开发,就可以将产品轻松部署到相应平台,节省了大量的开发时间和精力。是开发消失模铸造虚拟现实系统最为理想的平台。

2.3 HTC Vive虚拟现实头盔

HTC Vive是由HTC与Valve联合开发的一款VR头显(虚拟现实头戴式显示器)产品[10]。HTC Vive是全球首款完整虚拟现实系统,整套设备包括两个无线VR控制手柄、两个空间定位发射红外线的基站以及一个带有前置摄像头的VR头戴头盔,如图2所示。

作为最核心的Lighthouse定位追踪系统,通过两个激光定位器在水平、垂直方向发出两处红外光源,配合手柄控制器、头显上的光敏元件以及高速惯性测量单元完成精确的追踪定位工作。通过该交互设备接口连接开发的消失模铸造虚拟内容,学生带上Vive头盔使其沉浸在消失模铸造虚拟实验室环境中,通过操作两个手柄控制器完成实验中泡沫切割、加砂、开关电源、浇注等相关操作。从而完成消失模铸造实验的虚拟实践操作。

图2 HTC Vive头显

2.4 3D模型面数优化

为了使整个虚拟现实系统的体验更加真实流畅,逼真且模型面数较低的三维模型必不可少。三维模型主要通过三维建模软件来完成。主流的虚拟现实建模软件有3Dmax、Maya等,当前最常用的3Dmax建模软件,在室内设计和游戏行业是非常有优势的,建模效率高,模型面数较低。但是在消失模铸造等工业领域,所需的机械设备零件,设计类部件,都是有严格的尺寸要求和装配关系。而本文所使用的UG建模软件,具有强大的机械制图、建模和装配功能[11]。但缺点是:导出的STL通用模型的三角面数较高,直接导入unity会造成系统占用内存偏高,运行的流畅性变差。所以针对STL模型的面数优化是虚拟现实系统开发过程中的一个非常关键的技术要点。

采用3DMax对外部导入的STL模型进行面数优化的方法,为了达到模型视觉上不失真,面数较低的效果,需要不断地对模型网格进行调整和修改,并且花费的时间较长[12]。因此,本文使用的一个自主编写的高效STL模型面数优化应用程序,只需将STL模型直接拖入EXE程序界面,输入目标模型面数即可马上生成优化后的模型,并且可以在模型查看器上查看模型。以本系统中使用的一个消失模铸件模型为例,优化前,三角面片数为16 514个,优化后,三角面片数为2 668个,并且优化后的模型精细度较高,模型面数得到了很好的优化。铸件模型面数优化前后对比,如图3所示。

(a) 减面前的模型(b) 减面后的模型

2.5 动画特效

为了模拟消失模铸造的生产流程,普通的动画效果只是改变组件的位置,大小,颜色等参数,无法满足像消失模铸造中泡沫填充金属模具、雨淋式加砂中砂粒均匀落入砂箱、砂子缓慢充满整个砂箱、铁水浇注过程中金属液体减少和浇注等效果。为了实现这些真实效果,本系统使用了3DMax变形和unity3d粒子系统来达到上述的效果。

变形是一种基于节点的造型技术,在应用程序内部是通过节点序列的变换矩阵来实现的。在3DMax中实现变形的条件是变形源物体与目标物体的节点数和节点排序必须相同[13]。通过该变形技术可以实现砂子填充砂箱、浇包倾倒的动画效果。

Unity3d粒子系统通常用于制作烟雾,蒸汽等效果,粒子系统包含粒子发射器、粒子动画器和粒子渲染器[14]。在unity粒子系统中,经常用到路径渲染器,它可以用来记录粒子运动路线,实现粒子沿着指定路径运动。本文中泡沫珠粒在负压的作用下沿着管道进入模具型腔的动画效果,就是通过脚本来控制粒子运动路径实现的。

3 虚拟现实系统实现

本文根据学院现有消失模铸造实验课程体系,结合UG、3DMax、Unity3d等软件工具,开发了基于Unity3d的消失模铸造虚拟现实系统,开发的技术路线如图4所示。

图4 虚拟现实系统开发技术路线

3.1 场景和模型

三维模型和场景是整个虚拟现实系统的基础,它直接影响了虚拟环境的真实度。在UG三维建模软件中建立三维模型应遵循的原则是:在保证模型真实性较高的前提下,尽量采用最简单的模型。建立EPS、实验室、泡沫、泡沫预发机、金属模具、蒸汽缸、泡沫模样、涂料、泡沫切割机、棒胶、干燥箱、干锅电炉、浇包、沙箱、三维振动台、废气处理机、电机等设备场景的相同比例模型。模型建立之后,对导出的STL模型网格数据进行优化处理。再导入3DMax中赋予材质、纹理,调整灯光等参数,对模型进行烘培渲染处理(如图5(b)所示),最后转换成FBX格式的模型数据存档输出。

在虚拟场景中,材质是利用模型表面的光反射特性使模拟呈现出特定物理视觉效果,3DMax中最基本材质是使用三种颜色来构成对象表面:环境光颜色、漫反射颜色、高光颜色。使用三种颜色及对高光区的控制,可以创建出大部分基本反射材质[15]。另外,使用材质贴图可以实现模具、干锅电炉等模型表面的凹凸、金属效果。3D建模和材质渲染如图5所示。

3.2 交互设计与实现

交互设计与实现是整个虚拟现实系统的关键部分。在Unity3d中,交互动作的实现主要是通过程序脚本编程实现。Unity支持多种编程语言(C#,Java Script等),本文使用的是更加灵活高效的C#编程语言。通过一些外部交互设备(鼠标、键盘、手柄等)的程序接口进行编程,实现学生与虚拟环境的一系列交互行为,如漫游、开关、动画控制、视角切换、按钮点击等。本系统实现了以下两种交互方式。

(1) PC+鼠键交互。学生在工作电脑上通过鼠标和键盘与虚拟系统中的UI按钮或组件进行交互,这种交互方式是最方便有效的。系统主界面有“实验演示”、“实验操作”“实验报告”“系统设置”和“退出”五个UI按钮,学生用鼠标左键点击这些按钮,系统将快速跳转到相对应的模块。鼠标右键用于控制虚拟场景中的观察视角,实现实验室的无死角查看。鼠标的中建(滚轮)控制视角的远近,从而实现对干锅炉、模具等设备的近距离细节观察。通过鼠标左键点击“向右”按钮将出现系统的文字和图片信息,再次点击将将隐藏文本提示框。为了引导学生的正确实验操作,操作下一个步骤前将会有文字和特效提示,比如:当泡沫切割机的电源开关忽亮忽暗时,表示下一步是用鼠标点击该开关进行对开关的控制。这种引导式的交互设计对学生快速了解消失模铸造流程具有重要作用。

(a) Ug建模

(b) 3DMax材质渲染

(2) PC+HTC Vive手柄交互。高性能电脑连接Vive头盔套件,在Unity3d虚拟现实引擎中,使用Steam VR Plugin插件提供的Unity+HTC Vive开发接口[16],编程实现两个手柄控制器与虚拟场景的交互操作,Vive手柄的交互按钮如图6所示。学生带上Vive头盔,使其完全沉浸在消失模铸造实验室场景中,在现实中走动,转动头部,虚拟场景也会出现对应的动作。手柄的菜单键对应系统的四个模块,通过按下另一只手柄的触摸板发射射线并扣动扳机进入选中的模块。学生进入实验演示模块,将看到整个消失模铸造流程,感觉就像在生产车间实习,通过按下一只手柄的触摸板将发射射线,移动到指定位置,视角将会瞬间移动到该处,实现场景自主漫游。移动到设备或零件前,用手柄触碰铸件等物体,铸件高亮显示,手柄产生震动反馈,此时根据提示信息(声音和文字)按下抓取键,实现对铸件的“拿起”。这种沉浸式的实验场景加上一系列的“真实”操作,将激发学生的学习兴趣,主动地完成消失模铸造实验的实验认知和操作。

1-菜单键(Menu Button); 2-触摸盘(Touchpad); 3-电源键(System Button); 4-扳机(Trigge)r; 5-抓取键(Grip Button)

3.3 发布与展示

Unity3d可以发布在Windows、IOS、Android、WebGL等平台,以发布在Windows 64位系统上为例,unity发布成功后生成一个EXE运行文件和一个文件夹数据。只要拷贝两个文件到学生Windows电脑上,无需安装,直接运行EXE文件即可打开虚拟现实系统。运行消失模虚拟现实系统,学生通过操作鼠标和键盘实现与虚拟教学系统中实验室场景、模具、射料枪、泡沫切割机、干燥箱、干锅电炉和振动台等设备互动。选择系统的 “3D”功能,实现左右分屏的效果,在3D电视或者3D投影上展示,学生带上3D眼镜,可以呈现3D立体效果。更加直观形象的展示消失模铸造的整个流程。连接上HTC Vive头盔,在电脑显示屏和Vive头盔上显示,学生通过Vive头盔使其完全沉浸在虚拟场景中,通过两个控制器手柄实现与虚拟场景中的设备进行交互。旁观者可以通过电脑显示屏看到学生在虚拟场景中的各种交互动作以及交互后对虚拟现实场景的影响。如图7所示,消失模铸造虚拟现实系统的内容包含实验室室内场景、泡沫充型、泡沫切割、蒸模等。

4 结 语

本文阐述了基于Unity3d的消失模铸造虚拟现实系统的设计和开发流程。该系统具有很好的跨平台性,人性化的交互界面,无需安装软件即可在普通电脑上登录运行和操作。在该系统中,学生可以完成实验的预习,初步掌握消失模铸造的生产流程;在各种提示信息的引导下完成一系列的交互动作。学生佩戴3D眼镜或者HTC Vive头盔可以进行沉浸式的学习,给学生带来更加真实的感受。在这种趋近“真实”的环境中,学生将更加主动有效的学习整个实验课程知识。在该系统的辅助下,教师可以很好的完成实验教学内容。

(a) 室内场景

参考文献(References):

[1] 黄乃瑜, 罗吉荣, 叶升平. 面向21世纪的消失模铸造技术[J]. 特种铸造及有色合金,1998(4): 37-40.

[2] 陈元芳, 陈 康, 刘 春,等. 以创新为导向的材料加工实验教学改革[J]. 中国校外教育, 2013(2): 79-79.

[3] 廖 森, 吴文伟, 林翠梧,等. 通过探索式教学培养学生的创新能力[J]. 广西大学学报自然科学版, 2007,32(s2):416-419.

[4] 王卫国. 虚拟仿真实验教学中心建设思考与建议[J]. 实验室研究与探索,2013,32(12):5-8.

[5] 王卫国, 胡今鸿, 刘 宏. 国外高校虚拟仿真实验教学现状与发展[J]. 实验室研究与探索,2015, 34(5):214-219.

[6] 陈雅茜,雷开彬. 虚拟现实技术及应用[M]. 北京: 科学出版社,2015.

[7] 姜 晖. 信息化实验教学环境建设与应用[J]. 实验室研究与探索,2006,25(11):1329-1332.

[8] 郭芳芳, 刘志勤. Unity3D在教育游戏中的应用研究[J]. 教育观察旬刊,2012(10):47-50.

[9] Unity Technologies. Unity 5.x从入门到精通[M]. 北京:中国铁道出版社,2016.

[10] 百度百科. HTC Vive[OL]. (2015-03-02)[2017-05-03]. http://baike.baidu.com/item/HTC%20Vive.

[11] 廖敦明, 张兆创, 孙 飞,等. 基于WebGL的铸造虚拟实验教学系统的研发[J]. 中国现代教育装备, 2017(3):5-8.

[12] 郑付联. 3DMAX建模技术及其优化的研究[J]. 大众科技,2010(2):43-44.

[13] 龚祥国. 三维“变形”动画制作技术[J]. 软件和信息服务,1997(6):27-29.

[14] 穆海明, 刘 盼, 刘兴华.基于Unity的游戏开发[J]. 通讯世界,2016(8):288-289.

[15] 王爱丽, 程方会. 基于3DMAX和Unity3D的三维虚拟产品展示系统[J]. 电子技术与软件工程, 2017(3):58-58.

[16] 胡良云. HTC Vive VR游戏开发实战[M]. 北京:清华大学出版社,2017.

猜你喜欢
手柄虚拟现实实验教学
基于PLC控制的手柄座钻孔攻丝一体机的研发
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
一种多功能无线手柄的设计
REALITY BITES
风口上的虚拟现实
几何体在高中数学实验教学中的应用
虚拟现实技术向科幻小说借灵感
为什么厨具的手柄不是金属的?