杨鲁
摘要:该文介绍了基于MAYA和Virtools技术的虚拟组装与维修学习平台的构建,运用MAYA创建三维模型、制作三维模拟动画,导出到Virtools中装配并进行交互控制。
关键词:MAYA;Virtools;建模技巧
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)28-0189-03
3D Modeling Based on MAYA and Applied in Virtools
YANG Lu
(Wuxi City College of Technology, Wuxi 214153, China)
Abstract: This article introduces Based on MAYA and Virtools technology, virtual assembly and maintenance learning platform, then use MAYA to create 3d model, 3d animation, export to the Virtools assembly and interactive control. technology.
Key words: MAYA; Virtools; Modeling Tips
1 前言
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统。它利用计算机生成一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸其中。虚拟环境是由计算机生成的、实时动态的三维立体逼真图像;更好地让用户沉浸入虚拟环境中进行交互控制。
当下,医疗、娱乐休闲、航空航天、工业仿真、建筑漫游、应急推演、文物复现等领域更多的使用虚拟现实技术。虚拟环境的构建也伴随着技术的迭代发展拥有更多的技术和软件来实现,主要的软件有VRML、XSI、3DsMax、MAYA等。对现有的这几款软件进行综合考量和对比,首先剔除XSI,主要是由于其对硬件以及团队合作的制作环境要求与院校能提供相距甚远。其次排除VRML,Virtual Reality Modeling Language是虚拟现实造型语言的简称,是一种基于Web,面向对象的三维造型语言。它要求用户群体自身具有较高的知识结构,还要求用户群体必须会运用Java程序和编程VRML交互动画等,实际应用操作可行性低,并且实现起来时间成本高。最后删除3DsMAX,是更多地考虑到MAYA软件超强的建模、容错能力,以及二款软件的发展前景和可扩展性。最终选取使用MAYA软件结合Virtools进行虚拟组装与维修学习平台开发;具体实施为运用MAYA软件创建三维虚拟环境、制作三维模拟动画;运用Virtools技术为载体将三维模型与场景转化为可用键鼠控制的360°浏览漫游系统。
2 Virtools与MAYA简介
2.1 Virtools简介
Virtools公司是法国一家拥有尖端技术的小型三维引擎或平台的公司,微软XBOX系统认可其所开发的三维引擎方案。其特点是方便易用应用领域广。Virtools是一款整合型软件,可以将常用的现有文件格式整合在一起,如三维模型、二维图形图像或者音效等。其具备的丰富互动行为模块,可以让没有程序基础的美术人员利用内置的行为模块快速制作出许多不同用途的产品运行于实时3D虚拟实境中。如虚拟试衣、次时代体感游戏、多媒体投放、建筑环游、智能电视、仿真与产品展示、教育实训等 。在输出环节中,Virtools软件不仅可以编译成单机运行的可执行文件,更可以输出成Web网络浏览的格式。如此开发者便可将作品输出成在互联网中浏览交互的增强型虚拟现实,或在线进行二次编辑与开发。
但是鉴于Virtools软件本身并不具备三维的模型建模和动画模块,因此在使用Virtools进行构建虚拟组装与维修学习平台时,需要第三方三维设计软件的配合。目前3DsMAX、MAYA、LightWave等软件都开发出导入Virtools软件的文件格式转换插件。
2.2 MAYA简介
Autodesk旗下的著名三维建模和动画软件,也是现在最为流行的顶级三维动画软件,在国内外绝大多数的视觉设计领域都在使用。MAYA可以大幅提高影视特效、游戏CG等领域设计、创作、开发的工作效率;同时多边形建模模块,通过新的运算法则提高了性能,多线程支持可以充分利用多核心处理器进行三维动画的烘培与渲染,此外在角色建立和动画方面也更具张力。MAYA软件被广泛应用于游戏开发、影片特效制作、栏目包装、游戏CG呈现和设计行业等领域,它的主要特点有:
1)功能丰富,体系完善:建模功能丰富而强大是选取MAYA构建虚拟组装与维修学习平台的重要原因;此外在动画方面与生俱来的优势,很多3DsMAX需要第三方插件完成,MAYA用户可以快速操作粒子系统、毛发生成、植物创建、衣料仿真等,体系相对完善。
2)交互友好,操作简便:相比其强大的功能,MAYA可以说是UI更加人性化,交互友好,操作简便、入门相对轻松的三维软件。
3)配合顺畅、高兼容性:最新的MAYA2016版本提供更多的接口技术和软件优化,数据交互得到极大改进,操作速度明显提高。多种格式文件的导入和导出快速地提高了兼容性。
3 MAYA模型创建
虚拟组装与维修学习平台的基础是三维模型的创建,模型的表现力直接影响虚拟平台的真实呈现度。在运用MAYA建模模块部分来进行模型创建时,要充分考虑到软硬件配置的限制和虚拟平台运行时的实时性,以及互联网带宽对于平台交互响应的制约。因此在创建模型过程中应普遍遵循游戏建模的相应法则:在保证视觉效果不失真的前提下,尽量采用最合理的布线来构建模型,保持模型面数控制在一定的数量内。MAYA建模功能的强大在这个时候就体现出来,同时参考游戏建模时的部分技巧,例如:使用标准化参数创建模型;用凹凸纹理代替复杂贴图;减少几何体的细分数;删除不可见的面;合并多边形中重合的点线;分离模型独立建模,以便交互和浏览在虚拟环境中流畅进行;使用网格中精简命令对模型面数进行优化等。区别于游戏建模的是,模型拥有相应的物理性质,不能相互穿越。
3.1 资料搜集整理分析
在使用MAYA构建虚拟组装平台时,前期需要搜集组装资料工作需要拆解多台电脑主机,将主机内部件进行归纳分析,分析出各部件的共性和个性,然后将所要做的模型进行模糊化处理,并采用流行的电源下置式设计,概括出计算机组装包含以下主要模块,如图1所示:
3.2 模型创建
将主要模块部分选择典型的部件进行数码拍摄或者扫描,形成正交、侧面、前面三视图。模型的创建基本采用三视图图像参考绘制。通过对主要模块的模型分析得出采用两种主要方法:多边形(Polygon)建模进行主体部分的创建、曲面(NURBS)建模进行弯曲弧度部分以及线材的建模。在建模时,可根据需要选择多种建模格式的相互转换。例如电源的建模就使用了多边形、细分曲面及NURBS建模等多种建模方法。其中像CPUFAN模型的创建,首先用多边形中平面多次挤出(Extrude)制作出散热器底座部分,用变形修改器下的非线性扩张(Flare)、晶格对生成的模型进行调节变形;接着创建散热器风扇底座,运用多边形中的圆柱体修改细分数,再利用倒角(Beve1)、挤出(Extrude)命令进行创建;创建散热器风扇,圆柱体进行默认参数修改并挤出(Extrude)二级形成扇叶,执行变形命令中的非线性扭曲(Twist)对扇叶进行扭曲操作;运用曲面建模中的放样(Loft)命令制作风扇线材和接口;最后加入修饰零件并运用对齐工具(Align tools)命令进行组合,对齐后使用Ctrl+G快捷键进行成组(Group)操作,至此完整的CPU散热器完成如图2所示。
3.3 材质与贴图
模型创建优化完成后就是赋予模型材质和纹理贴图。在虚拟组装学习平台中,涉及基础材质(Blinn、Lambert)的使用。通过调节公用材质属性以及镜面反射着色,可创建出金属、磨砂、亚光等材质。当然基础材质也可以使用特殊效果来模拟机箱风扇发光,通过调节透明度来形成透明或半透明材质模拟侧透机箱挡板。而且对于不同的部件应采取多种方案结合,灵活搭配。例如:主板、显卡、内存等电路基板采用(Lambert)材质,而对于各种散热片、散热条、螺丝等金属体则采用(Blinn)材质,展现出铝合金,铜管,锌合金的质感。贴图是覆盖于物体表面的二维图像,利用贴图可以在简化模型的复杂度基础上突出局部细节,并且可以创建反射、折射、凹凸,镂空等效果,且比基础材质更加精细和真实。例如,金手指的效果可以使用贴图来完美展现,模型则只需要一个面片就好,降低制作难度,极大地提高了执行效率。由此可见材质和贴图的灵活运用可以增加模型的质感,完善模型的造型,使构建出的虚拟组装与维修学习平台更接近现实环境。
4 Virtools中模型的运用
4.1 Virtools导入模型
首先检查MAYA中创建的模型各项细节,然后将模型用Virtools Export Plugins插件以NMO的格式导出。NMO是Virtools软件的默认格式,用于存储角色和场景以及物体等信息,其中包含了一个以上单元信息以及动画脚本。然后,将导出生成的NMO文件导入到Virtools软件中,添加进行交互的模块化脚本。软件强大之处在于可以保存并导出为多种项目类型:1)可编辑的工程文件CMO文件格式,但是只能导入Virtools中才可进行单机的交互操作。2)也可以通过将项目打包成VMO文件格式后在网络中传播,只要客户端安装有Virtools Web Player插件,就可进行交互操作。
3)还可以可以通过Virtools自带的程序开发包SDK,利用编程的方法将项目打包成EXE文件格式,可以在任一版本Windows系统中运行。
正是由于Virtools不是一款纯粹的三维软件,所以在导出时会出现不易识别等问题。具体原因在于导出时,模型的编译可能会出现三种情况:
1)导出的模型文件节点信息都能被Virtools所兼容,那么模型将完整的储存在文件中,为Virtools调用。
2)当模型部分节点信息不被Virtools支持,那么编译器将依据自身的编译算法,对相应节点信息进行转化,虽然格式和特征的本质发生部分变化,但是保留并满足大部分视觉等方面。3)当模型中出现Virtools根本识别不了的节点信息后,编译器罢工,此时模型的相关节点信息将出现忽略甚至丢失。所以在输出成可用的NMO文件格式时,需要将MAYA中制作导出的初级模型导入Virtools中进行检验,进行不断的修改及纠错,以及调试输出时的参数设定。
4.2 模型的控制与整合
在Virtools中,模型的控制是依靠软件内置行为模块(Building Block)实现的。Virtools中有500多个行为模块可供使用,能够对导入的三维模型进行各种控制;如大小变化、平移、旋转、贴图颜色等,甚至还可以进行一些复杂的操作。模型的控制目前有2种方法:一种是直接调用行为模块库中的内置Building Block模块,另外一种是运用用C++进行Building Block模块的重新编写。
5 结束语
伴随着科学的不断发展和技术迭代,虚拟现实技术将会得到广泛的应用与发展。本文介绍关于MAYA 模型的创建动画的制作及其在Virtools中的应用,对于学生掌握和理解《组装与维修》课程起到较好的效果,对于其他相关课程也有一定的启示和指导意义。
参考文献:
[1] 孙倩. 基于基于3DS MAX的三维建模及其在Virtools环境中的应用[J]. 中国科技信息, 2008(12).
[2] 孟庆武, 樊明, 神文龙. 基于Maya和Virtools的煤矿虚拟现实系统开发[J]. 山西焦煤科技, 2011(6).
[3] 陈浩, 张桂香, 张庆洪. 基于Virtools的机械装备虚拟拆卸系统研究[J].现代制造工程, 2015(1).