APP下载

基于CATIA和VIRTOOLS技术的虚拟机舱漫游研究

2008-04-24曾鲁山,曾凡明,刘金林

中国舰船研究 2008年5期
关键词:机舱漫游摄像机

1 引 言

虚拟现实是由计算机等专用设备构成虚拟环境,利用设备与环境交互,具有交互性和沉浸感,使用户产生身临其境的感觉并从虚拟环境中得到反馈[1,2]。复杂场景的虚拟漫游是虚拟现实的重要应用领域。机舱的规划和布置需要遵循很多原则,如满足生命力的要求、有利于人员站位和撤离、满足维修空间和通道宽度的要求等,同时又要满足“人性设计”这一发展趋势[3]。因此在机舱初步设计完成后,实物制造之前很有必要利用虚拟现实技术对机舱的三维模型进行虚拟漫游,各方面的专家通过身临其境的感觉可以提供反馈意见从而对机舱设计进行修改。并且可以为使用管理人员的训练提供帮助,节约经费,提高训练的实效性。

2 方法的提出

英国船商公司推出的最新轮机模拟器ERS 4000将虚拟现实技术引入轮机模拟器,实现了机舱的虚拟漫游。大连海事大学研制的DMS-2000型轮机仿真器运用虚拟现实三维建模双目视差分时式立体视觉显示和视觉现场感产生等技术实现了机舱虚拟现实仿真系统。目前国内机舱虚拟漫游的实现大都利用三维建模软件Multigen、3Dmax等建立机舱视景数据库,利用实时仿真软件Vega等实现交互操作[4]。机舱环境复杂,建立准确的三维机舱空间难度较大。

随着CAD技术的发展,机械设计领域逐步实现数字化设计,波音777即是利用CATIA进行全数字化设计的典型产品。CATIA是IBM公司和Dassault公司合作后推出的三维CAD/CAE/CAM设计软件。CATIA为造船工业提供了优秀的解决方案,包括专门的船体产品和船用设备、机械解决方案。船体设计解决方案己被应用于众多船舶制造企业,涉及所有类型船舶的零件设计、制造和装配。设计部门可以提供机舱的三维模型,这就为虚拟漫游所需要的视景数据库提供了素材。并且CATIA软件和VIRTOOLS同属达索公司开发的,两者之间存在公用的数据使用格式,因此为文件的传递创造了条件。CATIA软件本身带有虚拟漫游的功能,缺点是其虚拟漫游不能脱离软件的使用环境并且加入特定的虚拟人物后人机交互的开发难度较大。

本文提出利用VIRTOOLS软件开发虚拟机舱漫游,在VIRTOOLS中对虚拟人物交互控制较为简单,而且开发的虚拟机舱漫游具备了良好的沉浸感和空间意识。并且导出的文件较小,便于网络传输,方便客户使用。

3 开发流程

虚拟漫游系统的实现包括视景数据库的建立和漫游平台的设计[5,6]。本文利用CATIA提供的3D XML输出接口,三维模型经过处理可直接转为3D XML格式,并将模型文件导入到VIRTOOLS中。在VIRTOOLS中建立摄像机和灯光对环境进行渲染,充分营造真实机舱的氛围,添加虚拟人物,并对虚拟人物交互控制。虚拟漫游的开发实现后,就可以从VIRTOOLS中导出,从而脱离软件环境使用。虚拟漫游开发框架图如图1所示。

图1 基于VIRTOOLS的虚拟机舱漫游开发框架图

4 关键技术

4.1 三维模型导入VIRTOOLS

模型的建立是由具备强大建模能力的CATIA软件实现的,而CATIA软件建立的三维模型需要转化为被VIRTOOLS软件所支持的文件格式,如WRL、3D XML等,才能成功地以场景模式导入到VIRTOOLS中。机舱的电子样机模型需要进行一定的处理,因为虚拟漫游的场景不需要机器设备的内部结构,因此要将内部部件删除,否则在文件格式转换时所需的时间较长,而且最后导出的文件较大。部件的删除可以在CATIA中完成,也可以在VIRTOOLS中完成。本文是在CATIA中完成的,CATIA下的三维模型层次结构清晰,便于编辑,而且减少了软件之间数据格式转换所需要的时间。文件导入VIRTOOLS后数据会存在丢失的现象,需要在VIRTOOLS中进行材质处理、贴图等,这样就建立了视景数据库。

4.2 在VIRTOOLS中添加虚拟人物

虚拟人物具备一定的身体特征如身高、体重、胖瘦等。虚拟人物(角色)是虚拟漫游环境的重要组成部分,对于增强场景的真实感、沉浸感具有非常重要的作用[5]。

4.3 在VITOOLS中虚拟漫游的实现

VIRTOOLS能够对二维或三维模型实现各种操作,如大小变化、平移、旋转、缩放、颜色变化、光线变化、二维贴图等。复杂操作,如投影、行走、奔跑、后退等。各种控制操作充分利用了VIRTOOLS提供的强大交互功能,是通过直接调用行为模块库中的内置BB(Behavior Block)实现的。VIRTOOLS本身提供了500多个BB供调用,每个BB都是封装了的行为控制函数,并提供了行为输入、行为输出、参数输入、参数输出4个接口,因此可以在BBs资源库方便地调用BB,并利用BB对模型进行相应的控制。

