李晓峰, 薛小荣, 梁兰花
(1. 桂林电子科技大学信息与通信学院, 广西 桂林 541004; 2. 桂林电子科技大学 艺术与设计学院, 广西 桂林 541004)
矢量网络分析仪是“射频微波领域的万用表”,被称为仪器之王。它价格昂贵,操作要求严格,容易受损,学校很难大量配置,是微波实验教学的一个瓶颈[1-2]。虚拟实验可以降低成本,为解决微波实验教学问题提供一种解决途径。
Unity3D是目前比较主流的虚拟现实开发引擎。本文设计的矢量网络分析仪虚拟实验系统,以Unity3D为开发平台,以C#为编程语言,以3ds Max为建模工具。其他辅助工具有Adobe Photoshop、Premiere等。该虚拟实验系统形象直观、简便易用,能够打包生成Windows环境下的可执行文件并在PC上运行。学生能利用该系统了解矢量网络分析仪的结构、功能及性能,并进行常见电路与器件测试,开展相关系列的微波技术实验,加强学生对理论知识的理解和应用。该系统也可用于课堂教学演示,方便理论教学与实践的结合[3-5]。
系统界面设计要求简洁、明了; 导航清晰; 配色清新、具有科技感; 与元器件有关的操作采用图形用户界面,形象直观。
仪器三维模型外观的设计以及功能按键、接口、仪器部件的排布和用色,遵循了主流仪器设计的标准规范,尽可能与实际操作一致。同时又发挥多媒体技术的优势,对仪器的结构、功能、操作设置等进行演示说明,使用户可以对仪器进行多角度、多层次地观察了解,在功能简介模块和实验操作模块,用户都可以用鼠标对仪器三维模型进行缩放和旋转[6-7]。为提供良好的用户体验,还增加了按键名称及功能提示标签,即当鼠标移至仪器模型的按键、接口等部件时,会出现一个文本框,文本框内显示该按键、接口等部件的名称及功能介绍。
帮助功能主要体现在两个方面:(1)首页的指南教程是一个包含字幕和解说的视频文件,利用文字、语音、软件截图等多媒体信息符号合成,其作用是帮助用户快速了解系统的功能和使用方法; (2)在实验操作模块中设计了实验操作帮助,通过语音和文字提示对实验流程加以控制,对不规范操作进行警告、干预。
虚拟仪器的操作过程完全遵照实际仪器的操作流程。按下开机键后,仪器屏幕会显示一个开机模拟动画,展示操作界面; 开机后,可根据需要,通过按键,对仪器进行校准操作; 并通过按键对仪器各项参数进行设定(例如频率设置,可设置起始频率、终止频率和中心频率)。也可利用旋钮调节设定数值(右键点击旋钮数值增加,左键点击旋钮数值减少)[8-10]。与真实仪器有所不同的是:按下按键和调节旋钮时,会伴随提示音,利用多媒体的技术优势以增强用户体验。
虚拟实验设计主要体现在以下3方面:
(1) 三维小型器件库的设计。实验器件分类存放在器件库,供用户选择。器件库里的器件,部分采用标准件,还有一些是教师在科研和教学中自行设计和制作的实物模型的真实模拟,比如常规天线、常用的双端口器件、三端口器件和四端口器件等。
(2) 实验内容的设计。实验内容为教学中常见器件测试,设计了一系列实验,包括单端口系列、双端口系列和多端口系列器件测试。测试内容包括相位测试、频谱测试和匹配测试等。
(3) 实验过程的设计。实验过程的设计遵循矢量网络分析仪的实际操作流程。进入实验操作环节后,可根据语音、文字提示进行实验操作[11-13],包括开机、线缆接入、器件接入和数据观测等提示。
图1是矢量网络分析仪虚拟实验系统结构框架图。
图1 系统结构框架图
(1) 指南教程。该模块是一个视频,用户通过浏览该视频文件,可快速了解系统的结构、功能和使用方法。
(2) 功能介绍。主要实现以下功能:①通过阅读“矢量网络分析仪”的介绍性文字,初步了解仪器;②缩放和旋转仪器的三维模型,对仪器及按键进行观察和了解;③开机,通过按键对仪器进行校准操作和参数设定。
(3) 实验操作。作为系统的核心模块,主要实现虚拟实验操作。用户可从单端口、双端口和多端口三类器件库里选择具体器件及相关配件搭建电路进行测试操作。
系统实现过程进度如图2所示。
(1) 仪器和器件的建模。系统模型开发采用3dsMax建模工具,可精确设定模型的尺寸,使得模型更为逼真和准确。3dsMax软件有多样的建模方式,每个建模方式都有其特点和优势,可以通过不同“修改器”的命令组合来达到需要的效果。矢量网络分析仪模型的创建属于基础建模,可由基本几何体绘制、扩展几何体绘制以及两者的结合获得。由于前、后面板的模型需要创建的几何体样式较多,且几何体模型表面的凹凸程度不一,需要复杂多样的“修改器”命令叠加,所以将其与机身分开创建。整体仪器分为前、中、后3部分,分别建模,最后再将3部分整合。除了矢量网络分析仪,系统还创建了天线、连接线以及放大器、衰减器、功分器、耦合器等教学中常用的微波器件模型。
图2 系统实现过程进度图
(2) 材质贴图的制作。为保证仪器、端口及器件模型的真实性,材质和贴图起到关键作用。本系统分别制作了仪器按钮贴图、仪器面板贴图和器件贴图,制作了普通材质和金属材质,并进行UVW展开贴图。
(1) 虚拟仪器显示界面的实现。建模和贴图仅实现了仪器的外观,在使用仪器时,当按下按键,仪器屏幕应显示相应的内容,所以需要针对按键设计和制作对应的仪器屏幕内容,并且仪器屏幕内容要严格遵守仪器本身的逻辑。仪器屏幕内容从结构上包含3个部分,即顶部的选单栏,中间的显示栏和右侧的功能栏。显示栏是实验输出结果的显示,是真实实验操作的结果(包括实验设置操作的对话框显示); 右边的功能栏是层层嵌套的,每个大的功能下都会有2~3级的功能选单,功能繁多、层层递进,包含几百张界面图片和数据表,要求在采集素材时做好归类,形成严格的对应关系。图3为虚拟仪器测试的显示屏幕。
图3 虚拟仪器屏幕
(2) 系统操作界面的设计与实现。系统操作界面的设计和制作使用Photoshop软件来实现。先设计草图,确定功能和结构,再用Photoshop实现。其中系统功能简介和实验操作模块的界面分别如图4、图5所示。
图4 功能简介模块界面
图5 实验操作模块界面
(1) 指南教程的制作。系统最终版本确定后,通过录屏软件录制操作过程,然后导入AdobePremiere进行剪辑,并配以字幕、解说和背景音乐,然后渲染导出MP4文件。
(2) 播放控制。视频播放功能用的是AVProVideo插件,将导出的MP4文件导入Unity3D中使用,添加进度条,stop、play以及“退出”按钮,然后调用Unity中的按钮事件。
虚拟实验交互功能是用Unity3D实现的。将前期制作好的模型、处理好的图片导入项目里,做好分类,然后新建所需场景。系统交互包含以下功能:
(1) 旋转和缩放。旋转和缩放功能在系统的3个模块都可以使用。用户可以通过鼠标控制使其缩放和旋转来观察矢量网络分析仪的结构。模型的缩放要通过鼠标中键的滚动,控制相机与模型之间距离的变化实现; 模型的旋转是通过鼠标右键+移动来控制相机与模型的相对位置的变化来实现。
(2) 面板按键及部件名称提示标签。给每一个按键添加一个碰撞器,在OnGUI函数中定义文本框和矩形框。因为文字是在按键旁边显示的,所以用仪器界面作为文字背景不够简洁,影响阅读,因此设计矩形框作为文字背景。当鼠标指向按键时,通过Swich语句判断识别鼠标所指的按键碰撞器,然后在按键旁边显示矩形框和相应的说明文本。
(3) 仪器按键交互功能。仪器按键的功能涉及层层递进关系,所以给每一层的功能键设置一个类,类包括功能名称、要显示的图片、功能的层次、按键按下的次数,然后通过类的调用来实现功能的层层递进。
(4) 数字小键盘的输入和显示。通过OnGUI函数制作输入框,用来进行仪器的参数设置,例如关于频率可以设置起始频率、终止频率、中心频率、频率跨度等数值,通过4个文本框分别显示起始频率、终止频率、中心频率、频率跨度的数值。虚拟仪器的数字小键盘与电脑键盘都可以使用,数字小键盘通过调用电脑数字键盘输入的方式来实现数据的输入。
(5) 实验操作功能模块。进入实验操作后,每个类别的器件库有对应的不同规格的元器件。器件的每个端口位置分别设置一个碰撞器,当鼠标触发碰撞器时显示接口线。在开机和接好缆线的状态下再接入元件才显示接入成功,仪器屏幕显示接入元器件后的图片。给每个规格的元器件分别设置一个按钮事件,当点击该按钮时,执行其按钮事件。例如三端口器件接入的操作界面,如图6所示。
(6) 音效和语音提示。仪器按键和界面上的按钮分别有按键音效,进入实验操作也有相应的语音操作提示。实现方法是:在脚本定义音频数组,然后将导入到Unity3D的音频文件拖到相应的变量中。用按钮监听事件控制音频的播放。
图6 三端口器件接入
本文采用虚拟技术实现了以矢量网络分析仪为核心的微波测量虚拟实验。该系统可以帮助学生了解和掌握矢量网络分析仪的功能与用途,完成仪器的基本操作,实现常规实验的搭建与虚拟测试。学生用电脑方便地完成实验,降低了微波实验的仪器成本,提高了实验教学的效率。该系统的开发是虚拟技术和实验技术的结合,是对虚拟技术在教学应用的一个探索,也是对微波实验教学的一个扩充和支撑,具有一定的应用价值和推广意义。