APP下载

基于仿真技术的数字电路3D虚拟实验室的设计

2021-05-12张丽娟

信息记录材料 2021年3期
关键词:数字电路控制电路鼠标

张丽娟

(甘肃省山丹培黎学校 甘肃 山丹 734100)

1 引言

与国外相比,我国的虚拟现实技术发展时间较晚,随着国内对虚拟现实技术的逐渐重视,加之市场对虚拟现实技术拥有巨大的潜在需求,国内对于虚拟现实技术的研发经费的投入越来越大,极大地推动了国内虚拟现实技术的发展。目前我国的虚拟仿真应用已经覆盖电子、机械等工业生产领域,此外在教育、医学、军事模拟、商业宣传、工业新产品研发等多个领域都有着极大的运用前景,而生动逼真的虚拟现实技术将来会与我们的日常生活息息相关[1]。本文利用3D数字电路建模技术建立数字电路实验环境,通过搭建实验室的芯片、试验箱、信号灯、导线、桌椅等硬件材料,并将其运用到数字3D中,开展用户交互功能编辑,然后基于数字电路的逻辑特点利用程序脚本编辑器对于虚拟实验室做独立开发,为此本文首先阐述了数字电路3D虚拟实验室的设计方案和建模,最后分析了虚拟实验室的功能实现技术。

2 数字电路3D虚拟实验室开发流程与建模

2.1 数字电路3D虚拟实验室开发流程

设计一套完整的数字电路3D虚拟实验室需要涉及实验室外观形象的设计、内部结构的设计、电路图原理设计以及逼真仿真现象模拟4个部分,其中具体的开发流程主要有:(1)采集原始素材;(2)3D Max建模;(3)将原始素材制作贴图并将贴图烘焙处理;(4)导出三维模型;(5)组装交互;(6)导出到应用软件平台。以上步骤从收集素材到导出模型至应用软件平台,每个步骤都需要设计者精心设计,其中最关键的是建模和组装交互2个模块。本次建模是在建立静态的实验室模型,组织交互是在Unity3D静态模型上通过自定义添加组间,来赋予实验室的逼真属性,将虚拟实验室生动形象地展示出来,在这个过程中需要挂在C#脚本,凸显视觉、人机以及元素之间的交互[2]。

本次虚拟实验室选取了10个经典模块组件,主要包括 :彩灯控制电路、交通灯工作状态控制电路、灯光控制逻辑电路、序号发生器、双向移位寄存器、叮咚门铃控制电路、水龙头控制电路、水泵控制电路、模11加法计算器、光控开关控制电路。具体的三维虚拟实验室框架设计如图1所示。

图1 三维虚拟实验室框架设计

2.2 数字电路3D虚拟实验室的模型构建

本文基于3DMax建模,使用的是几何建模与图像建模结合的混合建模方式,虚拟实验室静态模型的元素主要包括以下2个部分:一是实验环境构成,包括桌椅、墙壁、地板、书架等;二是实验操作部件,主要包括数码管、电源开关、发光二极管、水箱水泵、功能芯片、数电试验箱、继电器等。为了突出虚拟实验室的逼真效果,实验室中所用的仪器可以用建模生成,然后使用渲染器对物品做烘焙渲染和贴图,增加真实感。在建模过程中需要反复使用“合并原则”、模型复制技术、贴图烘焙、群组等功能,这样可有效提升建模效果,降低建模复杂程度[3]。

如图2所示,试验箱中的端口数量十分复杂多样,为了降低计算机中场景占用过多的服务器资源,所有端口都是用一个渲染器,这样便于在统一调整模型的外观效果。此外在模型设计中,可采用三维视角来塑造实验箱模型,将整个建模过程变得简单便捷。

图2 虚拟实验环境

本次数字电路实验运用的芯片非常多,有555定时器芯片、74LS04反相器芯片等,为了提升虚拟实验室的逼真感和沉浸式体验感,构建模型时,是从芯片内部结构找出实验操作关键部件以及部件之间的连接关系,进而提升必要的仿真特性。当构建好功能芯片、实验箱以及实验环境等基础后,开始连接导线,导线电路连接方式为:单机芯片的某两个端口连接一条立体弯曲的导线,并跨接在两个端口的中心之上。利用3DMax再建立高度差异化以及旋转角度差异化的导线,每条导线由若干个锚点确定位置,某个锚点确定导向方向,某个锚点确定导向位置,通过调整锚点就能够获得自定义的导线模型,如图3所示。

图3 电路导线模型

