一种反冲洗过滤器交互式虚拟现实仿真方法与流程

文档序号:17587958发布日期:2019-05-03 21:30阅读:375来源:国知局
一种反冲洗过滤器交互式虚拟现实仿真方法与流程

本发明属于仿真方法技术领域,具体涉及一种反冲洗过滤器交互式虚拟现实仿真方法。



背景技术:

高水基回液反冲洗过滤器被广泛应用于煤矿综采支架的液压系统中,用于对乳化液中所含颗粒杂物进行过滤并实现自我清洁,是保证煤矿综采工作面安全高效生产的关键因素。观察含颗粒液体在回液反冲洗过滤器内部腔体的迁移、沉积分布等流动状态,展现回液反冲洗过滤器正向过滤和反向冲洗的全过程,对于过滤器的结构优化、清洗无盲点控制、质量可控性和和产品展示具有重要意义。

要实现对回液反冲洗过滤器的过滤状态和反冲洗状态进行接近实际的描述,必须要对过滤器内含颗粒的流体运动状态进行可视化的动态观察。在测定流体流动形态的实验装置中,通常将流动绕体采用有机玻璃制作,绕体部分采用有色材料。流动绕体类型多样:包括文丘里模拟,转角模拟,突扩突缩模拟、流线体及孔板模拟,圆形体及直线收尾体模拟,球阀全开模拟等。有机玻璃管中流体流动现象、流体流线、流量改变流场的变化情况、滞流时速度分布可直接由有色材料的流动状态观察出来。

如果采用目前测定流体流动形态的实验方法,回液反冲洗过滤器制作工艺复杂、加工难度较大,而且有机玻璃的强度和刚度无法保证回液反冲洗过滤器的各种功能,容易损坏。因此,用有机玻璃制作过滤器实物观察其内部流体的流动状态几乎不大可能实现。



技术实现要素:

针对上述技术问题,本发明提供了一种反冲洗过滤器交互式虚拟现实仿真方法,可以展现回液反冲洗过滤器正向过滤和反向冲洗的全过程。

为了解决上述技术问题,本发明采用的技术方案为:

一种反冲洗过滤器交互式虚拟现实仿真方法,包括以下步骤:

s1、建模:建立反冲洗过滤器三维模型:

s2、加载:在unity中加载s1建立的反冲洗过滤器模型;

s3、交互设计及运动仿真

1)正向过滤虚拟场景:使用itween插件定义流体轨迹;使用脚本编程控制指示过滤流体轨迹的箭头的显隐性;编写时间控制器来控制液体填充滤芯的起止时间;

2)反向冲洗虚拟场景:使用小地图功能放大过滤器上的局部效果;使用itween插件定义反冲洗流体的轨迹;脚本控制反冲洗过滤器部件的运动;使用粒子系统创建反冲洗水和杂质;编写脚本,由外部设备对模拟过程进行控制。

所述s1中:首先使用三维软件solidworks创建反冲洗过滤器三维模型;然后将该三维模型导入3dsmax软件中进行优化处理;在unity中创建资源文件夹并分类,最后将优化后的三维模型文件放到相应的文件夹中。

所述s2中:将过滤器模型文件载入scene视图中,调整模型坐标、角度;在工作场景中设置camera和light参数。

所述s3中:时间控制器使用c#中的bool类型编写的一段脚本,用来判断滤芯是否被填充满。

正向过滤虚拟场景中使用c#编程控制指示流体轨迹的箭头的移动及其显隐性,显隐性通过修改指示箭头的shader属性,用itween脚本来控制实现。

反向冲洗虚拟场景中使用小地图功能实现放大过滤器上筒体的效果。

所述s3中小地图的制作过程为:在scene视图在2d模式下创建canvas,在其层级下创建子物体image,rawimage,rawimage作为image的子物体;切换scene视图为3d模式,在top状态下新建camera,调整相机位置使上筒体模型仅出现在新建相机视图;最后通过创建渲染图片的连接器来完成小地图的制作。

反向冲虚拟场景中使用粒子系统创建反冲洗水和杂质,shuriken粒子系统采用模块化管理,粒子模块配合粒子曲线编辑器,创作缤纷复杂的粒子效果。

本发明与现有技术相比,具有的有益效果是:

该方法结合粒子系统、脚本、输入与控制,模拟了回液反冲洗过滤器正向过滤与反向冲洗场景,通过动画演示真实、生动、准确的反映实际场景中元素的特征、形态和布局。根据所展现回液反冲洗过滤器正向过滤和反向冲洗的全过程,便于对过滤器进行结构优化、质量控制以及产品展示。

