基于VR技术的湘瓷工艺仿真系统设计与实现*
*基金项目:2020年度湖南省教育厅一般资助科学研究项目“基于VR技术的湘瓷工艺仿真实训系统设计与开发”(20C0873)
本文引用地址:http://www.amcfsurvey.com/article/202111/429671.htm作者简介:康美林(1985—),男,湖南衡东人,硕士,湖南科技职业学院教师,研究方向为系统架构设计、虚拟现实技术。
邓卉(1981—),通讯作者,女,湖南长沙人,硕士,湖南科技职业学院软件学院讲师,研究方向为虚拟现实技术、艺术设计、职业教育。
0 引言
近几年,湖南陶瓷产业人才供给不足,影响了市场化和产业化的进程[1],需要湘瓷设计与制作专业在人才培养过程中能够为湘瓷创新做出贡献。虽然湖南省陶瓷设计与制作专业在教学实践中使用了3ds MAX、Maya软件、陶瓷体验软件等计算机辅助技术,但是存在真实感不强,缺乏交互操作,同时受制于严苛的制作环境和设备条件,在湘瓷拉坯过程中,学生们无法对泥料进行陈腐、踩炼、揉泥、拉制成型等一系列操作,在陶瓷烧制阶段,也不易看到烧制时的釉色变化,难以判断陶瓷的烧制状况[2]。因此,亟待设计和实现一个基于VR 技术的湘瓷工艺仿真实训系统,不仅能够在实训过程中模拟现实交互操作,而且能够提升交互感和实训效率。
1 相关工作
在20 世纪80 年代,美国人拉尼尔指出虚拟现实技术包含计算机硬件技术、计算机软件技术、计算机图形技术、人工智能和传感器等技术的最新研究成果[3]。虚拟现实技术具有感知性、交互性、沉浸式的特点[4-5],VR 头戴式显示系统增强了视觉空间,有利于提高学生接受教育知识[6],基于虚拟现实技术应用的教学发展越来越多[7]。文献[8] 提出基于Unity 3D 平台的二次开发技术和利用Web3D 技术结合数据库技术实现了陶瓷产品的三维虚拟展示系统。
目前,国内外运用VR 技术实现陶瓷工艺数字化已取得相当数量的成果,但构建基于VR 技术的陶瓷工艺仿真实训系统还是一个空白。本文提出在陶瓷专业实训教学中,通过构建一套基于虚拟现实技术的湘瓷工艺仿真实训系统,在教学实训过程模拟传统湘瓷工艺严苛的物理环境,提高学生交互操作的真实感,提升实训教学的效率,帮助湘瓷设计与制作专业更好地培养人才。
在湘瓷工艺仿真系统设计与实现中,选择Autodesk 3dsMAX、Unity 3D 和VR 设备一体机PICO 为研究工具。Autodesk 3ds MAX 是美国Autodesk 公司开发的一款基于矢量技术的三维设计软件,不仅可以制作出逼真的三维模型和动画,而且在三维可视化动画和多媒体游戏等领域应用广泛。
Unity 3D 简称U3D,由Unity 公司创建的一个实时3D 互动平台,U3D 提供了一套相对完备的解决方案,可以让开发者在Unity3D 平台上轻松的构建各种AR 和VR 作品,同时,U3D 项目支持跨平台一键部署到游戏主机、PC、手机端、各种虚拟现实设备[9-10]。近几年,VR 硬件逐渐向小型化和移动化发展[11],VR 一体机PICO 通过手柄和头显能够实现六自由度(6DOF)跟踪,VR 技术的发展为学生提供了更为高度仿真的学习互动环境[12-14]。
2 系统设计
2.1 功能分析
湘瓷工艺仿真系统的主要有六大功能:登录功能、场景展示、漫游功能、湘瓷拉坯、陶瓷烧制、学情分析。
2.1.1 登录功能。学生输入自己正确的账号和密码进行校验,通过校验功能验证后可以登录仿真系统,登录成功后系统会缓存用户信息,在实训操作过程中会可以记录学生的学习操作情况;
2.1.2 场景展示。当佩戴VR 设备登录成功后,学生可以感受到真实的陶瓷制作环境,处于身临其境的感觉;
2.1.3 漫游功能。学生可以通过控制VR 设备手柄实现在虚拟窑炉环境中随意移动、旋转和漫游功能,可以没有限制地全角度观察陶瓷产品;
2.1.4 湘瓷拉坯。学生利用自身的手部运动交互操作模拟对泥料进行陈腐、踩炼、揉泥、拉制成型等一系列操作,实时修改陶瓷制作形状。
2.1.5 陶瓷烧制。通过VR设备手柄交互式操作控制温度,可以模拟温度的升降,观察温度条变化值;可以观察陶瓷烧制过程中釉料成色的实时状态变化,用相关参数值控制窑炉内所烧制的陶瓷产品,准确把握陶瓷生产和研发中的各类问题并作出及时调整。
2.1.6 学情分析。通过采集学生的实训日志操作记录和课程实训成绩记录,对比分析给实训教学的个性化数据。
2.2 架构设计
除满足主要功能需要外,系统设计还需要满足一些非功能性需求:操作界面的友好性[15]、系统运行的稳定性[16]和数据信息的安全性[17]。针对湘瓷工艺仿真实训系统设计的交互目标如图1 所示,设计一个湘瓷工艺仿真实训系统框架,架构整体包含3 层:展示层、服务接口层、数据持久层。
图1 湘瓷工艺仿真实训系统架构
展示层使用的技术栈包含3D 模型文件、Unity3D引擎组件和VR 设备渲染组件等,为场景展示和人机交互提供多维态图形展示;服务层包含控制层(Controller)、服务层(Service)和数据持久层,控制层提供Rest 服务接口,展示层可以调用控制层的接口服务,服务层主要处理业务逻辑,控制事务管理,确保事务一致性;数据持久层为平台提供实体引擎,实现与数据库实体对象进行交互。数据层使用SqlServer 数据库存储信息信息,存储用户信息、用户操作、用户成绩;缓存服务使用Redis 组件,缓存用户的登录信息,系统日志采集使用Logback 组件,记录用户操作日志,进而为个性化分析提供数据。
3 系统实现
系统选取VR 设备一体机PICO 为展示载体,学生通过佩戴和操作VR 设备实现实训过程的学习。
3.1 模型设计与制作
通过调研长沙窑的结构,基于数字化方式采集和设计长沙窑原型,运用3ds MAX 三维软件设计制作出三维虚拟窑炉的空间模型。实地考察主要物体对象的三个基本视图:主视图、俯视图和左视图的尺寸,拍照记录材质,利用3ds MAX 三维建模技术对主要场景对象按尺寸大小比例进行建模,利用三维软件给对象设置材质。在系统模型设计中,主要三维模型对象包含窑、瓷器、建筑物、地形、树、船等元素。在模型制作过程中,尽量基于标准几何物体设计模型。在实现窑、船这类大模型的过程中,采用多边形编辑技术,面数涉及多,将消耗较大的计算机渲染资源,为了降低系统资源开销,同时又确保模型的精确程度和高保真效果,实现过程中合理降低和删除模型的不可见面数。
为了能够体现物体对象的真实色彩和凹凸真实感,给模型对象设置适量的材质贴图,设置法线体现模型的凹凸真实感。最后,将3D MAX 制作的模型文件和材质贴图文件一起打包导出放在同一个目录文件下,模型文件的扩展名设置为fbx 格式,以便于适应Unity 外部资源格式要求。
3.2 场景制作
本系统采用Unity 2020 版本创建项目和场景,新建的项目需要设置Graphics API,由于PICO 设备不支持Vulkan,仅支持OpenGLES2 和OpenGLES3,因此需选择合适的多线程渲染模式。
在新建的陶瓷烧制场景中,主要设计3 个区域:制胚区、烧制区和废料区。首先需要将模型设计与制作环节中的fbx 格式外部资源文件夹作为外部资源导入到Unity3D 引擎相应的文件夹中,确保分类一致性,然后在场景中拖拽资源对象到场景视图,在检视窗口调整地形、建筑物、窑、船、海、树等对象的位置、旋转和大小,完成三个区域的布局开发,最后给模型调整设置好材质贴图,陶瓷烧制场景如图2 所示。
图2 陶瓷烧制场景图
在场景开发过程中,可以利用粒子系统模拟火焰效果,设置动态视觉效果,设置相关参数进行优化,也可以利用引擎自身的组件构建场景,比如使用Unity UI 组件中的Image 组件、Text 组件、InputField 组件、Button按钮等组件,通过设置组件参数,调整组件的位置,搭建登录场景。利用动态管理多场景技术对场景进行开发和优化,提升场景之间的切换性能和效果。
3.3 交互功能
Unity 框架提供一套API 类库和事件系统,系统的基本信息数据以结构化形式存储在数据库中,编写c#脚本实现调用VR 设备的SDK 接口控制人机交互。用户登录系统时,用户输入账号和密码,点击登录按钮,系统需要通过监听事件系统获取到UI 输入框和交互按钮的变化事件,再回调函数中扩展功能,通过编写脚本事件访问数据库,与数据库用户信息进行对比校验,验证用户是否合法,认证成功,通过编写场景加载方法切换进入主场景,同时用户认证的信息写入缓存系统。在实现漫游功能时,给空对象设置角色控制器、刚体组件,添加摄像机组件,通过编写脚本扩展组件,实现控制角色控制器的前、后、左、右移动功能。针对模拟现实生活中人物不能穿透建筑物等功能,使用Unity引擎的碰撞组件,给模型对象设置Mesh Colider 等组件就能够实现碰撞检测和触发检测功能。通过编写脚本组件控制Unity3D 音频的播放和关闭、音频音量的大小变化,为场景增加声效。
在实现湘瓷拉坯功能中,基于VR 设备的SDK 编写交互设计,通过交互脚本获取VR 设备的动作变化实现对泥料的操作。在陶瓷烧制功能实现中,交互脚本扩展组件实现温度的升高或降低变化,同时温度条的红条数值发生变化,火焰粒子的大小也跟随变化,当温度或时间达到一定阈值时,烧制时的釉色将会发生变化,学生容易判断陶瓷的烧制状况。
在实现学情分析功能中,学生的功能操作记录都通过编写的框架脚本组件记录保存写入数据库表中,实训操作成绩写入成绩表中,学生的日志操作通过Logback组件记录到文本文件,通过结合用户信息和操作信息,生成实训教学的提供个性化报告数据。
3.4 交互优化
Unity 提供了动态碰撞检测、触发检测和射线检测3种检查方式,本系统针对三维空间的温度控制采用射线检测和碰撞检测两种方式先后判断是否命中目标系统测试,最后在系统实现中采用优化射线检测的方式,其中假定Origin 是射线的源点,Direct 代表射线的方向,射线可表示为P(t)=Origin + t * Direct,射线碰撞检测实现如下:
4 应用分析
将应用部署到VR 设备,学生们带上VR 设备一体机实现人机交互控制的陶瓷烧造工艺流程。本文对原陶瓷体验软件和VR 湘瓷工业仿真系统进行对比分析,对班级30 位同学采用问卷调查,统计其对实训体验和时间效率的满意度评分,采用百分比值,结果取平均值,评价结果如表1 所示。
表1 满意度平均分对比
从表1 可见,学生们对于湘瓷工业仿真系统的满意度明显高于原陶瓷体验软件。
本文另外对湘瓷工业仿真系统的碰撞检测与优化射线检查两种方法在时间和交互成功次数上进行比较,每个算法选取10 组用户,操作交互功能10 次,时间的结果取平均值,实验结果如表2,成功率结果取百分比值,实验结果如表2 所示。
表2 交互时间对比
表3 交互成功率对比
从表2 可见,优化射线检测的交互速度明显快于碰撞检测,能够进一步的提高交互效率。从表3 可见,优化射线检测的交互稳定性优于碰撞检测。通过上述实验对比分析,可见本系统优于原陶瓷体验软件,本系统选择的优化射线检测优化提高了交互效率和质量。
5 结束语
本文对湘瓷工艺仿真实训系统的VR技术进行研究,设计一个湘瓷工艺仿真实训系统架构,对系统进行设计与实现,最后将湘瓷工艺仿真实训系统部署到VR 一体机PICO 设备上。湘瓷工艺仿真实训系统模拟了湘瓷工艺严苛的物理环境,具有沉浸感,交互效率高,提高了实训教学的效率。
参考文献:
[1] 余岚.浅谈湘瓷产品的创新研发[J].艺术科技,2016(11):51.
[2] 何东平.VR陶瓷烧造仿真技术创新探索——论虚拟现实在传统钧瓷非遗烧制技艺中的作用[J].河南科技.2019(22):11-14.
[3] 喻晓和.虚拟现实技术基础教程[M].北京:清华大学出版社,2015.
[4] 谢晶妮,张茂军.虚拟现实发展趋势展望[J].Computer Engineer,2002(7):1-2.
[5] 陈璟.虚拟现实技术在基础教育中的应用及对策分析[J].普洱学院学报,2020(6):130-132.
[6] CAI S,HE Y,CUI H,et al.Effectiveness of three-dimensional printed and virtual reality models in learning the morphology of craniovertebral junction deformities: a multicentre,randomised controlled study[J].BMJ Open,2020,10(9):e036853.
[7] 赵静,孟沌超,王其欢,等.基于虚拟现实的青贮玉米饲料化模拟系统仿真[J].计算机应用,2019,39(S2):211-215.
[8] 朱欣娟,吴雪,李济,等.个性化定制产品虚拟展示技术及实现[J].计算机技术与发展,2017(6):165-168.
[9] 高全力,陈铭,高岭,等.基于虚拟现实技术的知识树系统仿真设计与实现[J].西安工程大学学报,2021(3):93-99.
[10] 伍双.面向虚拟教育的 VR 内容制作系统的设计与实现[D].广州:广东技术师范大学,2019.
[11] 赵晓松.基于Untiy3D的可视化虚拟仿真实验平台的设计与开发[D].西安:西安电子科技大学,2017.
[12] 邵伟,李晔.Unity VR虚拟现实完全自学教程[M].北京:电子工业出版社,2019.
[13] 孟小冬.大数据背景下链路网络敏感数据防窃取方法[J].西安工程大学学报,2019,33(2):212-217.
[14] 郭巍,武平,苏颖,等.基于虚拟现实的实时贴图在环境修复的研究[J].电子设计工程,2018,26(14):10-13
[15] 刘川.用户界面友好与应用程序设计[J].计算机产品与流通,2018(4):136-136.
[16] 张军.稳定性平台:系统稳定运行的保障者[J].程序员,2014(1):75-77.
[17] 朱艳龙.移动终端网络数据信息安全性检测仿真[J].计算机仿真,2018,35(5):418-421.
(本文来源于《电子产品世界》杂志2021年10月期)
评论