3 数字电路3D虚拟实验室的功能实现

本次基于数字电路的3D虚拟实验室的功能开发分组模块主要分为逻辑抽象、场景视角控制、碰撞响应功能以及界面跳转功能四个模块。

3.1 逻辑抽象功能的实现

本此设计的虚拟实验室包括10个综合模块,这10个综合实验模块是依据现实逻辑规则设计出满足要求的逻辑功能电路。以实验的水泵关闭开启控制电路举例,首先编写水泵关闭开启的控制脚本,将控制搅拌拖动到开关电路模块中,接通电源后,检测功能是否生效,然后连线脚本DrawLine,连线状态改为true,变量isDraw输出先决判断条件。在水泵开关控制脚本中,需要多个控制脚本来实现变量的相互控制和相互联系,比如水位传感器触发后,变量由低到高设置为X1、X2、X3、X4,而低于水面的检测元件分别为A、B、C,传感器给出高度水平为1;当水面高度高于传感器,传感器给出结果为0。按照数字电路原理,水泵的控制公式:

3.2 场景视角控制实现

从使用者的视角来控制整个实验室,此时可通过控制鼠标进入子实验室,右击鼠标控制整个实验室的旋转和遥控,点击鼠标中间可实现对整个实验模型的平移,滚动鼠标滚轮可对实验室做放大和缩小操作。以上对实验室模型做的放大缩小、平移、遥控等操作是基于控制实验室模型的上下限而执行的,为了实现该功能需要运用到相应的代码。Input,GetmoseButton(1)代表右键,可实现对模型的角度控制,(0)表示左键,(2)表示中键。例如:

If(Input,GetmoseButton(1)){//}检测到鼠标右击

X+=Input,GetAxis(“Mouse X”)*xSPeed*0.02f://设定新位置横坐标

Y-=Input,GetAxis(“Mouse Y”)*xSPeed*0.02f://设定新位置纵坐标

3.3 碰撞响应的实现

使用基于数字电路的3D实验室模型设计时,Unity3D工具提供的触发器碰撞方式是目前最有效的碰撞方式,为了实现碰撞,只需将带有碰撞触发传感器的脚本挂在需要碰撞的模型上。比如在传感器监测水位上升时,水体碰撞与传感器碰撞触发后,此时引发碰撞相应的水体速度发生变化,碰撞传感器相应控制器接收到信号后会将水泵做开关操作。

碰撞体触发的代码表达方式为:

(1)void on mouse down(){}//鼠标按下

(2)if(Input,GetmoseButton Down(0)){}// 鼠标左击

(3)void on TriggerEnter(Colloder colloisionlnfo){}//发生触碰

3.4 界面跳转的实现

虚拟实验室系统分为1个主界面和10个子系统界面,其中10个子系统实验室界面是独模块,这样便于理清思路,降低开发难度。当10个独立的子系统模块开发完成后,就要设计者解决10个子系统模块的界面跳转和链接问题,本次设计的实验室场景跳转分为:(1)重启后重新跳转到主界面,这是一种实现对实验场景复位的跳转命令。当用户处于主界面“star”场景下,点击sbr11“restar”,重新跳转到“star”主界面;(2)系统关闭界面。在主界面与子系统界面右下角设置退出按钮,点击退出可退回到当前实验;(3)点击链接跳转到其他界面。当实验在完成状态下,点击跳转,则已经进行的实验的状态发生变化,当跳转到新场景后,再复位时,原有的实验状态变量需要达到复位时保存的状态。

4 结语

本次设计的基于数字电路3D虚拟实验室是结合虚拟仿真软件的开发环境,有效运用3D虚拟现实技术,并探索了逻辑代数知识以及数字电路知识,为用户开发了一个沉浸式的生动逼真的3D数字虚拟实验室。从收集素材到导出模型至应用软件平台,每个步骤都需要设计者精心设计,才能将虚拟实验室生动形象展示出来,凸显视觉、人机以及元素之间的交互,后期通过对实验环境以及场景部件进行渲染和软件脚本制作,才实现了电路的还原仿真。

猜你喜欢

数字电路控制电路鼠标
Progress in Neural NLP: Modeling, Learning, and Reasoning
基于数字电路的定时器的设计
2017款本田雅阁车控制电路(二)
2014款雷克萨斯CT200h车控制电路(一)
案例教学在数字电路教学改革中的应用研究
2018款别克GL8车控制电路(二)
2016款迈腾B8L车控制电路(一)
数字电路实验的设计分析
数字电路功耗的分析及优化
45岁的鼠标