摘 要:本文主要介绍基于3D和Virtools技术的虚拟环境的开发方法。以塔式起重机为研究对象,描述建模,以及人机交互整个过程。
关键词:塔式起重机;虚拟现实; Virtools;3ds Max
Abstract: In this paper, introduces a new development approach of virtual environment based on 3D and Virtools technologies. using tower crane as the research object, describe all the Processes :constructs the 3D model and processes and interacts with computer.
Key words: tower crane; virtual reality; 3ds Max; Virtools;
中图分类号:TU61 文献标识码:A 引言 随着我国城市建设的发展,塔式起重机由于其臂长较大且可回转,结构轻巧,安装,拆卸和运输方便应用日益增加,产量和品种都在不断的增长,随之所带来的安全隐患也在增加,我国每年都发生很多起安全事故,特别是在拆卸、安装、操作过程中出现的事故占据了事故中的大多数,给人民生命财产带来了重大损失,是目前特种设备中问题最多的一个。起重机械应按照国务院特种设备监察条例进行安全性能检验,检验合格方可使用[1].国家建设部制定了若干有关塔式起重机的标准,涉及设计、制造、安装、使用、维修等各个环节要求,若相关人员在各环节都能严格遵守、执行相应标准,就能避免事故的发生。因此,加强培训工作是消除工程建设机械安全隐患的有效途径。
本文以塔式起重机为模型,应用虚拟现实技术,按照国家标准通过在计算机中建立三维模型、作业场景,模拟出真实的工作环境,制作成为一个人机互动的动画,来进行塔式起重机学员的培训。由于该培训过程是在计算机上展示的虚拟环境中完成,沉浸感强,学员仿佛置身于真实的环境中,在虚拟学习环境中反复实践技术要领,提高技术水平,并且安全、无风险,费用低。
虚拟现实(VR)是一种先进的人——计算机接口技术,它利用计算生成一种三维的、基于感知信息的模拟环境,并使用户“进入”到该环境中进行行为控制,从而实现用户与虚拟环境的交互。VR具有以下四个重要特征 ①多感知性。指除一般计算机所具有的视觉感知外,还有听觉感知、触觉感知、运动感知,甚至还包括味觉、嗅觉、感知等。理想的虚拟现实应该具有一切人所具有的感知功能。②存在感。指用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该达到使用户难辨真假的程度。③交互性。指用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度。④自主性。指虚拟环境中的物体依据现实世界物理运动定律动作的程度。因此,虚拟现实已经被广泛应用于军事模拟、视景仿真、虚拟漫游、飞机汽车制造、科学可视化等领域。
鉴于真实性,交互性和易实现的问题,我们在进行项目开发时,采用一种新的开发方法,即运用3DS MAX和Virtools技术开发虚拟现实。具体实现过程:先用3DS MAX构建3D虚拟场景、制作3D动画;再用Virtools进行数据处理,交互控制。
1 3D与Virtools技术的选用
选用 3ds Max 与 Virtools 技术开发塔式起重机,可以极大地提高虚拟环境的交互性和沉浸度,具有其它VR技术所无法比拟的独特优势。3ds Max 强大的建模功能与 Virtools 超过500组互动模块的配合运用能够做到无缝结合,利用Multiuser Server、AI Library 等相应模块可以简易地实现人与场景间交互或多人连线的交互设计,方便地进行人工智能效果的模拟,能够满足虚拟培训的需要。
3ds Max 与 Virtools 技术组合的开发过程简易,兼容多种媒体文件格式,与其它相关技术的通用性强等突出优点,便于团队合作开发进而提高开发效率,更有利于系统的及时更新与维护,有利于节省实验开发组人力、物力、财力等资源的投入。
2 3DS MAX 模型创建
三维模型是整个虚拟现实的基础,它的好坏直接影响了虚拟环境的可靠性和真实度。由于Virtools 没有建模功能,所以应用3DS MAX 来进行建模。在建模中应遵循一个原则:在能够保证视觉对象不失真的前提下,尽量采用最简单的模型。
2.1 模型生成
在使用3DS MAX 构建虚拟现实场景时,主 要 采 用 两 种 方 法:基 于 模 型(Mode1)和基于图像绘制(IBR)。在建立塔式起重机的模型时采用了基于模型建模,这种建模方式主要包括多边形(Polygon)建模、非均匀有理B 样条曲线(NURBS)建模、细分曲面(Subdivision Sur—face)建模等 [2-3],所建模型包括起重臂、平衡臂、吊钩、司机室和底座等部分,最后各部分组合起来的总装图:如图1所示。
图1 3ds Max中所建的塔机模型
2.2 材质与贴图,渲染
建立模型之后的工作就是给塔式起重机赋予材质和贴图。在虚拟三维空间中,材质是用于模拟表面的反射特性,基本材质使用3种颜色构成对象表面:环境光颜色、漫反射颜色、高光颜色。使用3种颜色及对高光区的控制,可以创建出大部分基本反射材质。这种材质相当简单,但能生成有效的渲染效果,同时基本材质同样可以模拟发光对象以及透明或半透明对象,把塔式起重机置于相应的建筑工作环境中:如图2所示。
图2 渲染后的塔机模型
3 模型在Virtools中的应用
3.1 模型导入到Virtools中
将塔式起重机3D模型导入Virtools中,在导入之前要进行格式相应的转换,首先将构建的塔式起重机模型以.nmo 的格式输出.nmo文件是Virtools 默认的用于存储角色和场景以及物体等信息的文件格式。在输出成可用的.nmo文件时,模型的属性和参数的设置如图3所示:
图3 Virtools中修改模型属性和参数的对话框
由于在3DS Max建模的过程中,没有设置自发光,在没有光源的情况下,塔式起重机呈现全黑的状态,因此要为3D世界中增加一个光源让塔式起重机正常显示,然后再重新进行贴图以及材质的处理。
3.2 模型的控制以及互动操作
通过Virtools中自带的内置行为模块来控制导入的塔式起重机模型,例如变化大小、变换颜色、平移、旋转、贴图等,同时进行一些复杂的操作。这里使用Virtools中自带的Building Block来完成塔式起重机的一些常规动作,例如:塔机起重臂的左右旋转。通过编写脚本模块使塔式起重机的起重臂旋转起来。首先为起重臂创建一个新的脚本,然后进行脚本的编写,采用Building Block中的程序模块,来完成起重臂的旋转,为了便于操作,可以添加简单的交互——让用户以及参与塔机培训的学员使用键盘来控制塔式起重机的旋转,通过Building Block面板中的控制模块来实现用键盘或者鼠标控制。如图4所示: