以球阀工作原理模拟为例,模拟场景如图6所示。进入该模块可以直观看到半透明球阀模型内部结构,同时球阀管道中流过模拟水流。用手握住扳手,可将其旋转至限定角度,此时阀芯会随扳手转动将阀门关上,水流被堵在阀芯一侧。旋转扳手至初始角度,水流又可以顺利通过。实现过程:预先根据运作时各零件间的相对运动关系设置父子级关系,将扳手、阀柱、阀芯绑定在一起。为扳手模型添加盒状碰撞器(Box Collider)、交互行为(Interaction Behaviour)等脚本实现虚拟手抓取,添加铰链(Hinge Joint)脚本确定扳手旋转的轴向,设置旋转角度范围,调整旋转的阻力与角阻力,使虚拟手可以模拟现实情况对扳手进行转动。至此,完成球阀工作原理在动力学上的虚拟仿真。球阀在工作运行时,会有流体随着阀门的开闭通过或阻隔,传统实物教具难以直观实现这一环节的效果。在Unity3D平台,Obi Fluid这款插件可模拟出极为真实的流体效果,但考虑系统运行时的流畅性,选择使用Unity3D自带的发射器完成相关模拟。首先在球阀管道入口处添加一个粒子系统,调整其发射参数及形状参数使其沿管道方向直线发射制造流体效果,开启粒子系统的碰撞,将生存期损失值调整为1,即粒子发生碰撞后消亡。由于Unity3D的碰撞网格在Leap Motion的尺度下精度不高,将阀芯设置为碰撞对象给阀芯添加网格碰撞器,粒子在阀门打开时并不能通过阀芯。解决办法是,阀芯的碰撞器改为盒状碰撞器,将流体通过的那一面设置为很窄,不能通过的那一面可以盖过管道,并适当调整碰撞器的位置使粒子通过时不会接触到碰撞器,转动把手,阀芯旋转后碰撞器可将粒子挡住。这样,阀芯随扳手转动时,便能实现控制流体的通过,以较低的系统占用完成工作原理的模拟。相较于传统的使用实物模型进行原理展示与使用视频动画进行原理展示,本系统更加直观与具有交互性。