汽车手动变速器虚拟仿真实验教学系统设计

2020-07-04 08:53吴振铭张瑞杰何富君吴汶锡毛国安
科学技术创新 2020年18期
关键词:鼠标部件变速器

吴振铭 张瑞杰* 何富君 吴汶锡 吕 文 毛国安

(东北石油大学机械科学与工程学院,黑龙江 大庆163318)

1 构建虚拟仿真实验教学系统的意义

在汽车构造教学中,传统的文字加图片的教学方法难以将汽车手动变速器的内部结构、装配关系、工作原理等表达清楚,学生理解起来比较困难[1],教学效果不理想。如果通过实验教学,学生亲自动手实践,但是手动变速器结构复杂、沉重,如果操作不当,不但会造成变速器的损坏,甚至引发自身安全问题。

采用虚拟仿真技术可以将复杂的结构搬入课堂,这些问题迎刃而解。汽车手动变速器虚拟仿真实验教学系统构建了虚拟环境,将理论与可操控的模型相结合,便于学生对手动变速器各个知识点的掌握。用户在系统中对模型进行操控,可以避免真实操作中的零件损耗与安全问题,而且对模型的剖视和透明化处理也能够更细腻地展示连接关系和运动关系。

2 虚拟仿真实验教学系统的设计

2.1 教学内容设计

根据教学大纲要求,本系统涵盖基础知识、结构功能、工作原理和虚拟拆装四个教学模块。

基础知识模块中首先提出教学目标,再介绍出变速器概念、分类以及作用。结构功能模块建立了轴、齿轮、同步器等主要零部件的模型,构建了变速器整体装配模型,介绍各部件的功能。在工作原理模块中,重点展示各部件的动作过程,变速器的操作及工作过程,在内容的组织上通过启发式引入,由浅入深地引出对同步器工作原理的教学。接着从细节回归整体,对各档位的换档原理进行教学。针对教学难点的变速器拆装过程,本系统在虚拟拆装模块中将鼠标与键盘操控相结合,鼠标可以控制观察模型的角度,键盘的方向上下键可以控制变速器的拆装顺序。配合文字介绍,学生可对疑点难点反复学习。

2.2 模型的建立

考虑到虚拟仿真实验教学系统所具备的逼真性和良好的交互性,本系统模型均采用3DSMAX 进行数字化建模。3DSMax具有丰富建模工具,UV 贴图调节功能,制作模型逼真,质感表现真实,并且对于动画的制作也具备良好的兼容性[2]。

为了确保系统运行的流畅,在前期需要较高标准的数字化建模。所以利用三角网格优化算法对每个模型进行优化,保证组合后面数最少。由于3DSMAX 的默认单位为英寸,Unity3D 中的默认单位为米,在前期数字化建模中还要注意模型的比例不同,在3DSMAX 运用重缩放世界单位功能可以完成模型在平台之间导入的比例问题。

完成数字化建模后,为了保证模型在Unity3D 的平台中有着逼真的质感表现,在3DSMAX 需要给模型赋予UVWMap 立体Box 贴图,再调整好贴图通道后渲染漫反射贴图与高光贴图,模拟出物体自身与光照下的不同状态。

2.3 界面设计

本系统的界面采用了科幻界面FUI (Fictional User Interfaces)风格,与车辆的科技感相契合。如工作原理界面,如图1 所示。为了避免多视觉元素对信息辨识造成干扰,设计元素均采用扁平化风格[3],在颜色搭配上选择黑色的背景搭配白色的文本,各视觉元素则使用蓝色和橙色形成对比。在布局方面,文字分布、字体大小、按钮布局在突出教学内容的同时还要使用户感到舒适、便捷,方便控制界面的跳转,保持用户对教学系统的注意力及其兴趣。

图1 工作原理界面

2.4 交互设计

2.4.1 选项组中的元素切换

为了提高系统运行的流畅性,方便用户选择,本系统选择切换标签的方式,这就涉及到了Toggle 的运用。为保证组内同一时间只有一个按钮可处于选中状态,需要将多个教学项目按钮作为不同Toggle 加入同一选项组内。用户使用鼠标点击Toggle 按钮,触发OnValueChanged 消息,激活GameObiect.SetActive 函数,从而调用出在RuntimeOnly 属性中设置的元素,完成选项组中的元素切换。

2.4.2 模型缩放与旋转

用户进入虚拟场景,可以使用鼠标进行模型的旋转与缩放,便于360°全方位观察学习模型的细节。鼠标滚轮控制摄像机距离变速器的远近,系统通过Input.GetAxis("Mouse ScrollWheel") 函数监控鼠标的滚轮变化。Camera.main.fieldOfView 未达到设定范围时,若滚轮向后移动,fieldOfView则增大数值,模型在摄像机视野范围内缩小,反之则放大。用户使用鼠标左键控制模型旋转时,调用相关函数Input.GetMouseButton()获取鼠标x 轴和y 轴的相对位置,通过Input.GetAxis("Mouse")计算出鼠标x 轴和y 轴的偏移量,结合设定好的旋转速,利用transform.Rotate(new Vector3(OffsetY,-OffsetX,0)*speed,Space.World)计算出模型旋转角度。

2.4.3 鼠标悬浮显示部件名称

为了用户在能够装配情况下区分各部件的名称和位置关系,系统通过OnMouseEnter()函数判断鼠标是否悬浮在变速器部件上,若结果为true,则通过Debug.Log(cube. name)函数显示部件名称(如图2)。为了实现文本的显示功能,需要通过style1.fontSize 控制字体大小,style1.normal.textColor=Color.white控制字体颜色,再利用GUI.Label(newRect(Input.mousePosition.x,Screen.heightInput.mousePosition.y,400,50)函数在特定坐标生成文本UI。

图2 鼠标悬浮显示物体名称

3 结论

以汽车手动变速器为例开发的虚拟仿真教学系统,从教学目标出发,借助计算机技术、虚拟仿真技术模拟展示变速器的结构、工作原理以及虚拟拆装过程,把枯燥乏味的知识与可动手操作的系统相结合,可以弥补现有教学的不足,提高教学质量。

猜你喜欢
鼠标部件变速器
汉字部件的避让变形
奥迪e-tron纯电动汽车的高电压部件(下)
上汽通用VT40E变速器简介(一)
一种陀飞轮表的双秒轮结构
现代汉字的两种分析法与国家文字规范(四)
英菲尼迪QX60无级变速器保养和诊断
涡轮增压发动机与双离合变速器的使用
奔驰9G-TRONIC自动变速器描述(上)
鼠标折叠笔
45岁的鼠标