1) 虚拟人物在虚拟环境中行走的实现

设置多个固定路径,人物在不同的固定路径上行走。在机舱地板上绘制几条不同的闭合曲线,通过character curve follow的漫游方法,虚拟人物就可以在曲线上行走,用户只要通过简单shift键切换,人物就可以在不同路径上跑动。

设置键盘控制,操纵虚拟人物实施自由漫游。在人物的animation中加入walk、run、walk back等基本动作,用相应的键盘方向键进行控制。在键盘的控制下人物就可以在机舱中行走。通过time setting的脚本文件来控制跑步的步幅、步频等。

2) 摄像机的控制

摄像机是三维视角点,对摄像机的控制很必要,最基本的摄像机追踪方式是和人物保持一定距离,将摄像机的目标锁定在虚拟人物person身上。另外,还运用了两种察看虚拟场景的方式,一是切换摄像头,在虚拟机舱中的左右两侧和上方各设置一个摄像头在漫游的过程中通过space键进行摄像头的切换,用户可以看到不同视角的虚拟机舱。还可以用鼠标对摄像机进行旋转,从而观察周围环境。图2是使用键盘切换摄像机和鼠标旋转摄像机的脚本。

3) 碰撞检测

现实中的人物是不能穿越墙壁等固定物体的。如果不加上碰撞检测功能,虚拟人物的身体就会穿越柴油机、齿轮箱等机舱设备,这是与现实相悖的,从而带来不真实的感觉。本例在level下将机舱中一切固定设备都设定了固定物体的属性,通过在虚拟人物的脚本中加入prevent collision,实现了碰撞检测的功能,从而人物就不可以再穿过机械设备等障碍物。

4) 漫游渲染

现实中的人在机舱行走时,脚和地板的碰撞会产生声音,而且地板和机舱壁等物体上会折射出人物的阴影。因此为了让虚拟漫游更加逼真,虚拟人物在机舱中行走时添加了2种不同的渲染包括声音渲染和阴影渲染。

本文实现了两种声音的渲染:虚拟人物在行走时脚步摩擦地板的声音;碰撞物体时产生的声音。

在机舱的上方添加2个灯光,这样虚拟人物在行走时机舱壁、地板、柴油机等物体上就会折射出虚拟人物的阴影,这样就实现了阴影的渲染,从而使虚拟场景更加逼真。图3是漫游渲染的脚本。

图2 镜头切换和鼠标旋转摄像机脚本

图3 漫游渲染脚本

4.4 虚拟漫游的发布

虚拟漫游完成后,有2种方法可以保存:一种是直接将整个虚拟漫游以CMO文件格式保存,这种情况保存的文件只有载入VIRTOOLS中才可以进行单机的虚拟漫游;一种是将整个虚拟漫游以VMO文件格式保存,同时也可以HTML文件格式保存,这种情况下用户只需要安装播放插件VIRTOOLS Web player,就可以进行单机的虚拟漫游,同时可以发布到网上,方便各客户端使用。

5 应用实例

本文构建了虚拟机舱,并在漫游框架平台下实现了虚拟机舱漫游。将CATIA软件建构的机舱三维模型经过处理后转化为3D XML格式的文件,然后导入到VIRTOOLS中,添加灯光等进行渲染。在VIRTOOLS中实现了对虚拟人物的交互操纵,开发了虚拟机舱的漫游(图4)。

图4 虚拟机舱漫游

6 结束语

本文针对机舱漫游技术的发展现状,充分利用虚拟现实技术,提出了一种新的方法,在利用CATIA软件建构虚拟机舱漫游场景的基础上,脱离CATIA软件的使用平台,在VIRTOOLS中对虚拟人物的操纵实现了对机舱三维模型的虚拟漫游。用户可以根据自己的要求、审美观等因素提出修改意见。对机舱设计部门而言可以广泛采纳美学家、人机心理学家、普通船员等非专业人士的意见从而对机舱的设计进行修改,充分适应“人性设计”这一发展趋势,有较强的现实意义。

参考文献:

[1] 雷良育.基于虚拟现实的汽车平顺性仿真试验系统及其关键技术研究[D].杭州.浙江大学,2005.

[2] 刘金林.虚拟设计技术在舰船动力装置设计中的应用研究[D].武汉.海军工程大学,2005.

[3] 陈国钧,曾凡明.现代舰船轮机工程[M].长沙:国防科技大学出版社,2001.

[4] 周俊峰,祝奎臣.船舶机舱虚拟环境中的虚拟人构建[J].上海海事大学学报,2007,28(4):42

[5] 李昌国,朱福全,谭良,等.基于3D和Virtools技术的虚拟实验开发方法研究[J].计算机工程与应用,2006,42(31):84-86,96.

[6] 叶绿.虚拟教育环境中虚拟人(角色)技术的研究与应用[D].杭州:浙江大学,2005.

猜你喜欢

机舱漫游摄像机
船舶机舱火灾的原因分析及预防
船舶机舱通风相关要求及常见关闭装置分析
船舶机舱常见消防隐患及防控
霹雳漫游堂
新安讯士Q6155-E PTZ摄像机
NASA漫游记
安讯士新AXIS M31网络摄像机
机舱污水井应急除油设计
如何消除和缓解“摄像机恐惧症”
边走边看:漫游海底 梦想成真