基于Virtools平台的三维虚拟计算机硬件组装
2017-02-22吴福虎
舒 坚,杨 勇,吴福虎
(安徽大学 大学计算机教学部,安徽 合肥 230601)
基于Virtools平台的三维虚拟计算机硬件组装
舒 坚,杨 勇,吴福虎
(安徽大学 大学计算机教学部,安徽 合肥 230601)
《大学计算机基础》课程是该校非专业本科生必修公共课,其中硬件知识抽象难懂,加上资金、场地和设备等原因,大部分学生又无法亲自动手实验,使得硬件教学难以取得好的效果,这个问题长期以来困扰着老师和同学们。有鉴于此,从软件角度着眼,利用3ds Max制作计算机硬件三维模型,导入Virtools虚拟现实软件中,建立世界坐标系下的虚拟互动实验场景,开发单机运行或基于B/S的网络虚拟平台,使所有学生使用鼠标、键盘即可在虚拟场景中模拟安装计算机硬件的过程。系统初步实现后,为了测试可行性,将其安装在大学计算机教学部实验机房,通过一段时间测试,学生反映在虚拟环境下操作简便、实用,能够反复操作。对以前那些抽象的硬件,一目了然,非常便于学习。由此可见,三维虚拟现实系统的开发在学生课程实验中大有作为。
三维模型;虚拟现实;B/S网络;世界坐标系;虚拟互动
0 引 言
该校大学计算机公共课,面对全校所有非计算机专业4 000多学生,对其进行计算机通识教育。课程内容面对不同专业的学生(如理工类、经管类、文科类及艺术类)而有所取舍,以适应不同专业需求。但是,无论如何总有一个模块无法跨越,那就是晦涩难懂又非常重要的计算机硬件知识点。每次讲到这部分内容时,老师只能在投影上展现有限的图片,进行抽象讲解,大部分学生很难理解,其重要原因就是无法动手拆装计算机硬件。虽然在省级示范实验中心建设项目中建立了一个硬件组装实验室,但由于场地、设备、经费限制,只能满足少量学生使用。秉承计算思维方式,对问题抽象、模型建立、算法设计和实现以及问题引申[1],考虑使用三维建模和虚拟现实软件方法来解决[2]。
虚拟现实技术是仿真技术的一个重要分支,它是仿真技术与计算机图形学、人机接口技术、多媒体技术、传感技术、网络技术等多种技术的有机结合。虚拟现实技术(VR)主要包括模拟环境、感知、自然技能和传感设备等方面数据,由计算机模拟生成三维立体逼真模型和三维场景,再通过建立交互功能,实现实时动态互动。一个完整的虚拟现实系统应用开发平台由两部分组成:硬件开发平台,即具有一定图像处理功能的系统;软件开发平台,即面向应用对象的虚拟现实应用软件开发平台。这个虚拟现实系统,负责整个VR(虚拟)场景的建立、开发、运算、生成,是整个虚拟现实系统的核心基础,它连接和协调整个系统硬件和网络的工作和运转,与它们共同组成一个完整的虚拟现实系统[3]。
文中讨论了如何将三维建模和虚拟现实技术进行融合,构建基于网络和单机版仿真硬件实验平台,使学生在虚拟实验环境中进行操作,培养学生勇于创新、善于动手的能力[4]。
1 虚拟组装平台的整体框架
平台框架图如图1所示。
图1 平台框架图
1.1 硬件结构
根据大学计算机公共教学的实际环境,该平台基于的硬件应该是学生平时实验用机,这样的平台才有真正的实际意义。
1.2 软件结构
三维模型制作,包括主板、CPU、内存、风扇等的制作,材质/贴图,输出。虚拟现实制作,设置摄像机、灯光以及编程控制,实现硬件组装互动功能[5]。
2 虚拟组装平台关键技术的实现
2.1 三维模型制作
三维模型制作软件3ds Max是Autodesk公司发布,基于PC系统的三维动画渲染和制作软件。文中使用3ds Max 2012-32位系统,以华硕M5A78L-M LX主板为参照。
由于要制作的模型如CPU、主板、内存等多为规整形状,所以可利用max系统提供的2D基本样条线、3D标准基本体、复合对象等元素建立基本模型,按比例设置尺寸单位,转换为可编辑类型,就可以在物体“点”、“边”、“面”、“元素”等层级,对基本样线条和三维模型进行挤出、倒角、轮廓、翻转等变换,根据需要还可添加FFD、弯曲、壳、平滑等修改器,便可以制作出硬件模型。
但是,对风扇一类曲面模型,则可采用NURBS曲线建模方法,以产生不规整模型,比如扇叶(见图2(a))。先绘制出如图2(b)所示的三条NURBS曲线,注意上、下曲线要不在一个平面中,制作出来的扇叶才有曲面感。然后再对其中一条NURBS曲线在其余两个方向上进行单轨放样,形成如图2(c)所示的曲面。这样生成的曲面是没有厚度的,须添加“壳”、“涡轮平滑”修改器,最终形成如图2(a)的扇叶模型。
图2 制作曲面模型
材质/贴图采用max标准方式,为了表达模型的真实性,对每个配件进行拍照,然后用PS采集图片颜色、图案元素,以JPG格式保存,使用位图方式贴在模型漫反射和凹凸通道上,制作出真实感更好的主板三维模型图[6],如图3所示。
图3 PC主板的三围模型图
2.2 虚拟实验场景的建立
三维场景和互动制作软件Virtools,是法国达索(Dassault Systmes)公司的一套整合软件,可以将3D模型、2D图形等进行整合,利用其提供的丰富互动行为模块快速制作出不同用途的3D环境虚拟实境产品。上海世博会组委曾选择3DVIA Virtools作为世博会158年以来第一次网络博览会的独家技术支持平台,给观众提供一个逼真的虚拟3D体验和实时互动的全球化平台。
对于虚拟现实技术来说,了解一些3D数学是不可缺少的。向量是3D算法的基础,设计中必须熟悉向量基本概念:向量位移、长度和归一化;向量运算:加减、乘法、点积和差积等。在Virtools中有2D和3D两种向量,2D向量用Vector2D类表示,类似一个结构体数据类型(X,Y),表示一个屏幕二维坐标;3D向量用Vector类表示,它的结构体数据类型为(X,Y,Z),用来表示三维世界坐标[7]。
这里讨论的是将上面3dsmax建立的模型导入Virtools中。首先建立一个虚拟场景,再利用系统提供的封装行为模块(脚本BB),编程VSL脚本程序,实现在GUI界面通过鼠标和键盘操控摄像机从不同方位观测场景,并使用鼠标拖动安装各个配件,实现即时互动。
2.2.1 导出模型
3dsmax系统须安装MaxToVirtools插件,这样从max导出的模型文件可以保存为(.NMO.CMO.VMO)格式,方可导入Virtools软件(目前该插件为5.0版,对应3dsMax2012-32位)。
2.2.2 导入模型
在Virtools场景导入三维模型后,场景默认没有灯光,整个虚拟场景是黑暗的,因此首要设置灯光。为场景设置了七盏灯光,分别照射场景不同位置,调节3D坐标以达到最佳效果,如图4所示。
图4 导入模型
2.2.3 摄像机设置
摄像机为观察者的眼睛,从不同方位观察场景可看成是摄像机角度和坐标的变化。设置一架主摄像机,使用互动行为模块控制摄像机随鼠标和键盘而变换角度和世界坐标:在场景中创建三维帧作为参考点,设置主板世界坐标与该帧相符;接着在三维帧上创建Scrip脚本,拖入行为BB“MouseWaiter”设置鼠标滚轮产生每30°旋转,并将旋转参数传送给“MouseCameraOrbit”,就可实现鼠标滚轮控制摄像机围绕三维帧(也即是主板)来旋转。键盘控制则是用“SwitchOnKey”来确定“Up”、“Down”、“Left”、“Right”四键对应“上”、“前”、“左”、“右”方向,由“SwitchOnMessage”接受键值,用“SetPosition”按键值设置摄像机坐标。这样从不同角度可观察虚拟场景和模型,体现了三维虚拟场景的真实感。
注意:场景中各个模型、灯光、摄像机设置初始位置后,必须使用“SetICForSelected”保存,如图4所示。
2.2.4 互动设计
文中设计的互动流程是主板配件在键盘控制下首先自动分离,然后由鼠标拖曳安装至相应位置。场景中同时包含2D、3D对象,鼠标对2D对象拾取相对简单,即如果鼠标屏幕坐标Vector2D(X,Y)在2D对象屏幕矩形的范围内,则可视为选取了该对象。3D场景中鼠标拾取算法较复杂,必须首先获取鼠标屏幕坐标,通过投影矩阵和观察矩阵把这个坐标换算成摄像机与鼠标单击点的一条射入场景的射线,如果射线与3D场景中的物体相交,则获得相交物体信息:点选的3D物体、交点位置、方向以及交点到摄像机的距离等。
图5为行为模块和移动VSL脚本连接图[8]。
图5 脚本连接图
2.2.5 互动设计的曲线移动
3D场景中,风扇电源线是柔性线缆,移动特性与上面所提刚性物体不同,有弯曲和扭曲等变化,移动时各部分是非线性渐进式。因此这种情况下必须采取编辑曲线(Curve)节点(CurvePoint)的方法,如图6中的“Ropc_Point0000(X,Y,Z)”至“Ropc_Point000i(X,Y,Z)”,0至i是创建曲线的各节点,控制着整个曲线的走向。编程时根据节点移动情况加上一个△3D坐标参数,脚本编程设计思路是每个节点移动总是在前一个节点移动3D坐标上的正负增量上的变化[9]。
2.2.6 打包发布
虚拟场景制作完成后,使用Virtools菜单“ExporttoVirtoolsplayer”制作EXE文件,使用系统自带播放器“3DVIA_player”播放。或是用“CreateWebpage”制作网页,在浏览器中浏览,目前版本支持32位浏览器[10-11],如图7所示。
图6 空间坐标图
图7 打包发布
3 结束语
文中讨论使用3dsMax与Virtools结合,制作出基于网络或单机版计算机硬件组装虚拟实验场景,可以使用键盘、鼠标完成组装基本任务。此系统初步完成,需进一步完善推广,便能够惠及更多学生。在此过程中或可以考虑尝试其他方式实现同样功能,如:Maya、unity3D等软件[12-13],以取长补短,将虚拟现实技术应用到各种教学工作中,充分享受其带来的便利。
[1] 吴 蕾,钦明皖,杨 勇.基于计算思维能力培养的程序设计基础课程教学新模式[J].计算机教育,2015(7):1-3.
[2] 龚沛曾,杨志强.大学计算机基础教学中的计算思维培养[J].中国大学教学,2012(5):51-54.
[3] 许 锋,单大国.基于虚拟现实技术的刑事影像教学平台研究[J].计算机教育,2014(19):57-59.
[4] 安维华.虚拟现实技术及其应用[M].北京:清华大学出版社,2014.
[5] 张雯雰,肖 娟,刘华艳,等.计算机组成原理虚拟实验系统的设计与实现[J].实验室研究与探索,2014,33(5):62-66.
[6] 王盼盼,张 宏.基于Virtools的虚拟测绘系统的设计[J].实验技术与管理,2015,32(3):148-151.
[7] 李 涛,赵志刚.3dsMax2012案例教学[M].北京:高等教育出版社,2013.
[8] 覃伯明.Virtools引擎3D游戏程序设计[M].北京:清华大学出版社,2013.
[9] 杨 琳,朱元昌,邸彦强.基于Virtools的柔性线缆建模及其运动仿真[J].微电子学与计算机,2009,26(9):153-156.
[10] 张占军,程行甫,柳 平,等.电台三维虚拟维修仿真系统的研究[J].计算机技术与发展,2011,21(2):250-252.
[11] 蔡 伟,李龙华.水电站机电设备运行检修3D仿真培训界面设计[J].计算机技术与发展,2011,21(11):170-172.
[12] 张朝阳,窦俊霞.基于三维交互式服装设计系统[J].实验室研究与探索,2014,33(12):117-120.
[13] 魏迎梅,王 涌,吴泉源,等.手术仿真中的碰撞检测研究[J].计算机研究与发展,2002,39(1):114-119.
3D Virtual Computer Hardware Assembly Based on Virtools Platform
SHU Jian,YANG Yong,WU Fu-hu
(Computer Studies Department,Anhui University,Hefei 230601,China)
College Basic Computer is a required course of nonprofessional undergraduate compulsory in school,in which the hardware knowledge is abstract and difficult,and with money,venues and equipment reasons,most of the students can’t do the experiments themselves,making the hardware is hard to get good teaching effect.The problem has long plagued the teachers and students.Because of this,focused on the software perspective,using 3ds Max to make 3d model of computer hardware and importing Virtools to virtual reality software,the virtual interactive scenario in World Coordinate System is set up.Development of running standalone or network virtual platform based on B/S,all students can simulate the installation process of computer hardware in virtual scene by using mouse and keyboard.After the initial system implementation,in order to test the feasibility,it is installed in the University Department of Computer Teaching Experiment room.Through a period of testing,students reflect operating in a virtual environment is simple and practical,and able to repeat.Those previous hardware abstraction is clear and easy to learn.It follows that 3D virtual reality system developing can give great contribution to students’ experiment courses.
3D model;virtual reality;B/S network;World Coordinate System;virtual interaction
2015-11-13
2016-03-16
时间:2017-01-04
安徽省2014年本科教育质量提升计划项目(xjjyxm14020)
舒 坚(1965-),男,高级实验师,研究方向为计算机应用技术。
http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1023.026.html
TP302
A
1673-629X(2017)01-0156-04
10.3969/j.issn.1673-629X.2017.01.035