论文部分内容阅读
[摘 要]以涡轮喷气发动机为对象,基于Unity 3D进行虚拟仿真的研究,设计并实现了基于Unity 3D应用软件、在Visual Studio平台上使用C#语言编程的虚拟仿真。通过CATIA三维建模、模型的导入与设置、交互界面的设计、编写控制脚本等基本实现对航空引擎的虚拟仿真。通过对飞机引擎的虚拟仿真的研究,可以有效为发动机的设计制造提供参照,方便教学演示,并对其他复杂机械产品的展示提供借鉴。
[关键词]飞机引擎;拆装展示;虚拟仿真;Unity 3D
中图分类号:TK402 文献标识码:A 文章编号:1009-914X(2018)47-0022-01
1项目需求分析与功能设计
1.1需求分析
为了更好的展示飞机引擎的结构以及各个部件,能够让一些飞机引擎爱好者能够了解飞机的各个部件以及对能够刚从事飞机引擎研制工作的人员进行岗前培训,增加对飞机引擎的了解程度,并且能够全方位的对飞机引擎的各个部位进行观察,李开发机械交互展示工程,该系统将使用虚拟现实技术实现各个飞机引各个部件间的对接,开发完成后,可以对飞机引擎各个部件进行全方面的展示。
1.2功能设计
实现对飞机引擎进行组装和拆卸工作。
实现对引擎以及引擎各个部件的旋转、移动和缩放操作,能够完整观察引擎各个部分。
2开发流程设计
按照功能需求设计出程序流程图,如下
3项目开发
3.1CATIA三维建模与装配
虚拟仿真的对象是涡轮喷气发动机,因此模型是整个项目的设计开发基础,模型质量直接影响仿真的效果。此项目选用CATIA进行飞机引擎的建模,步骤如下:
分析飞机引擎的零件图和装配图,由于后面需要将模型导入Unity中进行虚拟仿真,考虑到运行效果,将模型尺寸设置成1:100。
参照基本的建模思路,在零部件的基本截面上绘制草图,利用基本拉伸、阵列等命令完成基本特征的创建,最后通过倒角、拔模等完成修饰特征的创建。
利用CATIA强大的装配功能,完成对各个零部件的相关约束,完成发动机引擎的模型装配。
3.2模型导入
将CATIA中创建的三维模型输出为通用格式,如后缀为.igs,.stp等,然后通过3D max导出为后缀为.FBX的模型保存。然后在Unity中创建工程并导入模型,最后将其拖到场景中。
3.3模型的参数设置以及场景搭建
设置模型的材质或颜色,让不同的零部件产生一定的区别。添加主摄像机和灯光,实现可视化操作,将模型放置在摄像机中央。
3.4引擎各个模块的组装
飞机引擎主要由进气装置、压气机、燃烧室、燃气涡轮和尾喷管组成,将它分成12个部件,每个部件在引擎中起的作用各不相同,创建12个空物体,并重新命名,将各个部件包含的零件放到相应的空物体中。
3.5脚本控制引擎模块的拆分
拆分是飞机引擎展示的重要功能,需要固定几个位置,用来指定各个部件具体移动的位置。因此,创建12个点,编写控制脚本,利用Transform保存飞机各个部件的初始位置和所要到达的位置,利用GUI类生成按钮,通过鼠标点击按钮实现对引擎的拆分演示。编写脚本生成按钮控制各个部件的显示和隐藏,同时实现对引擎的旋转、缩放和移动,其中对零部件的旋转是绕着其中心点的旋转,因此,需要设置每个零件的碰撞体,还要避免相邻零部件的干涉。
3.6调试及运行发布
脚本编写完后,添加到相应的物体上,运行程序,浏览整个项目的运行情况,如果运行无误,就进行发布操作。通过file下的Building Setting选项即可进行发布设置,选择发布到PC端,点击Build按钮,选择文件发布的存放位置,即可发布到PC平台。发布完成后,飞机引擎的拆装项目的开发便完成。
3.7效果展示
通过运行测试,平台能够实现对整个发动机的虚拟仿真。运行效果如下:
结论
本文根据项目需求分析与功能设计和开发设计流程,基于Unity 3D实现了对飞机引擎的拆装演示,该演示平台操作简单,效果逼真,支持交互学习等。通过此项目的开发,设计出虚拟系统开发的整套流程及总体框架,实现功能模块化,使结构更加简单清晰,便于操作和管理,同时提高开发效率。当然,也存在不足,如脚本和场景优化不到位等。不过,总体实现对飞机引擎的虚拟仿真,为其他复杂产品的展示提供借鉴。
参考文献:
[1]任镤,王文剑,白雪飞.基于虚拟现实技术的山西大学堂建筑复原[J].计算机仿真,2012,29(11):20-23.
[2]陳洪,马钦,朱德海.基于 Unity3D 的交互式虚拟农业仿真平台研究[J].农机化研究,2012,24(3):184-186.
[3]段金荣,胡玉萌,刘凯.鱼类标本及标本馆场景三维演示系统的研发[J].南方水产科学,2013,9(1):63-67.
[关键词]飞机引擎;拆装展示;虚拟仿真;Unity 3D
中图分类号:TK402 文献标识码:A 文章编号:1009-914X(2018)47-0022-01
1项目需求分析与功能设计
1.1需求分析
为了更好的展示飞机引擎的结构以及各个部件,能够让一些飞机引擎爱好者能够了解飞机的各个部件以及对能够刚从事飞机引擎研制工作的人员进行岗前培训,增加对飞机引擎的了解程度,并且能够全方位的对飞机引擎的各个部位进行观察,李开发机械交互展示工程,该系统将使用虚拟现实技术实现各个飞机引各个部件间的对接,开发完成后,可以对飞机引擎各个部件进行全方面的展示。
1.2功能设计
实现对飞机引擎进行组装和拆卸工作。
实现对引擎以及引擎各个部件的旋转、移动和缩放操作,能够完整观察引擎各个部分。
2开发流程设计
按照功能需求设计出程序流程图,如下
3项目开发
3.1CATIA三维建模与装配
虚拟仿真的对象是涡轮喷气发动机,因此模型是整个项目的设计开发基础,模型质量直接影响仿真的效果。此项目选用CATIA进行飞机引擎的建模,步骤如下:
分析飞机引擎的零件图和装配图,由于后面需要将模型导入Unity中进行虚拟仿真,考虑到运行效果,将模型尺寸设置成1:100。
参照基本的建模思路,在零部件的基本截面上绘制草图,利用基本拉伸、阵列等命令完成基本特征的创建,最后通过倒角、拔模等完成修饰特征的创建。
利用CATIA强大的装配功能,完成对各个零部件的相关约束,完成发动机引擎的模型装配。
3.2模型导入
将CATIA中创建的三维模型输出为通用格式,如后缀为.igs,.stp等,然后通过3D max导出为后缀为.FBX的模型保存。然后在Unity中创建工程并导入模型,最后将其拖到场景中。
3.3模型的参数设置以及场景搭建
设置模型的材质或颜色,让不同的零部件产生一定的区别。添加主摄像机和灯光,实现可视化操作,将模型放置在摄像机中央。
3.4引擎各个模块的组装
飞机引擎主要由进气装置、压气机、燃烧室、燃气涡轮和尾喷管组成,将它分成12个部件,每个部件在引擎中起的作用各不相同,创建12个空物体,并重新命名,将各个部件包含的零件放到相应的空物体中。
3.5脚本控制引擎模块的拆分
拆分是飞机引擎展示的重要功能,需要固定几个位置,用来指定各个部件具体移动的位置。因此,创建12个点,编写控制脚本,利用Transform保存飞机各个部件的初始位置和所要到达的位置,利用GUI类生成按钮,通过鼠标点击按钮实现对引擎的拆分演示。编写脚本生成按钮控制各个部件的显示和隐藏,同时实现对引擎的旋转、缩放和移动,其中对零部件的旋转是绕着其中心点的旋转,因此,需要设置每个零件的碰撞体,还要避免相邻零部件的干涉。
3.6调试及运行发布
脚本编写完后,添加到相应的物体上,运行程序,浏览整个项目的运行情况,如果运行无误,就进行发布操作。通过file下的Building Setting选项即可进行发布设置,选择发布到PC端,点击Build按钮,选择文件发布的存放位置,即可发布到PC平台。发布完成后,飞机引擎的拆装项目的开发便完成。
3.7效果展示
通过运行测试,平台能够实现对整个发动机的虚拟仿真。运行效果如下:
结论
本文根据项目需求分析与功能设计和开发设计流程,基于Unity 3D实现了对飞机引擎的拆装演示,该演示平台操作简单,效果逼真,支持交互学习等。通过此项目的开发,设计出虚拟系统开发的整套流程及总体框架,实现功能模块化,使结构更加简单清晰,便于操作和管理,同时提高开发效率。当然,也存在不足,如脚本和场景优化不到位等。不过,总体实现对飞机引擎的虚拟仿真,为其他复杂产品的展示提供借鉴。
参考文献:
[1]任镤,王文剑,白雪飞.基于虚拟现实技术的山西大学堂建筑复原[J].计算机仿真,2012,29(11):20-23.
[2]陳洪,马钦,朱德海.基于 Unity3D 的交互式虚拟农业仿真平台研究[J].农机化研究,2012,24(3):184-186.
[3]段金荣,胡玉萌,刘凯.鱼类标本及标本馆场景三维演示系统的研发[J].南方水产科学,2013,9(1):63-67.