粒子系统的基本思想是将许多简单形状的粒子作为基本元素聚集起来,形成一个不规则的模糊物体,从而构成一个封闭的系统——粒子系统。粒子系统中含有大量的粒子图元,每一个粒子都具有一定的属性,比如粒子的大小、数量、坐标、速度、颜色、生命周期等。

shuriken粒子系统采用模块化管理。加之个性化的粒子模块配合粒子曲线编辑器,更容易创作出各种缤纷复杂的粒子效果。本发明中过滤器反向冲洗的冲洗水与杂质都是通过粒子系统实现的,在确保真实的情况下让仿真更加流畅、逼真。

附图说明

图1是本发明的流程图;

图2是本发明一个实施例的正向过滤虚拟场景示意图;

图3是本发明一个实施例的反向冲洗虚拟场景示意图。

具体实施方式

下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种反冲洗过滤器交互式虚拟现实仿真方法,该方法包括如下步骤:

s1、创建回液反冲洗过滤器三维模型:

具体创建包括:过滤器上筒体、下筒体的三维模型,上筒体包括筒体、进液口、出液口、回液单向阀、分液筒、高压接头等;下筒体包括筒体、滤芯、滤芯旋转轴、u型管、下法兰、端盖、单向排污阀等。

进一步,为了保证模型效果,优选采用以下方法:

依据过滤器上筒体和下筒体的三维尺寸数据及过滤器图纸,在solidworks中按照1:1的尺寸创建过滤器三维模型,保存类型为.stl;

将过滤器.stl文件导入3dsmax软件中进行简单优化处理,并保存为unity可识别的autodesk(*.fbx)类型;

三维软件的单位与unity单位的比例关系非常重要,在三维软件中应尽量使用米制单位,以便适配unity。3dsmax软件的内部米制尺寸为m,默认设置导入unity中的尺寸为0.01m,与unity单位的比例关系为100:1。

在unity中创建资源文件夹,并分类为模型库、材料库、脚本等,将过滤器.fbx三维模型文件拖放到模型库中。

具体操作方法是:打开unity3d,选择file菜单下的newproject,新建一个工程,命名为filter,在“filter”工程文件夹中的assets子文件夹里面创建模型库、材料库、脚本等文件夹,将过滤系统三维模型的fbx文件拖放到模型库文件夹中,默认设置unity会自动刷新assets文件夹中的资源。这样过滤系统的fbx文件就导入了unity3d中。

s2、加载回液反冲洗过滤器模型,工作场景布置:

进一步,将unity模型库中过滤器模型文件载入scene视图中,调整模型坐标、角度到最佳;

过滤器三维模型在导入project视图的assets文件夹后,将三维模型拖放到scene视图中,就变成了场景对象,然后在inspector视图编辑场景对象的transform属性。所有的场景对象被创建之初,至少包含了一个组件,那就是transform(变换)组件。transform表示的是物体在unity中的位置、旋转、大小。这些参数都是以x,y,z的形式定义的,并且以x,y,z的顺序表示。

工作场景中设置基础的camera、light参数,为后续仿真做准备。

新建unity项目工程后,进入unity的编辑器界面,unity编辑器会自动加入天空盒并创建一个maincamera(主摄像机)和directionallight(平行光),编辑其属性,使显示效果最佳。

s3、反冲洗过滤器交互设计及运动仿真:

具体包括:c#脚本编程、itween流体轨迹、制作小地图、粒子系统、键盘鼠标控制等实现过滤器正向过滤和反向冲洗的虚拟现实场景。

1)正向过滤虚拟场景:

如图2所示,使用itween插件定义流体轨迹,液体从进液口流入,经滤芯过滤,从出液口流出;使用c#脚本编程控制指示流体轨迹的箭头的显隐性;编写时间控制器来控制液体填充滤芯的起止时间。

2)反向冲洗虚拟场景:

如图3所示,使用小地图功能,实现放大过滤器上筒体的效果,清晰可见流体运动轨迹与单向阀阀芯的移动;同样使用itween插件定义u型管中流体的轨迹;脚本控制阀芯的移动、滤芯的旋转;使用粒子系统创建反冲洗水和杂质。

定义流体轨迹的itween插件,是一个简单、强大、易于使用的动画系统,控制某一物体由一个位置移动到另一个位置。itween插件实现了流体按预定轨迹动态流动的效果。

根据过滤器的具体结构定义流体轨迹,如:液体从进液口流入上筒体,经上法兰流入下筒体,经过滤芯过滤之后的液体渗入滤芯,然后填充满滤芯,经出液口流出,这一过程中添加了时间控制器。液体可以按照预定的轨迹持续的动态流动,不会出现断流现象。

