基于3D 技术的转辙机仿真操作平台设计与实现

2021-03-03 08:26玲,杨
铁路计算机应用 2021年2期
关键词:鼠标界面动画

向 玲,杨 扬

(西南交通大学 信息科学与技术学院,成都 611756)

随着我国铁路的快速发展,对铁路信号相关专业的人才需求越来越大,目前,国内很多高校均开设了铁路信号专业。由于高等院校往往缺乏实际的信号设备[1],在教学过程中通常采用2D 图纸展示,而2D 图纸展示的信号设备不够立体直观,且受其结构复杂、布设分散、联动复杂等条件限制[2],使得学生对相关理论难以深入理解和掌握。3D 技术的应用,为教学过程中信号设备的展示提供了新的途径。

目前,3D 技术主要应用在地图仿真、驾驶系统仿真、船舶海洋仿真、场景展示、游戏开发、建筑、航天及外科手术等领域[3-5],在铁路信号专业的应用相对较少,本文利用3D MAX 的建模功能和 Unity 3D 的动画仿真功能,结合模型与场景,设计基于3D 技术的转辙机仿真操作平台。

1 平台架构及设计流程

1.1 平台架构

转辙机仿真操作平台架构,按功能划分为设备与环境模型、用户体验交互界面、3D 动画展示、通信,共4 个模块,如图1 所示。

1.1.1 设备与环境模型模块

本模块是平台的基础,主要制作操作平台中所用的模型。转辙机与环境的3D 模型决定了场景的真实度与还原度,该模块主要遵循还原度和美观度2个原则。还原度描述的是转辙机在3D 制作中要尽可能接近真实情况,美观度是在还原度的基础上给予视觉上的享受[6-8]。

如图1 所示,模块分为2 个部分:3D 转辙机模型和3D 环境模型。3D 转辙机模型可以进一步分为转辙机外部模型和转辙机内部模型;3D 环境模型主要由山、树、道岔等多个模型组合而成。

1.1.2 用户体验交互界面模块

图1 转辙机仿真操作平台架构

用户体验交互界面模块用于还原真实车站场景,并增添了在场景中用鼠标模拟行走、动画展示转辙机等功能,进一步提高用户体验满意度。

如图1 所示,该模块由转辙机展示界面、全局界面和漫游界面组成[9]。

漫游界面用鼠标或者键盘作为媒介,实现对整体场景的观察和控制,类似人在真实环境中进行巡游,主要包括场景的放大缩小,视觉的四周移动,以及视觉的旋转;全局界面可以对场景进行俯瞰;转辙机展示界面可实现结构观察、动画展示,以及3D 显示。

该模块有2 个输入端:(1)接收用户输入交互需求,界面响应对应需求,展示相关内容;(2)接收转辙机转向信息,切换展示界面。交互界面是实现人与软件实时信息交换的重要界面。

1.1.3 3D 动画展示模块

3D 动画展示基于转辙机的动作原理和现实情况。根据转辙机不同的状态信息将转辙机状态分为定位、反位及四开。根据转辙机状态在界面展示相关动画,包含解锁、转换、锁闭整个动作过程。动画制作时,对不同结构进行动画制作,最后进行动画组合。3D动画展示模块以设备与环境模型模块提供的实体作为动画制作基础,接收站内道岔解析后的信息和转辙机动画驱动信息,向用户体验与交互界面模块输出转辙机转向信息。

3D 动画主要依据转辙机的动作原理和转动锁闭逻辑。Unity 3D 中的动画模块一般切割成2 个动画,形成控制动画逻辑。

1.1.4 通信模块

通信模块主要实现联锁软件和上位机软件之间的通信。该模块分为采集端和驱动端:采集端采集并解析站内道岔状态信息,驱动端输出转辙机动画驱动信息。

通信采用TCP/IP(Transmission Control Protocol/Internet Protocol)协议,实现通信的关键点在于对转辙机状态的采集与驱动。定义Socket 通信函数来实例化客户端的对象,响应Socket 通信函数,对采集的数据进行分析和判断,收到服务器的响应,实现3D 显示。

1.2 平台设计流程

平台设计流程如图2 所示:(1)建立设备3D 模型;(2)建立整体3D 环境和用户交互界面;(3)完成通信模块的数据采集和动画驱动。

图2 平台设计流程

2 关键技术

2.1 3D MAX 建模技术

3D 模型制作的关键在于利用3D MAX 软件建模。

3D 模型分为基本物体和复合物体,基本物体采用基本模型结构,如球、多面体、线等。复合物体需要将物体分为不同基本物体,采取布尔等操作实现。

对于复杂的模型无法使用基本物体进行模型搭建时,需要采用样条线编辑。每个不规则3D 物体都可以看作是由不规则2D 图形增加厚度形成,而不规则2D 图形可以看作是由不同样条线组合而成,利用不同样条线组合,挤出相应样条线,可形成不规则复合图形。除此之外,对齐阵列调整操作,用于批量处理规律分布的多个相同模型[8]。

除了相关操作上的技术难度,由于转辙机模型存在一定的结构特殊性,在模型建立与组合的过程中需要对不同的模型进行结构组合,最后进行视觉上的渲染工作。

转辙机建模的技术路线如图3 所示。

图3 转辙机3D 建模技术路线

以动静接点模型建立为例。动静接点的模型由3 部分组成:(1)几何体实现动接点圆柱体;(2)样条线编辑实现螺旋线;(3)复杂几何体实现基本框架。第1 动接点结构大小需要与接点缺口的结构大小契合,第2 动接点下方模型需要与表示杆的缺口吻合。整体的高度既要做到贴近现实,又要做到整个表示部分相对协调。

2.2 Unity 3D 场景控制及界面交互技术

实现交互界面的关键是摄像机的设置、脚本函数的编写及鼠标键盘的控制。

摄像机的操作是该部分的主要难点和关键点,对摄像机的基础设置是界面完成的重要基础。摄像机的初始位置控制界面进入的初始视角,确定整个界面不同坐标轴方向的灵敏度和移动速度,需要对不同视角进行一定的范围界定。

鼠标、键盘控制:确定鼠标基本位置,确定鼠标滚轮的缩放灵敏度。完成鼠标和摄像机操作需要设定更新函数,更新函数中,需要对每一帧操作,定义3 个主要脚本函数,分别是 cameraRotate,camera-Move 和 scaleChange,3 个函数分别实现旋转、移动和场景切换功能,其中,实现旋转和移动功能的2个函数的编写比较复杂。

(1)cameraRotate 函数:旋转函数执行流程如图4 所示。判断鼠标右键是否按下,获取x 轴、y 轴的旋转角度,处理获得的值并控制在一定范围内,最后给x、y 赋值。

(2)cameraMove 函数:移动函数执行流程如图5 所示。以鼠标中右键的状态作为判断依据,需要获取鼠标前后位置的更新值,最后移动摄像机。

图4 摄像机旋转函数执行流程

图5 摄像机移动函数执行流程

2.3 动画制作

对转辙机来说,动画表现转辙机的整个动作过程,包括解锁、转换、锁闭。在实现动画制作时,不同结构需要制作不同动画,最后进行动画拼接。

动画制作的关键在于平移动画制作及旋转动画制作。关键帧是控制和实现动画的重要工具[8-9],关键帧指的是动画展示的关键时间点,在动画前后插入关键帧和变化的关键位置点,两个关键帧之间自动填充相应平移或旋转动画。动画制作技术路线如图6 所示。

3 仿真实现

在实验室内,采用Window 8 作为运行环境,在Visual Studio 2017、3D MAX 和Unity 3D 开发环境下,基于面向对象程序设计方法、TCP/IP 通信技术,使用C#、C++语言编程,实现转辙机仿真操作平台。本文从3 个方面展示平台仿真结果。

图6 转辙机动画制作技术路线

3.1 ZYJ7 型、ZD6 型转辙机3D 模型

ZYJ7 型转辙机的整体结构(包含转辙机外壳、电动机、动静接点等),如图7 所示;外锁闭装置(包含锁闭杆),如图8 所示。ZD6 型转辙机的整体结构(包含转辙机外壳及内部基本结构),如图9所示。

图7 ZYJ7 型转辙机主机3D 模型

图8 ZYJ7 型外锁闭装置模型

图9 ZD6 型转辙机主机3D 模型

3.2 Unity 3D 场景展示

主要展示各子界面,包含俯瞰整个场景的地形轮廓图、转辙机结构图、转辙机视角图,以及可以实现场景漫游的场景仿真图。地形场景轮廓图展现了整个场景的大致形态,场景中包含的山体、轨道、地面等,如图10 所示。转辙机视角图展示了ZYJ7型转辙机主机3D 模型静态基本结构,如图11 所示。全局界面场景图展示了当用鼠标、键盘在场景中操作时用户看到的界面,如图12 所示。

图10 地形场景轮廓

图11 ZYJ7 型转辙机主机3D 模型静态基本结构

图12 全局界面场景

3.3 实时通信

初始状态下,2D 站场图中的道岔处在定位状态,观察3D 场景中转辙机从定位到反位的动作过程,最后保持在反位状态。转辙机处于定位状态,如图13所示;转辙机经转换,状态变至反位,红色圆圈部分位置发生了改变,如图14 所示。

4 结束语

图13 转辙机定位场景

图14 转辙机反位场景

本文设计并实现了转辙机操作平台中对转辙机内部结构仿真、场景漫游等多个功能,达到预期设计目的,满足教学实践需求。目前,该平台已在西南交通大学实验室投入使用,获得较好效果。此外,平台预留了设备接口,后期可以添加更多信号设备,也可以根据CAD 图纸自动生成站场,将工程设计与3D 场景结合,实现具有设计、预览、故障检修及培训功能的一体化平台。

猜你喜欢
鼠标界面动画
Clifford hits the big screen
不同截面类型钢管RPC界面粘结性能对比研究
微重力下两相控温型储液器内气液界面仿真分析
做个动画给你看
国企党委前置研究的“四个界面”
我的动画梦
鼠标折叠笔
动画总动员
45岁的鼠标
超能力鼠标