行业应用与交流IndustrialApplicationsandCommunications
基于Unity3D的微机组装实训平台的设计与实现*
杨静,周洁
(克拉玛依职业技术学院信息工程系,克拉玛依834000)
摘
要:计算机组装课程是一门理论与实践相结合的课程,传统微机组装课程对硬件损耗比较大,为减少损耗,院校通常使用淘汰的
计算机进行组装实验,但这样学生就不能掌握最新的硬件知识。利用VR技术建立微机组装实训平台不仅解决了硬件更新问题,也减少了由于学生操作失误对硬件造成的损害。本文详细介绍利用三维建模软件3dsmax、Unity3D虚幻引擎软开发了微机组装实训的平台,学生通过该平台在没有任何硬件损耗的前提下学习微机组装课程。
关键词:Unity3D;UE4;游戏引擎;VR;交互;碰撞中图分类号:TP391.9
文献标志码:A
文章编号:1003-7241(2019)06-176-04
DesignandImplementationofMicrocomputerAssembly
TrainingPlatformBasedonUnity3D
YANGJing,ZHOUJie
(KaramayVocational&TechnicalCollege,Karamay834000China)
Abstract:Thecomputerassemblycourseisacombinationoftheoryandpractice.Thehardwarelossofthetraditionalmicrocomput-erbasedassemblycourseislarger.Inordertoreducetheloss,thecollegeusuallyuseseliminationcomputertoassembletheexperiment,butthestudentscan’tgraspthelatesthardwareknowledge.UsingVRtechnologytobuildamicrocomput-erassemblytrainingplatformnotonlysolvestheproblemofhardwareupdating,butalsoreducesthedamagetothehard-warecausedbystudents’operationerrors.Thispaperintroducesthesoftwaredevelopmentplatformofmicrocomputerbasedon3Dmodelingsoftware3dsmaxandUnity3Dvirtualengine.Studentslearnmicrocomputerassemblycoursewith-outanyhardwareloss.
Keywords:unity3D;UE4;gameengine;VR;interaction;collision
1引言
随着VR、AR、MR、人工智能时代的到来以及相关硬件技术的不断发展,虚拟仿真技术应用在越来越多的领域,场景漫游、游戏交互、三维模型展示等应用于建筑、医
[1]
疗、网络购物、娱乐等方面。2016年被称为“VR元年”。
组装实训为例,通过让学生建立计算机元器件模型,在Unity3D中实现交互,搭建微机组装实训VR平台,利用该平台学习计算机微机组装课程,此方法解决了传统微机组装课程中学生由于元器件安装不正确损坏计算机元器件的问题,以及很多看不见、难以用语言描述的故障及原理(例如:硬盘的工作原理)等问题。
前期的建模通过三维建模软件3Dsmax软件实现,交互的实现需要选择适合的游戏开发引擎,作为虚拟技术中最重要的核心因素,游戏开发引擎直接影响着虚拟技术的应用。游戏引擎开发设计者将常用的功能开发成函数模块,封装在游戏引擎内部,使用者只需要调用封装的函数模块即可实现功能的使用,极大的提高了开发效率,降低了游戏开发难度,节省了开发时间[2]。目前,军用、民
实现三维交互过程主要流程为前期建模、贴图、交互设置、碰撞检测几个步骤。国内有许多研究者将该技术应用于场馆建设、场景再现、场地漫游、情景交互、游戏体验等领域,让学习者能够以通过交互设备例如:头盔、眼镜、操作饼等设备,能够深刻的感受到沉浸感。本文以微机
*基金项目:维吾尔自治区高等学校科学研究计划资助项目(编号XJEDU2016S070)收稿日期:2018-09-26
176TechniquesofAutomation&Applications行业应用与交流IndustrialApplicationsandCommunications
《自动化技术与应用》2019年第38卷第6期
用仿真领域对虚拟技术都有非常广泛的应用,如大型军事仿真、虚拟展览系统、游戏、城市规划、飞行仿真等[3]。越来越多的游戏工程师开始关注游戏引擎技术的发展,虚拟技术的开发作为一个新兴产业在很多行业有了应用。开发者为避免开发过程中重复性工作,将一些功能模块的核心代码封装到主体框架里[4]。开发者给这些模块提供接口,使用者通过这些接口进行调用,因此,可以根据项目使用者的情况分别调用[5]。目前,国内外常用的游戏引擎有Unity3D、Unreal、CryEngine、HeroEngine、RageEngine等,其中Unity3D和UE4是当前开发领域使用者最多、跨平台性最好以及支持VR外设最全的两款游戏引擎。
引擎80%的市场份额。从二维的移动平台游戏到主机平台的大作,UE4赋予了开始项目、发布项目、不断成长脱颖而出的所需的一切功能。性的全新工作流程及深入的工具集,使得开发人员可以快速的迭代其构想,并立即看到所得结果,同时完全的C++源码访问权为用户提供了全新的体验。
与Unity3D相比,UE4统一提供了相对完备的文档及教学视频,但由于进入中国市场的时间相比于Uni-ty3D稍晚,所以UE4的开发者规模还相对较小。UE4的巨大优势在于引擎本身强大的各功能模块以及其无与伦比的渲染效果,无论地形、粒子、后期处理以及光影效果等等都领先于其他游戏引擎。对VR而言,引擎渲染是一项最为重要的技术,UE4引擎凭借顶级的图形处理能力,包括高级动态光照、新的粒子系统等,拥有必Unity3D更具有出色画面表现。
2游戏引擎选择与对比
要做VR和游戏开发,你必须先找到一个合适的开发工具。根据调查研究,Unity3D和UE4作为现在国际上两款主流游戏引擎,为了更好的适应VR的需求,这两款引擎也都各有发展。那么对于开发者来说,哪一种更适合自己呢?下面针对Unity3D和UE4这两款引擎从开发语言、开发难度、VR设备支持情况等几个方面进行分析比对。
2.2开发难度对比,Untiy3D易上手,UE4难度高
就入门而言,UE4的学习周期太长,不论是专业美术
还是普通的美术设计师都需要相应对工具(材质、动画、粒子等)的使用有相当的理解才能完全发挥出性能,没有精通UE4各个模块的团队开发难度很高。UE4使用C++语言进行开发,同时搭配可视化脚本编辑器Blueprint。
Untiy3D从5.0开始,也开始侧重渲染的开发,但目前来说,和UE4还是相当的距离。Unity3D使用C#语言开发,优势是上手快,另外该引擎的软件界面比较简洁、容易使用,相关开发方面无论是资源还是插件都非常完善。就开发效率来说,Unity3D肯定更胜一筹。
2.1引擎简介
Unity3D是由UnityTechnologies开发的一个多平
台的综合型游戏开发工具,由于其易用性和跨平台性等诸多优点[6],近年来Unity3D平台受到广泛关注,使用Unity3D开发的虚拟现实产品逐渐增多。该编辑器让开发者轻松创建诸如三维视频游戏、建筑可视化和实时三维动画等类型互动内容的多平台综合型游戏开发工具,是一个全面整合的专业游戏引擎[7]。用户可以一边在VR中预览着原型一边在Unity3D中进行调整,Unity3D引擎以其优化深度和质量以及工作流速度和有效性得到整个游戏行业的喜爱,方便Unity3D用户快速制作高端内容。Unity3D本身是个强大的游戏引擎,有较为丰富的学习平台,为该Unity3D的应用推广鉴定基础[8],并且store(社区)中的资源也很丰富,包含有三维模型、音频特效、完整的项目、着色工具、分析工具、脚本封装和纹理材质等,Unity3D含有很多可以直接使用的封装模块供开发者直接调用,社区中也有丰富的实用组件可以购买,降低了开发周期[9]。
UE4是由EpicGames公司发布的游戏引擎,目前,是世界最顶尖的工业级游戏引擎之一,是一款画面渲染效果完全达到3A游戏水准游戏引擎,占有全球商用游戏
2.3针对VR硬件匹配度
无论是硬件外设还是软件本身功能上Unity3D和
UE4两家公司都不断更新和完善。随着VR开发的热潮,相应的硬件发展也随着而来,针对这两款引擎的特性,部分硬件厂商只能选择其一与之匹配,下面,根据这两款引擎对硬件的支持做对比说明:
表1上Unity3D和UE4对VR硬件的支持对比
2.4UE4擅长3A级大作,Unity3D侧重于移动
Unity3D引擎的亮点是其跨平台特性,这一特性使
快速开发
越来越多的游戏开发者所青睐。这意味着开发的游戏可
TechniquesofAutomation&Applications177
《自动化技术与应用》2019年第38卷第6期
行业应用与交流IndustrialApplicationsandCommunications
以快速轻松地部署到各种系统。包括WindowsPC、OSX、Linux、WebPlayer、WebGL、VR(包括Holo-lens)、SteamOS、iOS、Android、WindowsPhone8、Ti-zen、AndroidTV和SamsungSMARTV,以及XboxOne/360、PS4、PlaystatonVita等。
经统计,SamsungGearVR上90%的VR应用和游戏都是使用Unity3D引擎开发的,可见移动VR来说,沿袭了手游时代的特点,Unity3D仍然是首选开发引擎。毕竟众多的手游厂商一旦选择向VR转型,几乎90%以上都会选择移动VR。
UE4引擎强大的性能,华丽的效果,或许对开发手游来说,UE4引擎有点大材小用的感觉,可对于开发PC机追求照片级视觉效果的VR产品来说,应该是最佳选择。UE4在跨平台方面相对于Unity而言要弱一些,目前支持WindowsPC、OSX、Linux、SteamOS、iOS、An-droid、HTML5、VR、XboxOne和PS4。
所以说,从目前的情况来看,如果是开发移动VR游戏或应用(比如给GearVR开发应用),选择Unity3D引擎更容易入手,也能获得更多的厂商支持。但如果要开发面向PC机的VR游戏或应用,并且对画面有着极高的要求,那么UE4引擎就是最佳选择。
包括窗口、文本框、拖动条等。该平台用户界面在Un-tiy3D中实现,与此同时,还增加不同的元器件的解释说明。用户友好的界面使学者能够轻松地操作和理解组件的功能和组成,以及PC组装的交互过程。Unity3D有一个单独的GUI系统,为控件创建,元素布局等提供完整的图形用户界面解决方案。GUI包含常用控件,如按钮、窗口、输入框、文本框、标签、开关等,控件的大小和位置等参数由脚本程序设置。该界面的设计使用到通过Label控件、Button控件、TextArea(文本区域)控件制作实现,通过讲解元器件知识点信息,Button控件主要制作确认和取消按钮。
3.3交互制作
Untiy3D能够支持很多交互外设,文章中的前半部
分已经做了详细说明。该平台的交互操作是建立在HTCvive外设基础上建立的。HTCVive致力于通过以下三部分为用户提供身临其境的体验:头戴式显示器HTCvive,两个单独的手持式控制器和一个定位系统(Lighthouse),可以在空间同时跟踪显示器和控制器。3dmaxs软件生成的模型导出为.FBX文件格式并导入Unity3D软件。由于该平台的交互主要设计的操作包括拾取和触碰,先在SDK中导入SteamVRPlugin和ViveInputUtility两个组件,将CamerRag、ViveCol-liders添加至场景,并把做好的微机元器件模型也添加至场景,为元器件模型添加刚体组件和脚本BasicGrabba-bles即可可以被拾取。脚本如下:
usingUnityEngine;usingSystem.Collections;usingSystem.Collections.Generic;usingHTC.UnityPlugin.ColliderEvent;
publicclassviveLearn:MonoBehaviour,ICollider-EventHoverEnterHandler{
publicvoidOnColliderEventHoverEnter(Collider-HoverEventDataeventData){
Debug.Log(\"hover\");}
3总作思路和制作流程
构建虚拟实训平台主要有一下几个步骤:计算机元器件的高精度模型建模、导入到Unity3D软件开发平台,通过人机交互,对碰撞进行检测检验原件安装是否正确。
3.1三维建模及优化
通过3dsmax三维软件建立计算机原件模型,以联想
ThinkCentreM910t为例,建立该主机的主板、内存条、硬盘、CPU、CPU风扇、各种接口、PCI插槽、数据线、电源线等。为了增加模型的真实感,首先将该主机主板及各元器件拆开,利用相机多角度拍照,将图片导入到Pho-toshop软件中进行裁剪,为后期贴图使用;利用尺子精确测量,记录所有规格尺寸,以备在3dsmax建模使用。该模型的建造师为了导入到Unity3D平台实现交互为目的,因此,该模型制作必须以立方体、球体、圆柱体等简单几何体,通过添加环绕线,通过挤压而成,并对模型做优化。模型优化好后进行UV展开,烘焙贴图,转化为.FBX文件格式,以备Unity3D软件使用。
3.4碰撞检测
微机组装的实训的目的就是教授学生认识计算机元
器件、组装计算机元器件、了解元器件的工作原理及元器件正确的安装与插拔,例如,平台需要安装CPU风扇,安装内存模块,安装显卡,硬盘以及连接数据线和电源线。通过碰撞检测实现组件模型中的接触。要产生碰撞必须为模型对象添加刚体(Rigidbody)和碰撞器,为了保证元
3.2图形用户界面
Unity为大家提供了一套很完整的图形化界面引擎,
178TechniquesofAutomation&Applications行业应用与交流IndustrialApplicationsandCommunications
《自动化技术与应用》2019年第38卷第6期
器件模型碰撞不被穿越,需要取消勾选IsTrigger属性选择框,启动碰撞触发器。碰撞检测包括箱体碰撞体,球碰撞体,胶囊碰撞体和格栅碰撞体。边界框检测方法使用立方体或球体来包裹将产生碰撞的三维对象模型,然后基于包装盒的距离,位置和其他信息来计算是否发生碰撞。根据实际需要,本文主要使用球碰撞体和箱体碰撞体。假设空间中任意一点的坐标P(x,y,z)球体中心的坐标O(x0,y0,z0),将球半径设置为r,那么球碰撞体的触发场是:
R={(x,y,z)|L(x-x0)2+(y-y0)2+(z-z0)2≤r2}对空间任一点T(x,y,z),假定盒碰撞体在空间体系中一对对角顶点坐标分别为(x1,y1,z1)和(x2,y2,z2),则满足:
R={(x,y,z)|x1≤x≤(x2-x0)2+(y-y0)2+(z-z0)2≤r2}即为盒碰撞体的触发域。假定空间中任一点的三维坐标变量为P(x,y,z),对碰撞区域的触发函数作如下设定:
以上相似度的建模,不仅为让学生充分认识到三维技术的应用,也让学生通过新技术开展学习,让虚拟设备能像物理设备一样展现操作。
(三)内部结构及工作原理分解。通过该实训平台,学生可全方位掌握PC硬件的拆装、故障排除、工作原理、测试等。在这种仿真环境下,学生犹如一台真是计算机进行拆装,还能对元器件件的工作原理有深入了解,例如:光盘的刻录原理、硬盘的读取原理,通过三维模型进行视频展示,让学生对计算机硬件原理有深入学习。
5结束语
通过对主流游戏引擎的分析与对比,选择利用Uni-ty3D引擎制作微机组装实训平台,VR技术对微机组装与维护进行虚拟仿真实训平台的设计与实现,促进了该课程教学方法、形式及观念的变革。VR技术的交互性、沉浸性让更容易调动学生学习积极性,减少了学校的硬件损耗,提高学生学习兴趣,提升了教学质量,具有重要实践意义。
P(x,y,x)=1表示已进入碰撞触发区域,P(x,y,z)=0表示不在触发区域;此外,触发脚本执行中首先需要调用主体函数模块进入、退出和停留触发区域时反馈信息,所使用的函数是OnTriggerEnter()、OnTriggerExit()和OnTriggerStay(),其功能实现电子元器件的组装:当两个元器件离的比较近时,出现绿色提醒,将该距离作为最小检测距离,设置最小距离包围盒;当两个元器件碰撞时,停止元器件操作,此时设置的是紧贴物体的碰撞包围盒。
参考文献:
[1]赵维,茅坪,沈凡宇.下一代三维图形引擎发展趋势研究[J].系统仿真学报,2017,29(12):35-44.
[2]邓增强,基于Unity3D的轻量级ARPG手机游戏系统研究与应用[D].广东工业大学,2017.
[3]阎汉生,曾峰,龙宇辉.基于Unity3D的产品结构认知虚拟实验室构建[J].实验室研究与探索,2017,8(36):117-121.
[4]刘明.基于虚拟现实技术的虚拟校园系统设计与实现[J].中国新通信,2017,11(12):47-49.
[5]窦杨辉王巍何鑫毛文泰.基于Unity的校园3D跑酷游戏的研究与开发[J].计算机时代,2017(3):52-,57.
[6]邓增强.基于Unity3D的轻量级ARPG手机游戏系统研究与应用[D].广东工业大学,2017.
[7]皮添翼.虚拟现实技术之于动画场景美术的探索与思考[J].美术教育研究,2017,11(23):34-36.
[8]陈丽萍.游戏引擎技术基础[J].安徽电子信息职业技术学院学报,2016(4):29-32.
[9]王修喜.虚拟仿真技术在微机组装教学中的应用[J].江苏教育研究,2016(8):28-30.
4虚拟三维平台较传统教学的优势
总结该课程以实践为主体,理论和实践相结合,该平台用于减少硬件投入和损害,也可以达到理论与实践相结合的教学目的,解决传统教学无法回避的诸多问题。该平台具有以下优势:
(一)元器件真实再现。通过三维建模课真是的模拟出计算机硬件模型,尤其比较微小的元器件可以通过模型放大看清结构,还可以360度观察硬件;通过模拟硬件安装及所需的各种材料工具,在关键步骤用文字给学生提示,让学生提高自我学习的能力。利用VR技术的逼真3D虚拟环境,使学生置身于模拟的学习环境中,体验现实实训不易观察到的部件结构。
(二)虚拟仿真实训平台的交互性、新科技的应用性、课程的创新性可以极大的调动学生学习的积极性,提高动手能力、实践操作能力。该平台能够对硬件进行90%
作者简介:杨静(1984-),女,讲师,硕士,研究方向:计算机多媒体、软件开发。
TechniquesofAutomation&Applications179
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.com 版权所有 蜀ICP备2023022190号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务