智能粮情三维虚拟展示系统的开发与应用研究
2019-01-28朱亚辉
◎ 朱亚辉
(郑州中粮科研设计院有限公司电气工程研究所,河南 郑州 450053)
随着智能AI技术的研究不断推进,目前利用VR技术制作三维展示系统的应用日益广泛,支持其相关的软件工具与应用技术得到了充分发展。而在粮食行业中智能化粮库信息管理平台的开发与应用相对落后,采用物联网技术与虚拟现实技术相结合开发成熟的智能三维展示系统迫在眉睫,三维系统中要体现更加精准的数据信息和设备模型的功能特效,其在粮食工程智能软件建设与库区数字化管理的交互体验方面尤为突出,特别是采用虚拟现实技术开发的智能粮情三维虚拟展示系统的研究,Unity3D引擎技术开发与应用和WebGL渲染技术的应用受到了当前广泛的关注与运用,逐渐成为了当今粮食食品行业信息化智能化平台开发中的热点。
近几年来,随着三维技术开放性发展逐渐引入粮食信息化展示平台,开发智能粮情三维展示系统的技术不断得到更新与开发,给粮食行业智能化发展与应用带来了远大前景。Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎[1]。Unity3D主要特性具有层级式的综合开发环境、可视化编辑,详细的属性编辑器和动态的游戏预览[2]。Unity是被用来快速的制作游戏或者开发游戏原型的成功典范,同时具体自动资源导入功能和更新功 能, 支 持 3dsMax、Maya、Blender、Cinema4D、Cheetah3D等三维格式,图形引擎使用Direct3D和OpenGL,并采用map技术支持Render-to-texture和全屏post processing效果[3]。Unity3D的部署简单,自带一个IDE: MonoDevelop,支持多平台打包等操作均可以在编辑器里面直接完成[4]。另外,Unity的中间件均可打包成unitypackage进行发布,插件的部署也是最简便的。Unity3D具有完整的技术路线,Unity最大的特点就是形成了一个成规模的插件市场,在此基础上,Unity具有相当多的中间件,可以大大加快独立开发者和公司的开发进度。Unity3D具有C#作为脚本支持,以至于在诸多应用领域得到了广泛开发和运用[5]。
本研究的目的在于利用粮情信息化平台进行虚拟现实技术的开发,提高粮库粮情管理虚拟的自然性和高效性。目前,粮情系统开发仅限于二维的数据展示,人与计算机交互没有直观的方式浏览到粮仓模型及粮情具体实物感,虚拟现实技术则是更进一步实现其系统开发局限的钥匙,使粮情三维展示系统的数据交互效率更加直观。随着计算机科学技术的快速发展,更高层次的虚拟现实技术理念对虚拟实验提出了巨大的要求,越来越多的科研人员开始对新的虚拟现实技术的多通道界面展开研究,目前的研究内容主要集中在虚拟现实技术、增强现实技术、体感交互技术相结合的AI技术研究。而虚拟现实技术的出现为促进粮情三维展示平台的开发前景具有重要意义。
1 3DMax/Revit和Unity3D
3DMax是基于PC系统的三维动画渲染和制作软件,具有强大的角色动画制作能力,同时可堆叠建模步骤,使制作模型有非常大的弹性,“标准化”建模,针对建筑建模领域相较对突出的优越性,是目前相对流行的三维建模工具[6]。则Autodesk Revit是提供支持建筑设计、MEP工程设计和结构工程的工具。是专为BIM构建的,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑[7]。选择Revit建模是它能更准确呈现BIM工程项目的详细信息,可以通过精确实现建筑外观的可视化,模拟真实性能以便让项目各方了解成本、工期与环境影响。
Unity3D是游戏引擎、游戏开发工具,是实现三维平台展示需要一个可以渲染3D模型、动画,可以塑造空间感、光感的引擎[4]。由于Unity3D引擎能够支持多种软件导入的三维模型,多种输入操作方式,包括友好的可视化界面以及基本编辑输入模式,编程语言采用C#和JS进行开发,同时支持2D和3D的维度开发流程,方便开发[4]。开发此系统我们选择了Unity3D作为开发平台,利用它的强大虚拟现实开发功能,将展示仓库粮情的画面质量得以优质的呈现。
2 模型建立与优化
三维仓库模型是整个虚拟系统展示的基础,它的好坏直接影响了虚拟环境的色彩视角和真实度。在3D Max/Revit软件中建立产品模型时在满足视觉效果不失真的情况下,尽量采用最简单的对象和模型,并且尽量用参数化方法构建对象,减少基本模型几何体的节点层和分段数[4]。
根据建筑模型的特殊性和软件的构造方法不同,总的建模和优化过程:建立模型之后,再设置产品材质、纹理、动画,调整灯光等参数,把模型进行烘焙处理后转换成fbx格式存档输出。在虚拟三维空间中,材质和纹理是用于模拟产品表面的反射特性,基本材质是用于模拟产品表面的反弹特性,包括纹理、光照、贴图时的使用,它使用三种颜色构成对象表面:由环境光颜色、漫反射颜色、高光颜色组成。Revit作为BIM建模软件使用三种颜色及对建筑物模型高光区的控制,可以创建出大部分基本反射建筑贴图材质。这种材质相对简单,但能生成有效的渲染效果。将处理好的fbx文件导入Unity 3D软件中,置入摄像机、灯光,将材质、纹理、贴图依次配置,调整好参数和动作使得视觉效果达到最佳[4]。
3 粮情展示的交互操作
交互设计是整个虚拟展示系统的关键部分,在Unity3D中,这些交互动作是通过对虚拟模型的Script进行行为模块的连接和各个参数的设置来实现的。这种方式使得设计过程更加清晰,更加容易调试。为模型对象创建脚本Script,这部分要充分考虑到各个Script执行的顺序和逻辑性。在每个Script中对交互动作进行编程,来实现各种仓库对象的一系列展示动作,如平移、旋转、放大、缩小、变换颜色、贴图等。
3.1 库区纵览
①在单个仓体模型的仓顶添加Script实现点触功能,使浅圆仓、立筒仓和星型仓设置滑动计算机鼠标放置上仓顶时,显示仓号、仓容、谷型、仓温和仓湿等信息。②在主场景摄像机上添加Script实现发射功能,使点击功能进入浅圆仓、立筒仓和星型仓内部。如图1所示。
图1 库区纵览三维虚拟展示效果图
在主场景中添加UI面板,设置仓库信息、储量、等级、温度、监控、虫害、湿度、操作状态等内容,依次添加单选按钮功能,点击时显示相应的信息内容。如图2所示。
3.2 电缆测温
浅圆仓Ⅰ期包含23根测温电缆线,每根电缆线有18个标准测温点对象,即分为18层测温线圈。浅圆仓Ⅱ期包含28根电缆线,每根电缆线有15个标准测温点对象,也即分为15层测温线圈。立筒仓包含14根测温电缆线,每根电缆线有23个标准测温点对象,也即分为23层测温线圈。星型仓包含1根测温电缆线,每根电缆线有20个测温点对象,也即分为20层测温线圈。①根据每种仓型的实际布线结构设置电缆及测温点模型大小和位置,为每个测温点模型添加Script实现连接网络服务器搭建,并实时显示设备读取的数据,添加UI面板依次按照电缆序号排列,选择相应编号时显示相应的电缆测温点及实时温度数值,由不同的颜色表示不同的温度范围。②为仓体内部添加仓容信息,由Script实现点触功能,提示仓号、仓温、仓湿、最高温、最低温、平均温和粮谷高度等信息。再次,添加UI面板依次显示仓号、大气温度、大气湿度、仓内温度、仓内湿度、最高粮温、最低粮温和平均粮温等信息。如图3所示。
图3 仓内电缆测温效果图及控制展板显示数据图
3.3 智能通风
通风设备分仓底风机和仓顶风机两类,分别4个,对称排列的形式摆放。首先,在每种仓的仓顶添加风扇模型,并对风扇壁添加Script实现点触功能,点击时显示控制风扇属性面板,根据服务器设备自然状态传感参数来设置面板上风扇实时状态,也可以手动操作,点击单选按钮时可打开仓底通风窗,然后开启轴流风机设备,同时发送命令并接收后台发送过来的状态执行相应的操作,比如通风、降温、保湿、增温等,每隔5 s刷新一下当前状态,可以手动操作通风口使仓内同样达到降温或增温的效果。同时对风扇叶添加Script实现update时自然转动。如图4所示。
图4 仓顶风机和通风窗,仓壁通风口设备的效果及智能控制面板图
4 结论
随着互联网智能化的发展,传统建筑行业利用BIM建模技术及虚拟现实技术将会得到广泛的应用,相关技术领域的软件开发与研究将会进一步发展。本文提出的智能粮情三维虚拟展示系统的设计流程和交互式的动作设置,可让用户从直观的角度去体验、去观察粮仓及粮情的详细信息,实时了解通风的情况。本系统通过扩展编程,实现交互式操作,更有效地表达虚拟现实环境,给使用者更加真实的感受。