具体的,itween定义流体轨迹的方法为:在hierarchy视图下createempty(创建空物体),重命名为points,接着创建多个空物体,以point1、point2形式命名,将这些point拖放到points层级下作为points的子物体;为每一个point添加itween插件中的“gizmo”脚本,按需求修改所有point的transform组件下的位置参数;创建一个水球,为其添加“pathexample”脚本组件,修改组件下的“path”参数,将“size”改为对应的point个数,“element”中拖放对应的point;为水球添加“trailrenderer”组件,适当修改组件中的参数。例如,“materials”一栏定义轨迹的材料,“time”一栏定义轨迹的时间,“width”一栏设置轨迹的宽度,可以是直线型,也可以是曲线型。

具体的,过滤器反向冲洗虚拟场景中的itween定义的流体轨迹是,液体从高压接头流入,打开单向阀阀芯,阀芯分别向左右移动,液体流入u型管。

进一步,时间控制器是使用c#中的bool类型编写的一段脚本,用来判断滤芯是否被填充满。

本发明选择c#脚本语言进行编程。脚本编程贯穿本发明,流体轨迹的实现、箭头显隐性控制、阀芯的移动、滤芯的旋转、出现杂质、开始冲水、排出杂质这一系列动作,都是通过脚本控制它们的先后执行顺序,使仿真有条不紊的进行。

它可以处理鼠标、键盘、摇杆/方向盘/手柄等项目外设的输入信息,也可以处理ios/android等移动设备的触摸输入信息。inputmanager(输入管理器)用于为项目定义各种不同的输入轴和操作。开发者可以通过编写脚本接受输入信息,完成与用户的交互。

具体可通过编写代码控制键盘输入来实现回液反冲洗过滤器正向过滤与反向冲洗中一系列动作的交互操作。如:单向阀阀芯左右移动,是通过编写脚本,由键盘上的“space”键控制。

if(input.getkeydown(keycode.space)){

itween.moveby(gameobject,itween.hash("y",-1.5f,"easetype","easeinoutexpo"));

}

进一步的,过滤器正向过滤虚拟场景中使用c#编程控制流体轨迹的指示箭头的移动及其显隐性,显隐性是通过修改指示箭头的shader属性,用itween脚本来控制的。

itween.fadeto(gameobject,itween.hash("delay",8,"alpha",255));

itween.moveby(gameobject,itween.hash("y",0.2,"speed",0.5,"easetype","easeinoutexpo","looptype","pingpong"));

进一步的,过滤器反向冲洗虚拟场景中使用小地图功能实现放大过滤器上筒体的效果,小地图的制作过程是,scene视图在2d模式下创建canvas,在其层级下创建子物体image,rawimage,rawimage作为image的子物体;切换scene视图为3d模式,在top状态下新建camera,调整相机位置使上筒体模型仅出现在新建相机视图;最后通过创建渲染图片的连接器来完成小地图的制作。

进一步的,过滤器反向冲洗虚拟场景中滤芯的旋转是两步完成的,首先在animator(动画控制机)中操作,其次通过编写脚本调用animator,由键盘上的“w”键控制滤芯旋转。

animator控制动画的具体方法是:在animation里建立两个动画filter_1和filter_2,其中filter_1没有任何动作,filter_2添加旋转动作。两个动画会显示在animator中,为它们添加执行顺序箭头和动画循环箭头,并修改动画执行参数,为编写脚本做准备。

privateanimatorani;

voidstart(){

ani=getcomponent<animator>();

}

voidupdate(){

if(input.getkeydown(keycode.w))

ani.setbool("sad",true);

}

进一步的,过滤器反向冲洗虚拟场景中使用粒子系统创建反冲洗水和杂质,shuriken粒子系统采用模块化管理,加之个性化的粒子模块配合粒子曲线编辑器,容易创作出各种缤纷复杂的粒子效果。其具体包括出现杂质、开始冲洗及排除杂质,这一系列动作通过编写脚本,分别由键盘上的“a”、“s”“d”、“f”键控制。

具体实现方法是:在hierarchy视图下createempty,先建立一个空物体,为空物体添加particlesystem(粒子系统)组件,为其命名;在inspector视图内设置各项粒子参数;将设置完成的粒子效果设为预设体,然后编写相应的脚本调用它,将它实例化。

publictransformspawnpoint7;

publicgameobjectfilter_impurityprefab;

voidupdate(){

if(input.getkeydown(keycode.a))

{

filter_impurity();

}

}

voidfilter_impurity()

{

instantiate(filter_impurityprefab,spawnpoint7.position,filter_impurityprefab.transform.rotation);

}

上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1