辽宁建筑职业学院 冯珊珊
浅析虚拟仿真教学系统建设的相关技术
辽宁建筑职业学院冯珊珊
本文主要比较分析虚拟仿真实训教学系统开发设计过程中所使用到的开发软件、数据库软件、系统设计软件,重点论述Unity 3D在虚拟仿真教学系统设计过程中的使用方法及技巧。
虚拟仿真;教学系统开发;Unity 3D
虚拟仿真教学是借助现代化的技术手段,基于构建主义和虚拟现实理论建立的与传统教学截然不同的教学模式。虚拟仿真教学内容的设置依托于企业实际岗位,对实际教学中难以展现的细节、不易实施的小概率事件、产品的标准化生产过程、员工安全生产意识等方面进行仿真。
虚拟仿真教学系统的开发首先要进行素材的采集,为保证图片中设备的色彩与真实相同,选用PHOTOSHOP CS对图片进行取样;采集的图片要尽可能展现大范围的视角。然后对素材进行建模、导入、发布,具体开发流程如图1所示。
图1 虚拟仿真教学系统开发流程
教学系统的开发主要使用建模软件、数据库软件及系统设计软件,现就开发市场上应用比较广泛、主流的以上三种类别软件进行介绍:
1.建模软件
常用的三维建模软件主要有以下三种:3D MAX,SketchUp,以及Maya。
(1)3D MAX。它功能非常强大,广泛应用于游戏模型制作,今年在建筑设计领域也得到了广泛的应用。该软件中文版本和英文版本同样具备,操作便捷简单,发展的已经非常成熟了。
3D MAX在建立静态的三维模型时,动画可以用代码来实现,在制作精度要求较高的场合非常合适,绝大多数的3D引擎平台都支持3D MAX导出的模型,它是目前市场上三维的建模平台中最受推崇使用的。
(2)SketchUp。它是GOOGLE(谷歌)公司所开发的三维建模软件。它具备自动捕捉功能,能将模拟使用铅笔绘制的图形线条自动捕捉。同时,GOOGLE公司的3D模型库中具有很多既定的SketchUp格式的模型。因此,采用SketchUp软件可以避免很多繁重的、重复的模型建立工作。
(3)Maya。它是AutoDesk公司研发的一款应用广泛、功能强大的建模软件,它的功能与3D MAX类似,但更适用于动画和特效的制作。
2.数据库软件
伴随着现代技术的发展,数据管理已经从以往简单的数据存储和数据管理逐步转变成按照数据的结构来组织数据、管理数据、存储数据的大型仓库,而这种大仓库就是我们常用的数据库。
SQL server是微软公司开发的关系数据库管理系统,它作为平台兼容性能良好,是WINDOWS操作系统中最为方便的数据库平台。它界面友好,容易操作,编程接口丰富,它与Unity 3D更便于连接,并且应用广泛,出于通用性的考虑,采用SQL server2000数据库是虚拟仿真教学系统设计的最佳选择。
3.系统设计软件
虚拟仿真教学系统可以第一视角虚拟漫游,其模式与游戏有很多相似之处,采用游戏引擎完成平台系统的设计可以说是一个非常好的选择。
Unity是一款全面整合了三维场景、动画效果和三维视频的专业游戏引擎,它主要具备以下三个突出优点:
(1)操作简便、容易上手。可以从外部导入FBX格式模型文件,还自带第一人称视角,只要在Unity中编辑地面信息资料,基本的虚拟漫游操作就可以被实现。
(2)开发语言多样。C语言和JAVASCRIPT语言都可以对Unity 3D进行开发,而且,Unity 3D程序的封装性能非常好,有丰富的插件资源可以选用,只需要相关的函数调用即可实现很多功能。
(3)发布范围广,通用性良好。采用Unity 3D制作的系统可以发布在个人电脑、网页、安卓手机系统、游戏盒子以及Windows电话等当今主流平台上,只需要修改非常少量的代码,就可以实现平台的移植。对于日后移动端推广虚拟仿真平台系统具有非常重要的意义。
教学系统采用Unity 3D进行开发与制作,在进行具体的开发设计时应注意以下事项:
1.Unity 3D开发特点
(1)层级性综合开发环境,视觉化编辑手段,详尽的属性编辑器及动态资源预览。具有独特的层级性组织架构,可以将物体之间建立母子关系,使系统层次更加明确。层级性的组织管理形式也更符合人们的思维模式,开发者使用起来更容易上手。
(2)资源的自动导入。项目中的资源可以被自动导入,还可以根据资源的改动进行自动更新。可以支持大部分主流三维建模软件,包括3D MAX,SketchUp,以及Maya等。
(3)支持凹凸贴图(bump mapping)、反射贴图(reflecton mapping)、环境剔除(screen space)、阴影贴图(shadow map)技术,并支持渲染纹理(render to texture)和后处理(post processing)效果。
(4)支持使用shader lab语言进行shader编写,可分为顶点着色器和像素着色器。
(5)内置使物体具备重力、阻力、速度以及加速度的属性设置,对NIVDIA中的Physx physics engine支持,从而使虚拟的物体具备真实世界中物理反馈的表达。
2.Unity 3D的建模规范
(1)建模单位的设定。建模一般以米为单位。为避免共、反面的出现可将面统一调到正视图位置,直接在max中进行渲染,如果有闪烁出现则说明存在共面,如果看不到这个面则说明是反面。将模型导出模型文件(Fbx文件),存到Unity 3D中,在非运行状态下移动(上下左右方向)可检查漏面。漏面是建模过程中出现的比较麻烦的一个问题,应在建模过程中及时检查和修改。
(2)命名规则。Unity 3D原则上不支持中文命名,原始模型、导出模型、贴图文件必须要使用英文名称。在max中,若采用中文名称,子模型不容易被Unity找到。那是因为模型是以子模型的名称出现在Unity 菜单中的,中文名能造成模型的丢失。只有材质的名称可以使用中文名。
(3)材质要求。Unity 3D对材质有特殊要求,仅标准材质和标准材质下的多维子材质(Multidimensional sub-materials)被Unity支持。贴图方面,只有位图文件类型贴图、不带通道的JPG贴图以及带通道的TGA贴图被Unity 3D所支持。并且通道要求颜色反射、自发光以及不透明度。
(4)模型备份标准和提交方式。所有烘焙贴图、原始贴图、烘焙前后模型以及未塌陷的原始模型,即全部贴图和相应文件都应该保存在统一的文件夹下。保存时注意文件齐全,便于后续的修改和使用。
3.Unity 3D建模技巧
Unity 3D中模型的加载会占用内存,场景内如果模型数量较多,则系统很可能存在卡顿现象,无法流畅运行。因此,建模的标准之一就是重视简模模型的使用,模型的面数尽量不要超过5000,将模型的面数尽可能的控制。
下面简要列出一些建模的准则和面精简的小技巧:
(1)巧用贴图替代模型的建立。例如需要表现一些细长状的物体,如窗栏、扶手等物体时,就可以采用这种技巧减少模型的数量,避免渲染时出现的锯齿和闪烁等现象。
(2)控制场景中模型数量,模型的分布要均匀,尽量转化多边形物体或使用塌陷命令。
(3)合并场景中距离较近的同样材质的模型,巧妙利用附加方式。
(4)严格控制模型不同面之间的距离,以免彼此距离过近出现闪烁现象。确实距离过近时,可以通过面的嵌套完成制作。
(5)删减底面、高处边沿等看不见或不被注意的面,从而减少面的总数。
综上,本文着重介绍了虚拟仿真实训教学系统开发设计过程中所使用到的软件,并将所用软件与其他同类软件进行比较分析,重点论述Unity 3D在虚拟仿真教学系统设计过程中的使用方法及技巧,希望能有益于今后各院校虚拟仿真教学系统的开发与设计。
冯珊珊(1981—),辽宁辽阳人,辽宁建筑职业学院讲师,主要研究方向:应用电子、信息化教学。