陈荣彬 陈丽丹 温晓东 刘蕴樟 张 哲
(华南理工大学广州学院 广州 510800)
虚拟现实(Virtual Reality,VR)[1]、增强现实(Augmented Reality,AR)[2]和混合现实(Mix Reality,MR)[3]技术近年受到各行业广泛关注及应用[4-5],三维模型的构建是上述系统开发的前提基础和沉浸感、逼真感体验的关键技术,之后将已建成的模型生成三维场景(虚拟世界),进而再进行人机交互系统实现[6]。常用的三维建模软件有 Maya[7]、3ds Max[8]、Solidworks[9]等,Unity3d 则是目前主流的虚拟现实系统开发软件[10],其中3ds Max软件所建三维模型以.fbx格式文件能方便导入Unity3d中。但3ds Max在建立一些复杂机械结构的设备模型时,使用不够便捷,不具备优势。而Solidworks和Maya软件所建模型无法直接导入到Unity3d软件使用。因此,本文在开发基于VR设备的电力虚拟实操系统过程中,通过比较Solidworks和3ds Max软件的建模优缺点、格式兼容性等,选用前者进行电力设备、辅材的零部件建模以及整体装配,采用后者进行渲染,格式转换后导入Unity3d软件中。
考虑到Maya软件主要优势在于三维动画制作,广泛用于视觉设计。而Solidworks和3ds Max则是用于机械设计、工业设计、工程可视化等的三维建模软件,Solidworks能实现自动绘制平面图、自动标注尺寸、平面图与三维模型全关联,能完成复杂曲面模型与复杂机械模型的设计及装配。3ds Max多用于游戏人物模型、电影后期加工以及室内设计等造型设计方面,可通过灯光、渲染等功能,给人以逼真的三维立体效果。Solidworks自带各种插件,其中包括可实现渲染的photoworks插件和Animator动画插件,但其效果不如3ds Max,尤其是制作复杂动画和质子系统时,有时无法实现,但进行复杂机械模型设计和较多零件装配方面优于3ds Max,它更加适合精准机械零件的设计和固定、装配。本文建立电气设备模型和虚拟场景时,协同两种软件优势,采用Solidworks进行模型设计与虚拟装配,后期在3ds Max中完成渲染,再导入Unity3d实现沉浸感、逼真感呈现,为虚拟现实系统开发打下基础。
基于VR设备的电力虚拟实操系统开发三维场景建模流程如图1所示。
本次三维模型的设计是以电力设计院提供的图纸、设备厂商的数据参数和现场实测数据作为基础,首先对变压器的机械结构进行分析,测量部分关键零件的基本尺寸,然后整理各个部件的数据,对不确定的部分零件,通过机械结构的推测,进行确定。
图1 场景建模流程图
在Solidworks的虚拟环境中建立变压器零件模型的基本思路是:首先,对变压器模型进行主要零件分解,并单独进行建模。然后,选取适当的基准面,并在基准面上进行零件平面草图的绘制,在这个过程中主要是利用基于尺寸约束和基于几何约束的参数化建模技术。接着,对草图进行拉伸、旋转、放样、切除、阵列等基本建模命令建立模型的基本形状。再是,利用螺纹、打孔、倒角、圆角等命令对模型进行细节上的完善。最后,利用Solidworks的渲染功能对模型颜色以及材质进行渲染,使模型更加逼真。在这个过程中,主要应用基于特征模型的参数化建模技术。本次研究建立的主要零部件的虚拟模型如表1所示。
表1 主要零部件三维模型表
Solidworks软件具有独立的虚拟装配模块,在此模块中,设计者可以根据零件之间的相互距离或者是关系,对零件进行虚拟装配组合。Solidworks在装配设计中主要有两种模式,一是自底向上的装配设计模式,二是自顶向下的装配设计模式。本次设计采用自顶向下的装配设计模式,即先整体后局部的设计手法。利用少数已有的较大零件模型作为主体建立起装配结构,然后从装配体周,以已有零件为基础,根据装配体的具体形状或者是具体功能要求,利用各零件之间的相互位置关系或者是机械关系进行设计,反过来,设计装配体。利用Solid⁃works装配模块中的配合命令对模型的各个零件进行配合,效果如图2所示。
图2 Solidworks装配模型
因本次建立的模型和场景最终需要导入到Unity3d软件中以备电力虚拟实操系统的开发,但Solidworks所建模型无法直接导入Unity3d,故先将Solidworks所建模型导入到3ds Max中,再以.fbx格式导入Unity3d。
通过.igs、.stl格式文件进行Solidworks与3ds Max之间的转换,选择Quick Weld选项,这种导入速度比Use Threshold快30倍,单击“OK”,实现文件的导入,导入时,要注意不能对零件的位置、角度进行任何修改。但此种方法只适用于导入单个零件,而不适用于导入整个装配体;而且用此方法导入无法对模型的颜色进行控制,模型的颜色会随着系统而改变。
另外,还可以利用3ds Max自带的Solidworks导入器(此功能仅限于2014版本以上),若文件过大,转化时间会过长,导入的模型能保持与Solidworks中的颜色一致,如果选择快速焊接,则可以固定模型在Solidworks中的装配关系。当整个装配体中的零件全部导入后,选择所有零件,选择“group”菜单中的group选项,使之成组。可将这个装配体进行整体移动和旋转。而装配体中的零件相互之间的位置,因为在Solidworks中已确定,导入到3ds Max中,零件之间的装配位置依旧保持不变,无须重新定位。
对装配体及其零件进行渲染时,首先选“group”菜单中的open选项,各零件就可分别渲染和制作动画。如果装配体的零件过多,会导致在渲染的时候速度很慢。这种情况下,可在SolidWorks编辑的时候,把一些看不到效果的零件进行轻化,以提高渲染速度。
电力设备模型建立好之后,将三维模型导入3ds Max。考虑到在Solidworks软件里面已经把整个装配体进行关系的固定,为了提高转化后在3ds Max软件内效果最佳,利用3ds Max自带的Solid⁃works导入器,以保证模型的质量,同时避免在3ds Max中进行装配的麻烦,提高工作效率。
Solidworks文件导入3ds Max时,虽然装配位置保持不变,但是在Solidworks中的装配关系却没办法在3ds Max系统中存在,即各个零件之间是可以任意移动或旋转。因此,需要在3ds Max中将装配体中的位置进行固定,此时,就得把相对固定的零件设置成组,以保证其位置不会随意改变。再以fbx格式导入Unity3d,图3和图4是10kV配电变压器台区在3ds Max软件中贴图渲染烘焙后导入Uni⁃ty3d软件下的效果。图5为协同SolidWorks和3ds⁃Max软件建模并在Unity3d中呈现的安装有跌落式熔断器的某墙角场景。
图3 从3ds Max导入Unity3d后的三维模型(正视角度)
图4 从3ds Max导入Unity3d后的三维模型(仰视角度)
从图3~图4可看出,所建三维电气设备模型和场景模型真实感很强,逼真程度很高。
采用Solidworks软件对复杂的机械结构进行设计和虚拟装配,再利用3ds Max的渲染、动画以及其特殊格式,可以充分利用和发挥Solidworks和3ds Max两个软件的各自优势,协同建模可提高设计模型的效率,减少大量繁琐的工作。