首页> 中国专利> 一种基于Unity的模拟液压回路管道中油液流动的方法

一种基于Unity的模拟液压回路管道中油液流动的方法

摘要

本发明公开了一种基于Unity的模拟液压回路管道中油液流动的方法。其中,方法包括如下步骤:将建模完成的模型经过3ds max软件进行格式转换再导入Unity中;对模型进行优化,对场景进行渲染;构建好讲解场景后新增回路图按钮并编写脚本实现功能;设计零件拖拽功能;设计触发检测功能;零件设置好之后,按顺序放置,构成液压回路图;用控制脚本GameManager控制小球的生成;通过单例模式,调用了GameManager里面的几个变量,控制油路的运动;每次生成两个小球,每个小球有一个数组的路径;小球身上挂着SphereManager脚本,在GameManager里面生成,生成之后自动按照上面的两个数组去运动。本发明解决了无法三维立体表现液压回路、无法清晰直观的描述油液再液压回路中的运动问题。

著录项

  • 公开/公告号CN112365776A

    专利类型发明专利

  • 公开/公告日2021-02-12

    原文格式PDF

  • 申请/专利权人 南昌大学;

    申请/专利号CN202011198457.X

  • 发明设计人 刘继忠;金颖;旷有涛;李道良;

    申请日2020-10-31

  • 分类号G09B23/12(20060101);

  • 代理机构11246 北京众合诚成知识产权代理有限公司;

  • 代理人许莹莹

  • 地址 330000 江西省南昌市红谷滩新区学府大道999号

  • 入库时间 2023-06-19 09:52:39

说明书

技术领域

本发明属于虚拟现实教学技术领域,具体涉及一种基于Unity的模拟液压回路管道中油液流动的方法。

背景技术

Unity是一款优秀的虚拟现实仿真软件,虚拟现实教学系统的开发依托于虚拟现实开发软件。借助这款优秀的软件,开发者可以开发一些内容丰富的虚拟现实应用。

《液压传动》课程是机械类专业的重要课程之一,存在着诸如液压元器件数量不够、安全性差等问题,老师面向几个班的同学授课,实验室液压元器件数量有限且部分实验操作具备一定的危险性,但增加师资和大量进购教学设备势必严重加大高校的财政负担难以实现,导致学生的个性化需求难以满足。

液压回路则是《液压传动》课程中的一项重要内容,课堂教学往往存在一定的局限性,学生很难理解回路中的油液流动过程,课程往往枯燥无味。实验课程又往往存在液压元器件损坏以及不能模拟油液在管道中流动的问题。

目前,油液运动模拟都是采用flash动画制作,沉浸式效果差,更多的是停留在二维空间的模拟,学生不能直观、生动的学习《液压传动》的相关内容,不能吸引学生的学习兴趣,提高课堂教学质量与虚拟现实技术有明显的差距。

发明内容

针对现有技术中的不足与难题,本发明旨在提供一种基于Unity的模拟液压回路管道中油液流动的方法,以解决以往油液模拟液压回路不直观、缺乏三维立体感的问题。

本发明通过以下技术方案予以实现:

一种基于Unity的模拟液压回路管道中油液流动的方法,包括液压回路的搭建和液压回路中模拟油液运动两方面。

第一方面,提供一种新型液压回路的搭建方法,包括如下步骤:

(1)利用SolideWorks进行回路元件的建模,并将模型导出为STEP格式;

(2)用3ds Max将其转化为FBX文件并导入新建的Unity3D工程;

(3)在Unity3D中构建教学场景并进行渲染;

(4)构建好讲解场景后新增回路图按钮并编写脚本实现功能;

(5)零件设置好之后,按顺序放置,构成液压回路图;

具体地,场景的构建与渲染包括:根据情况处理多余的面,尽可能地减少模型面数从而减少数据量,进而实现模型优化;根据模型的不同设置不同的参数,在场景中添加灯光与贴图等加以渲染;把模型导入Unity3D之后需要修改Transform的各项参数,然后进行课件场景搭建。

具体地,场景的构建操作包括:在Hierarchy界面新建Canvas画布,在Canvas上增加Image、Text、Button组件;编写相应的脚本实现点击“点击进入”按钮后便进入功能选择界面的功能;将该脚本运用于canvas上,然后进行界面中四个按钮的事件注册。

具体地,脚本实现的功能包括:

1)设计零件拖拽功能,有BoxColider的零件上面增加刚体组件,并且增加了脚本ModelsPosChange;

2)设计触发检测功能,发到了相应的物体隐藏当前对象,把另一个物体显示出来,最终达到的效果是拖拽的对象碰到它对应的位置时,就会在那个位置生成正确的模型的效果;触发检测是根据Tag标签来判断的。

第二方面,提供一种新型液压回路中模拟油液运动的方法,其是通过球运动模拟油液在管道中缓慢运动实现的,具体包括如下步骤:

(1)拉姆达表达式注册好按钮事件;

(2)用控制脚本GameManager控制小球的生成;

(3)通过单例模式,调用了GameManager里面的几个变量,控制油路的运动。

具体地,控制油路的运动的方法为:

1)每次生成两个小球,每个小球有一个数组的路径;

2)每个小球身上挂着SphereManager脚本,在GameManager里面生成,生成之后自动按照上面的两个数组去运动。

与现有技术相比,本发明有益效果包括:

(1)本发明的油液运动模拟教学沉浸式效果好,油液模拟液压回路更直观、三维立体感更强,使得学生能够直观、生动地学习,大大提高了教学质量。

(2)本发明虚拟仿真教学减少了财政支出,还避免了实验操作中的危险因素。

具体实施方式

