当前位置:首页 > 石油工程论文 - 图文
建立Array,主要是用来存取信息的,考评系统中的每一步操作都记录在Array中,包括操作是否正确的判断,操作步骤名称的显示,计算每一步分数以及最终考核总分,都要从图5-3中读取或是查找相应的信息。下面具体介绍实现过程。
5.2.3鼠标操作设备使用的实现
这一部分主要说明在考评系统中,我们要对指定的设备进行特定的操作,旨在判断操作的准确性,系统提供了鼠标触发左键点击事件,除了识别设备名称外,还实现了识别所选中的设备是否为需要接受操作的对象。基本实现脚本如图5-4所示。
图5-4 鼠标触发设备的流程图
这里涉及到了Array组(上文提到的数据表)中的查询测试,例如当使用者操作进行到第一步骤,就会出现提示信息显示使用者接下来要对那个对象进行怎样的操作,为了识别操作对象的准确性,当鼠标选中一个对象并用左键激该活动作时,将触发图中的Row Search等模块, 通过查找指定Array中的某一行,当查找到的内容符合条件,即与Array某行某列的值相等时,系统自动会认为此步操作正确。
如果操作正确完成,则会直接自动进入下一步操作,分数计入得分表中;否则,本步分数不计分,并显示错误处理界面,包括跳过和观看正确操作两种选择。
5.2.4 鼠标跟随设备的实现
在使用者使用考评系统进行操作的过程中,可能会借助一些工具,菜单选择中会有工具选择功能,选择相应的工具。为了让使用者感到真实的在使用所选工具,本系统实现了鼠标跟随设备的功能。具体实现过程如下:
首先,创建一个2D Frame和一个材质,分别命名为tools和tools_material,作为鼠标点击工具时小图片跟随鼠标的材质,需将“所需材质和纹理”文件夹中的工具小图片的名字重新命名为tools_diaoqia、tools_yeyaqian、并拖入到场景中,初始化隐藏。
24
其次就是设计设备跟随鼠标移动的脚本。我们用到了坐标屏幕的拾取,参照原点坐标来获取当前鼠标的位置,每一次鼠标变换位置时都重新计算一次。然后获取鼠标附近某一位置,我们取鼠标右侧下标来显示设备图片,当鼠标触发菜单选项中的工具设备时触发事件,根据预设,系统查找现实选定设备的图片信息,即我们视觉看到的鼠标右侧跟有一个设备。具体实现脚本流程图如图5-5所示。
图5-5 鼠标跟随设备流程图
5.2.5自由相机漫游的实现
我们在操作系统中设置了两种漫游方式,一种是操作漫游,随着系统的每一步骤的操作而一步步前进,镜头根据操作需要进行变换;另一种就是自由漫游,可以自由的漫游场景,这里我们使用的是自由相机,我们通过键盘控制相机的运动方向和运动模式,可以拉近拉远,或是移动、旋转来改变操作视角,既可以观看整个场景的概况,也可以近处细看某个物体,从而达到了场景的漫游的效果。
1.摄像机的创建
我们在新建板中单击创建摄像机按钮,创建一个摄像机,设置其初始值,然后为其创建一个脚本。
2.脚本实现的关键BB
我们使用自由相机实现场景漫游,主要是通过键盘信息来控制相机的行走与视角的转向。因此我们使用到Switch On Key 模块来响应键盘事件。根据模块本身的特性,我们可以根据需要增加输入输出控件条件。这里我们实现了八个动作,动作和键盘的映射关系如表5-1所示。
表5-1 键盘控制功能表
键盘输入名称 Up Down 实现功能 视角相机向前移动 视角相机向后移动 25
Left Right Page up 键盘输入名称 Page down Home End 视角相机向左移动 视角相机向右移动 视角相机向上移动 实现功能 视角相机向下移动 视角相机向左旋转 视角相机向右旋转 3.具体脚本的实现
除了使用Switch On Key 模块之外,我们还用到了八个Per Second、6个Translate和2个Rotate模块。Per Second与Translate连接实现的是移动的效果,而Per Second与Rotate连接实现的是旋转的效果。另外还用到了一个拾取坐标参数计算属性设置,完成后的效果如图5-6所示。
图5-6 自由相机的脚本实现
5.2.6鼠标识别的实现
本考评系统针对不能马上投入工作的新员工,但急需熟悉工作场地各项设施的情况,设置了鼠标识别功能,使得系统具有学习可观性。在系统操作过程中当鼠标移动到某个设备上,便会在鼠标处显示一个绿色的圆圈,同时在圆圈的右部显示该设备的名称。而当鼠标离开设备范围内时,绿色的圆圈和设备的名称便会
26
消失。只有鼠标选中设备或者从该设备上滑过时才会有相应的显示,这就是鼠标识别设备的过程。其脚本流程图如图5-7所示。
图5-7 鼠标识别的关键脚本实现
1.鼠标动作触发
本系统所使用的是鼠标滑动这一动作来触发设备拾取的功能。鼠标识别脚本流程图中的Mouse Waiter只有一个输出,即Move Received,它为当鼠标滑过相应物体时有效。Mouse Waiter的第一个参数输出Mouse Position连接的是2D Picking,它的设置是为了获取当前鼠标的位置。
2.设备的识别
2D Picking、Is In Group以及图像和名称的显示是物体识别过程用到的模块。当2D Picking点选物体后,便把点选的3D物体传送给了Is In Group,通过它判断是不是选择其相应的物体,如果是的话,激活其后边相应的显示信息,包括把名字传给Text Display使其显示物体的名字,同时也显示一个绿色的小圆圈。
3.圆圈提示及文字的显示
绿色小圆圈是在Text Display中设置其Text为O,文字的Size为30,Color为绿色。Op的属性设置为Addition,其作用是为字体的显示做一个偏移,目的是为了使显示的文字显示在小圆圈的右边。绿色小圆圈的Text Display的Offset的
参数输入为前面鼠标位置的参数输出,即最后一个Subtraction的输出。
5.2.7计算显示分数的实现
这部分主要是基于Array表来实现的,也是考评系统的一个关键部分。利用
27
共分享92篇相关文档