为使本发明的目的、技术方案、及优点更加清楚明白,结合以下实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例,仅仅用于解释本发明,并不用于限定本发明。此外,下列所描述的本发明的各个实施方式所涉及的技术特征只要彼此之间不构成冲突就可以相互结合。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他所有实施例,都属于本申请的保护范围。

一种基于Unity的模拟液压回路管道中油液流动的方法,具体实施中,上述方法包括两方面:构建液压回路和模拟油液运动。

第一方面,构建液压回路。

(1)进行回路元件的建模,并进行格式的转换,导入Unity

使用SolideWorks软件进行三维建模,包括回路元件,如:齿轮油泵、溢流阀、节流阀、油缸、管道以及管接头。

将SolideWorks软件建好的模型导入3ds Max软件中,由于SolideWorks中建好的模型导出格式为STEP,而Unity对这种格式的三维模型不能有效地兼容,故使用3ds Max作为中间软件进行格式转换。SolideWorks输出STEP格式软件,将其导入3ds Max中,并在其中转换为Unity中可以兼容的FBX格式。

将建立好的三维模型转换格式后导入Unity3D,利用导入Unity平台的资源以及平台内置的模型为液压回路设计构建场景,可以根据模型的不同设置不同的shader参数。

(2)模型优化以及场景的渲染

在场景中添加灯光与贴图等加以渲染。

在Unity中设计制作GUI页面,新建一个Panel(画板组件),将其命名为MainPanel,

这个MainPanel是整个GUI页面的主要承载体,所有的制作过程都在这上面完成。

MainPanel页面上添加Button(按钮)组件、Text(文字组件)以及Slider(滑动条组件),并将其进行准确规范的进行命名,添加的组件可以按照一定的逻辑顺序进行排列。

在MainPanel中新建一个Empty(空白)组件,将其重命名为All,这个组件主要是液压回路搭建、油液运动的设计之地,调整Empty(空白)组件的大小,使其达到合适的显示尺寸。

(3)构建好讲解场景后新增回路图按钮并编写脚本实现功能;

在空物体All中新建四个3D Object Cube(立方体),将其依次命名为Cube1、Cube2、Cube3、Cube4。这四个三维图形是后续拖拽液压元器件的定位体,方便后续的拖拽操作以及后续识别拖拽动作。

首先给每个零件设置两个一模一样的模型,在project界面直接拖拽到scene界面即可。其中一个是有BoxColider,而另一个是没有的。

有BoxColider的零件上面增加刚体组件,并且增加了脚本ModelsPosChange,这个脚本有两个功能,第一个是拖拽,第二个是做了触发检测。拖拽功能是跟随鼠标移动,要相应鼠标的射线检测必须要有BoxColider碰撞体,所以没有加BoxColider的模型,就会一直在原地。

触发检测功能是触发到了相应的物体隐藏当前对象,把另一个物体显示出来,最终达到的效果是拖拽的对象碰到它对应的位置时,就会在那个位置生成正确的模型的效果。触发检测是根据Tag标签来判断的。

(5)零件设置好之后,按顺序放置,构成液压回路图

由于每个液压元器件的位置放置都具有固定且唯一性,所以每个元器件都要给它一个对应的坐标点,给一个对应的定位点,如果到达了合适的坐标点,模型可以自动吸附到定位点。

液压元件以及将各个液压元件通过管接头和油管连接起来形成完整地节流调速回路。至此,构建液压回路工作已完成。

第二方面,模拟油液运动。

构建完成液压回路之后,接下来的一步就是模拟油液在管道中的流动。

由于液压回路是一个三维管道,含有X、Y、Z三个方向的坐标,因此油液在管道中的运动也可以被称为在三维空间的运动,因此可以采用定点标记的方式定位一些关键点,将三维空间中的运动转换为二维平面的运动。

在液压元件与管道的转角处,往往存在着一个方向坐标甚至两个方向坐标的改变,故在这些坐标转换位置取一标记点,共取了24个标记点,每两个标记点之间都只有一个坐标轴的变化,只用沿直线进行即可。

所以,油路中油液运动通过小球在油管中缓慢运动予以实现,具体如下:

(1)使用拉姆达表达式注册好按钮事件;

(2)油路的运动是有很多的小球在缓慢的运动的,利用控制脚本GameManager来控制小球生成;

(3)控制油路的运动。

在“油液运动”按钮的事件里面,主要是通过单例模式来实现按钮的表达。调用了里面的几个变量,控制油路的运动,使得按钮点击和小球运动可以高度解耦合,相互不干扰。每次生成两个小球,每个小球有一个数组的路径,每个小球身上挂着SphereManager脚本,在GameManager里面生成,生成之后自动按照上面的两个数组去运动。

定压式节流调速回路中,节流阀的通流截面积大小会控制油液在油路中运动的速度。

为了直观地体现出节流调速回路的工作原理,增设了控制节流调速回路中节流阀通流截面积大小的拉条,从而控制油液在油路中运动的速度。

首先在原来的Canvas画布下面的Main2Panel界面里面增加两个UI;第一个是Text,用来显示滑动条的文字,第二个是一个Slider滑动条,用来体现出改变节流阀通流截面积以后油液速度的变化。在增加了这两个UI对象之后,增加脚本控制对象,实现功能,增加的脚本在滑动条的父物体Main2Panel上面的Main2PanelManager脚本里面。

本次教学设计的产品发布PC端,在调试后没有问题的情况下进行产品发布。

首先点击File菜单,选择Build Settings菜单命令。单点击Add Current按钮添加当前的场景。然后在Platform(模板)里选择PC,随后在右侧界面中选择Windows平台,最后单击Build按钮选择发布的产品所在文件夹实现发布。

以上所述仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形、改进及替代,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号