石油工程论文.doc_第1页
石油工程论文.doc_第2页
石油工程论文.doc_第3页
石油工程论文.doc_第4页
石油工程论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录第1章 概述11.1系统开发背景11.2系统开发的方法21.3系统开发的意义2第2章 系统开发工具32.1 3ds max建模工具32.2 virtools dev开发工具的介绍5第3章 油田起油管操作考评系统分析83.1需求性分析83.2设计性分析83.3系统功能模块图93.4程序流程图10第4章 三维场景和物体模型的建立124.1三维模型与贴图的限制124.3 模型的转换144.4 模型导入到virtools204.5 模型导入到virtools后黑的原因21第5章 考评系统的实现225.1菜单选项的实现225.2系统操作的实现235.3测试系统28结 论29参考文献30致 谢3134第1章 概述1.1系统开发背景1.1.1 虚拟现实技术虚拟现实,或虚拟实境(virtual reality,vr),也称为灵境技术或人工环境,是以沉浸性、交互性和构想性为基本特征的计算机高级人机界面。vr综合利用了计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。使用者不仅能够通过虚拟现实系统感受到在客观物理世界中所经历的“身临其境”的逼真性,而且能够突破空间、时间以及其他客观限制,感受到真实世界中无法亲身经历的体验1。vr技术具有超越现实的虚拟性。虚拟现实系统的核心设备仍然是计算机。它的一个主要功能是生成虚拟境界的图形,故此又称为图形工作站。目前在此领域应用最广泛的是sgi、sun等生产厂商生产的专用工作站,但近年来基于intel奔腾(代)代芯片的和图形加速卡的微机图形工作站性能价格比优异,有可能异军突起。图像显示设备是用于产生立体视觉效果的关键外设,目前常见的产品包括光阀眼镜、三维投影仪和头盔显示器等。其中高档的头盔显示器在屏蔽现实世界的同时,提供高分辨率、大视场角的虚拟场景,并带有立体声耳机,可以使人产生强烈的沉浸感2。其他外设主要用于实现与虚拟现实的交互功能,包括数据手套、三维鼠标、运动跟踪器、力反馈装置、语音识别与合成系统等等。虚拟现实技术的应用前景十分广阔,它始于军事和航空航天领域的需求,但近年来,虚拟现实技术的应用已大步走进工业、建筑设计、教育培训、文化娱乐等方面,它正在改变着我们的生活3。1.1.2 系统开发的需求在油田作业过程中使用到的油田自动化抽油设备包括:抽油机、油管、井口等,这些设备在长期的使用过程中,可能受到磨损、或是赃物堵塞等原因,需要进行定期拆卸、维修和清洗,然而操作危险性很大,一旦操作不当就可能会造成重大经济损失或人员伤亡。为了减少油田的经济损失,避免不必要的人员伤亡,所以需要开发小修作业仿真操作系统,这是一个虚拟训练和操作考评系统,使员工在虚拟的场景中有身临其境的感觉,通过人机交互的方式学习、训练操作技术,旨在减少操作过程中的危险性,提高员工的实际安全操作能力,进而提高油田安全生产的实践水平。整个系统包括设备的拆卸、维修,以及清洗几个部分,本文主要是针对拆卸过程中起油管这一关键操作,开发的油田起油管操作考评系统,是小修作业仿真操作系统中的一个子系统。1.2系统开发的方法 油田起油管操作考评系统是利用3ds max 和virtools三维交互开发工具共同开发的系统。在熟悉系统流程后,利用3ds max软件进行精细和精简建模,建立起油管操作考评系统的油管、吊环、吊卡、大钩、液压钳等模型,并建立操作场景。基于photoshop软件制作相应的工具、天空、地面等场景的贴图。这样就建立出了逼真的立体模型。利用3ds max的导出插件3ds max exporter for virtools 把制作好的3d模型导出,导入到virtools中,并在virtools中设置好场景。进一步结合现场场景需求设计流程,利用virtools为三维场景以物体进行驱动编程,建立脚本并加入相应的building blocks 完成相应的动作,实现操作系统,最终把设计好的操作系统导出为web应用程序。1.3系统开发的意义虚拟现实的仿真培训系统主要为油田常见的、易发生操作事故的环节而设计,能为生产操作过程提供一套交互的安全操作仿真平台,使安全操作的培训更加易于接受,既节省人力物力又效果明显,从而大大提高油田安全生产的管理水平和实践水平。通过该系统的应用,可以使受训人员既能进行知识学习又能进行技能训练,不仅降低了传统培训实际操作的危险,而且节省人力物力,也减少了不必要的损失,收到了良好的效果。同时还能使这些环节联系更加密切,使受训员工对于每个部分都深入了解,往往能学到现实当中无法接触的东西。既能为员工提供学习知识的机会,又能为他们提供提高技能的场所。第2章 系统开发工具2.1 3ds max建模工具2.1.1 3ds max简介3d studio max,常简称为3ds max或max,是discreet公司开发的(后被autodesk公司合并),基于pc系统的三维动画渲染和制作软件。其前身是基于dos操作系统的3d studio系列软件,最新版本是2010。在windows nt出现以前,工业级的cg制作被sgi图形工作站所垄断。3d studio max + windows nt组合的出现一下子降低了cg制作的门槛,首选开始运用在电脑游戏中的动画制作,后更进一步开始参与影视片的特效制作,例如x战警ii,最后的武士等4。在应用范围方面,广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学及工程可视化等领域。拥有强大功能的3ds max被广泛地应用于电视及娱乐业中,比如片头动画和视频游戏的制作,深深扎根于玩家心中的劳拉角色形象就是3ds max的杰作。在影视特效方面也有一定的应用。而在国内发展的相对比较成熟的建筑效果图和建筑动画制作中,3ds max的使用率更是占据了绝对的优势。根据不同行业的应用特点对3ds max的掌握程度也有不同的要求,建筑方面的应用相对来说要局限性大一些,它只要求单帧的渲染效果和环境效果,只涉及到比较简单的动画;片头动画和视频游戏应用中动画占的比例很大,特别是视频游戏对角色动画的要求要高一些;影视特效方面的应用则把3ds max的功能发挥到了极致5。最初的3d studio产品由yost group为dos平台制作,由autodesk发行。autodesk从第二版开始买下接下来两个版本的标志和内核开发。在3d studio release 4后,产品转到windows nt平台,名字改为“3d studio max”。此版本还是yost group制作,由从autodesk拆分的kinetix发行。稍后,产品名称改为“3ds max”,为了符合位于蒙特利尔的discreet公司的命名标准。之后discreet被autodesk收购,在第八版产品又重新打上autodesk的标志,名称又变为“3ds max” 6。2.1.2 3ds max的应用领域该软件应用领域非常广泛:1) 建筑可视化与虚拟现实(architectural visualization)在国内发展的相对比较成熟的建筑效果图和建筑动画制作中,3ds max的使用率占据了绝对的优势。根据不同行业的应用特点对3ds max的掌握程度也有不同的要求,建筑方面的应用相对来说要局限性大一些,它只要求单帧的渲染效果和环境效果,只涉及到比较简单的动画。2) 游戏制作(video game)主要客户有ea、epic、sega等,大量应用于游戏的场景、角色建模和游戏动画制作。深深扎根于玩家心中的劳拉角色形象就是3ds max的杰作。3)电视广告(tv commercial)3ds max在国内的广告制作领域也有一定的运用,尤其被大量使用在中等档次的电视广告片中。4)电视包装(tv packaging)拥有强大功能的3ds max被广泛地应用于电视包装制作领域。3ds max操作简单,反应迅速,拥有简单而高效的粒子流系统,拥有众多高质量的渲染器,在国内被电视包装行业的从业人员大量使用。5)电影、电视剧特效与脚本预览(movie effects &movie pre-visualization)随着3ds max功能的不断完善,不少电影制作公司也开始注意到它。例如在著名的后天、功夫等等影片中都有可以看到利用3ds max加工过的镜头。当然,3ds max要在电影领域大显身手显然还需要一定的时间。当然,3ds max为国内电视剧制作的特效镜头就数不胜数了。6)工业设计及教学辅助(industrial design and assisted teaching)由于3ds max在建模和渲染方面性能的大幅提升,有些公司也开始使用3ds max作为工业设计的辅助工具。例如油田的某些项目用3ds max来建立基本的模型。3ds max拥有完整而方便的动画工具,可以方便地制作各种演示动画,吸引学生的学习兴趣,提高教学成绩。例如机械设计、物理、化学、岩石矿物学等学科的教学都大量采用了3ds max制作的演示动画,有些公司的培训项目也大量的使用3ds max所制作的培训演示动画7。2.1.3 3ds max的特点3ds max系统拥有许多优良的特性,具体包括:1用户界面提供了强大的灵活性和工作能力;2多操作系统支持,系统在windows 9x 、windows xp上都可以运行;3造型命令和编辑修改命令,功能相当强大;4多线程渲染(rendering);5气象万千的材质编辑器(material editor);6方便控制和编辑动画顺序的对话框(track view);7支持核心构件插入技术(core component plug-in);8功能强大的编辑调整器堆栈;9heidi阴影显示技术,可以在实时阴影环境中工作;10有很多的第三方插件可供利用8。2.2 virtools dev开发工具的介绍2.2.1 virtools 简介virtools是属于法国达索公司所有的虚拟现实开发平台,它丰富的行为交互模块可以使非专业的程序开发人员快速地创建自己的三维数字产品,系统不仅提供了自带的渲染引擎,而且允许用户根据自己的需要进行自定义,另外,为了便于网络的应用,还有相应的网络播放器。virtools中已集成有400多个buildingblock模块(简称bb模块),通过bb模块的组合与定义,以及attribute属性等辅助工具,能够进行脚本的编制,可以满足一定程度上的开发需求。同时,系统拥有自己的脚本语言vsl,其语法和c+极其相似,便于习惯使用脚本的程序员进行开发。最重要的是,virtools的sdk(software development kit)开放了行为引擎和渲染引擎的接口,使用户可以编写新的行为模块或对已存在模块进行修改,以及增加参数类型,修改渲染引擎等,来达到开发的需求9。本次考评系统所使用的是virtools dev 4.0版本,virtools 4的开发架构体系支持多种3d文件格式。virtools提供的3d内容转换插件,支持主流的dcc(digital content creation,数字内容创建)软件格式(3ds max、maya、xsi、lightwave、collada),virtools还可以直接导入和输出3d xml(达索系统标准的工业文件格式),从而使real-time 3d 作品的技术制作变得更加方便和高效。2.2.2 virtools 4中的关键组件举例1.gui(graphical user interface,人机交互图形化用户界面),以可视化的编辑方式,流程图的思维模式,进行对象和脚本设计工作,有效的减短了作品的制作周期,virtools 4 开发平台的gui(人机交互图形化用户界面),包含下列内容:(1)3d layout(实时3d编辑器)用来显示realtime3d实时渲染环境的内容。 (2)图形工具条,用来进行作品中3d objects(3d对象)、lights(灯光)、cameras(摄像机)和curves(曲线)的导航、创建、编辑、选择和操作。 (3)新建和编辑lights(灯光)、cameras(摄像机)、materials(材质)、 textures(纹理贴图)、grids (栅格)和paths(路径)。(4)在一个虚拟环境中,进行3d entities (3d实体)的translation(位移), rotation(旋转),scale (缩放)操作及作品导航。 (5)behaviors交互脚本以鼠标拖放形式,赋予2d和3d对象。(6)behaviors交互脚本完成一定的功能后,可以打包或者合并的方式,保存起来,供我们重复使用。(7)图解式的building blocks脚本编辑模式,有助于我们便捷有效地创建互动内容作品。(8)script debugger(脚本调试器)可以用来对应用程序进行优化。(9)entity setup tools(实体设置工具) 用来对任一对象及其关联脚本的参数编辑。(10)attribute manager(属性管理器)用来快速地设置和修改多个对象属性数值。(11)action manager(操作管理器)用来编写常用的一些函数,以快捷键的方式,来执行一些预定义的操作或者创建任务。(12)hierarchy manager(层级关系管理器) 以树形结构的方式来显示所有对象之间的父子关系。2.behavior engine脚本引擎用来运行互动应用程序,可以运行内置或者自定义的behaviors脚本。virtools 4基本的互动脚本涉及以下的类别:cameras(摄像机)、characters(角色)、collisions(碰撞)、controllers(控制器)、 grids(栅格)、 interface(界面)、 lights(灯光)、 logics(逻辑)、materials- textures(材质和纹理)、 mesh modifications(模型结构的修改)、 narratives(作品故事相关)、 optimizations(优化)、 particles(粒子)、sounds(声音)、 shaders(着色器)、visuals(视觉特效)、 web(网页)、world environments(虚拟环境)。利用virtoolssdk的behavior pack脚本源代码文件包或者第三方脚本,我们可以对behavior library 脚本库进行功能扩充。3.render engine 渲染引擎以实时渲染的方式来显示图形图像,它包含有如下的功能:(1)支持国际产业标准:directx 和opengl。(2)支持可编程vertex顶点和pixel像素的shaders着色技术 (dx9.c,opengl 2.0,hlsl,cgfx,shader model 3)。(3)支持3d模型对象和动作(通过3ds max,maya,xsi,lightwave和collada插件导出)。(4)提供与render engine渲染引擎相关的源代码。4.virtools scripting language脚本语言以代码的方式,进行一部分的编程开发,优化脚本,提高效能,并可以在virtools 4 的schematic editor图形脚本编辑器中,提供脚本关键字智能颜色显示(intelligent coloring system)、自动上下文区分提示(context-sensitive completion)及函数参数显示(function arguments display)功能,可以进行相应的code代码编写与运行,提高脚本的执行效率,完成部分sdk的功能。 除了用于脚本互动部分的撰写与运行,vsl还可以用于创作模式下的操作功能的扩展,提升virtools本身开发环境的制作效能。vsl 提供了完整的debug调试功能,支持脚本运行的breakpoint中断点,变量和数值编辑的监测,及步进脚本的debug调试(支持调试的step into/ out模式)8。5.sdk (software development kit,软件开发工具包)virtools的sdk是一套软件开发工具(包含有libraries库文件,dlls文件, header头文件),提供了virtools软件的所有底层函数,用来创建自定义的脚本和应用程序,以及对virtools本身的功能进行扩充。开发者可以使用它进行下述的应用程序的工作:(1)利用virtools 引擎,制作自定义的可执行应用程序。(2)对virtools 引擎进行功能扩充,比如behaviors互动脚本,媒体文件的导入插件,manager管理器,render engines画面实时渲染显示插件,rasterizer图像光栅和其它的功能插件(指定的parameter types参数类型)等等。2.2.3 virtools的前途与发展 virtools制作具有沉浸感的虚拟环境,它对参与者生成诸如视觉、听觉、触觉、味觉等各种感官信息,给参与者一种身临其境的感觉。因此是一种新发展的、具有新含义的一种人机交互系统。 目前全世界有超过270所大学使用virtools ,它已经获得许多媒体技术学系学生的肯定和支持 。 virtools主要经由一个设计完善的图形使用者界面,使用模块化的行为模块撰写互动行为元素的脚本语言。这使得使用者能够快速地熟悉各种功能,包括从简单的变形到力学功能等。 virtools可以制作出许多不同用途的3d产品,如网际网络、计算机游戏、多媒体、建筑设计、交互式电视、教育训练、仿真与产品展示等 。 许多大型游戏制作公司,例如ea和sony entertainment,都使用virtools来快速地制作游戏产品的雏形。而且还有很多游戏是从头到尾都用virtools进行开发的。中国大陆的virtools的应用刚刚起步,但是前景十分看好,水晶宫和奇士等公司已经开始应用。第3章 油田起油管操作考评系统分析3.1需求性分析基于虚拟现实技术平台设计的这套起油管操作考评系统,是以真实场景的比例为基础的一套演练和考核系统。原因在于大型的油田单位不能给员工提供大量的实际操作练习机会,因为这样不仅仅会消耗员工大量的时间,在操作过程中也存在很大的危险性,消耗大量的人力、物力和财力。这就凸显了我们制作的这套操作演练考评系统的重要性。由于此项操作系统主要是以油田员工为主要使用者,所以对于使用者而言,可能会对网页开启和加载的时间以及画面的流畅度较为重视,因此在对3ds max所建立的模型的精细程度进行取舍时,尽量使场景内所有对象的总面数保持在100000以内,对于不必要的面数进行删减,但同时也要控制好场景内物体的真实程度。同时还希望将系统的图片和声音文件加以压缩,以节省读取画面的时间,并在贴图的画质上做适合的取舍,让使用者可以有身处真实场景的感觉。另外,在使用本操作系统的时候,考虑到使用者可能是未使用过设备的新员工。因此,我们在操作过程中加入了设备拾取的功能,以文字信息的形式提示各个设备的名称,并提示各个步骤的正确操作,使员工尽快熟悉环境,迅速地投入到实际工作中。 我们利用虚拟现实技术的特性,使得员工有身临其境的真实感,使安全操作的培训更加生动、逼真、易于接受,达到寓教于乐的效果,从而大大提高油田安全生产的效率与水平。3.2设计性分析油田起油管操作考评系统(简称考评系统)既可以对操作过程进行演练,又可以对员工的操作技能进行综合考核,所以对设计性分析的要求很高。我们首先分析系统的需求与流程,使用建模工具对场景中涉及到的物体进行一一建模,为我们实现系统做好“物质”准备,再通过设计交互动作与动画等等,最终在virtools中设计程序流程,实现考评系统。所以从设计的角度来讲,起油管操作考评系统包括两个部分:三维场景的建立和对三维场景及物体的驱动编程。整个系统设计流程如下:一、三维场景的建立1、运用三维场景建模工具3ds max建立油田起油管操作场景的三维模型,包括建立抽油机、作业机、油管、吊卡、液压钳、大钩等几何模型。2、将各个几何模型组合成为三维场景。3、三维场景及物体的导出。二、三维场景的驱动1、打开virtools工具,导入所有模型和场景,调整添加渲染控件等,为接下来的渲染、交互设计工作做必要准备。2、为操作界面添加菜单功能,可以自由选择操作视角、操作工具、以及背景音乐控制等,我们只需用二维帧来实现。3、通过分析动作,把整个操作过程分解,分步分模块设置脚本动作等。(1)首先引入主场景,提示操作开始,并将操作场景拉近,开始操作,此时每一步操作有相应的文字提示信息。(2)班长给出手势信号,提起大钩,带动吊环上升一定高度,以便吊起油管。(3)将升起适当高度的吊环吊住吊卡,提起大钩带动一端油管提升到地平面部分。(4)使用吊卡工具卡住下方的第二根油管,并将吊卡牢牢卡好。(5)使用液压钳工具,卡住两油管相接处的螺母,安装完毕启动液压钳开关。卸开螺丝连接部分,收起液压钳。(6)由班长发出完毕命令,并示意操作员提起大钩。(7)带动取下油管将提起的油管可动的一端放在一侧的滑轮上,放下油管,会自动滑动到安放油管的架子上。(8)每一步操作都会计算分数,对于分数的处理是在每一步操作中同时处理的。(9)操作过程中应该含有对错误处理的提示,以及正确操作的演示过程。(10)另外为了增强场景的交互真实性,我们还设置了自由行走的功能,可以更具键盘的操作,来自己行走于整个场景,包括前后、左右以及上下、旋转等等。4、系统设计结束后,使用virtools中的play功能测试系统的操作,在演示及手动操作的过程中,对系统进一步完善,达到理想的效果。5、测试系统可以正确流畅使用后,以.com 和.html的文件格式导出,完成整个操作系统的制作。3.3系统功能模块图油田起油管操作考评系统具有可交互操作功能,为用户提供了一个可实际操作的环境。为了实现上述操作,我们从功能上将其分解为两大类功能:菜单选择和操作实现。详细的系统功能模块图如图3-1所示。菜单栏中包括了位置选择、工具选择、背景音乐和退出系统四大部分,其中位置我们使用了自由视角和操作视角两种;考评系统重点用到了吊卡和液压钳等工具。在系统操作实现部分,我们分为鼠标触发事件,设备跟随、相机的移动,设备识别以及操作计分等操作步骤。图3-1 考评系统功能模块图3.4程序流程图系统开始运行后,会提示操作考评已经开始,请认真操作。系统主要为了方便员工尽快熟悉操作工具以及起油管正确操作步骤,在每一步的操作进程中,都会有文字信息提示。为了更具有交互性,我们提供了错误操作时的两种选择,跳过该步操作或者是观看系统该步操作的正确操作过程的演示。系统秉着准确、可交互的原则来实现,操作程序流程图3-2所示。 图3-2 考评系统程序流程图第4章 三维场景和物体模型的建立4.1三维模型与贴图的限制使用3ds max软件制作出场景所需物体的三维模型,采用适当格式的贴图给设备模型附加贴图后,导入到virtools中进行交互操作的设计,以下是virtools对于模型的限制:一、模型必须是“editable mesh”形态的3d模型才能导入到virtools中去。可供输出的3d模型资料如下:(1)基本模型资料(2)贴图坐标的设定(3)smoothing groups的关系设定(4)hierarchy从属关系的设定(5)show/hide flag显示隐藏的设定(6)如果wrapping settings的输出不正确,可以利用virtools的行为模块“set wrap mode”来改善词问题(7)vertex color二、贴图,贴图的来源是亲自到现场将有关的设备外观用数码相机拍下来,力求精细,最后利用photoshop对图片做适当修改。virtools可以接受的贴图尺寸的长与宽最好使用2次方像素(如2、4、8、16、32、64、128、256pixels,也就是说1616、1632、3264或64128)尽量减低贴图大小,并且使用16bit或24bit的图形格式(不可以使用8bit或32bit的图形格式),可供输出的材质资料如下:(1)diffuse的贴图,贴图的色彩将会因为这个材质的颜色而改变,除非颜色值为(255,255,255)的白色。 (2)u,v轴向的重复贴图或镜射贴图(镜射贴图视显卡的效能而定)。(3) 自我发光的物体可以利用virtools里的emissive值来调整。(4) ambient color (5) specular color (6) 双面材质的设定(7) 透明度的设定4.2三维模型的制作在考评系统中,三维物体及场景的建立是“物质”基础。本系统主要需要建立抽油机、作业机、井口,油管、各种工具以及天空和地面等三维模型。本章只以抽油管和吊卡为例简单介绍三维模型的构建过程。下面介绍三维模型建立的注意事项、模型制作、模型导入以及导入后的问题等几个内容。4.2.1 模型制作的注意事项为了降低模型的面数,制作模型的过程中应尽量避免使用boolean与3ds max里提供的windows物件,而改用贴图的方式让模型外观看起来更真实。此外,将看不到的面删除,面与面重叠时也应将重叠的面删除5。4.2.2部分三维模型的建立一、抽油管抽油管是由三部分组成的,中间的油管部分以及两头的螺丝及螺母部分,如图4-1所示。图 4-1 左侧为螺丝部分,右侧为螺母部分,中间由油管连接创建一个管状体有很多方法,包括圆环的挤出、两个圆柱体的布尔操作,但是最简单便捷的就是直接使用3d max提供的圆环管状体的创建工具,本系统使用的就是这种方法。创建好管状体,调整其大小半径,包括螺母部分,需要注意的是,螺母部分的圆环半径要和油管外半径相接。油管的螺丝接头采用的是uv贴图处理,选中位图类型的螺丝贴图,将其指定给选中螺丝部分;组合后即为我们所需要的抽油管模型,在编辑器中为其选择一个材质球,调整环境光和漫反射中的rgb、色调、饱和度和亮度值为适当,将其材质指定给油管组,存储后导入到virtools中待使用。二、吊卡的组建过程在顶视图上制作一个半径1为85,半径2为65,高度为150,边数为12的管状体,启动切片启用,设置为270,用旋转工具将其旋转到最佳位置,同理制作出另外两个管柱体,半径1分别是65和50,半径2分别是50和40,高度为150,边数同为12;另制作一个圆柱体,半径为5,高度为180,边数为12,并复制一个;接着在前视图中制作一个长为150,宽为120,高为30的长方体,和一个半径为50,圆角为90度,高度为50的六棱柱以及一个长为43,宽为35,高为100的长方体,并先将其与较小的长方体进行布尔操作,后与六棱柱进行布尔操作,然后复制一个,最后将所有建好的模型命名diaoka01至diaoka07,并成组,组名为diaoka,其材质命名为diaokahuise。图 4-2 吊卡模型图4.3 模型的转换 4.3.1 3ds max模型转换注意事项可从3ds max输出转入到virtools中的所有数据如下所示:(1)模型数据:已经转为editable mesh的3d模型。可供输出的3d模型数据如下:基本模型数据。贴图轴的设定。smoothing groups的设定。hierarchy从属关系设定。show/hide flag 显示隐藏的设定。如果wrapping settings的输出不正确,可以利用virtools的行为模块set wrap mode 改善此问题。vertex color。(2)材质资料:3ds max的标准材质数据以及multi/sub-object(同一对象、复合材质数据)。可供输出的材质数据如下:diffuse的贴图。diffuse:贴图的色彩将会因为这个材质颜色而改变,除非颜色值为(255,255,255)的白色。u、v轴向的重复或镜射贴图(tiling and mirroring on u and v):镜射贴图将视显示卡的效能而定。自我发光体可利用virtools里的emissive值来调整(virtools emissive值可以在材质的设定页material setup中找到)。ambient color。specular color。双面材质设定(2-sided flag)。透明色设定(transparency)。(3)灯光:所有3ds max的标准灯光,如freespot, target spot, omni, target direct, free direct等。可供输出的灯光数据如下:开/关设定。灯光颜色。照射范围(设定灯光范围的attenuation/far/end等数据)。affect specular的设定。特殊灯光参数设定。聚光灯:聚光灯的fall off值的设定。平行光:3ds max可以使用圆柱线条来设定平行光的范围,但在virtools里并无法设定平行光的范围,一旦有平行光将会完全照射整个场景。(4)摄影机:所有3ds max设定好的摄影机,如target或free的摄影机。可供输出的摄影机数据如下:3ds max摄影机的参数只有fov可供输出。(5)dummy:接受3ds max的dummy虚拟对象。(6)动态数据:tcb 格式、linear或bezier的动态数据。可供输出的动画参数数据如下:只有在3ds max里的tcb、linear或bezier的位移、旋转、大小等动态数据可以输出至virtools。为了将正确地输出动态数据,母对象(群组最高层级的对象)的位移、旋转、大小三种动态数据的起始点与终点一定要设定在时间轴的范围里。virtools的每一段动画的旋转范围并不允许有超过360度的数据,因此在3ds max里若有超过这个范围的旋转动画请予以切割成可允许的旋转范围里。(7)曲线数据:在3ds max里做制作的shape将会转成virtools的curve (virtools的专有名称 )。可供输出的曲线数据如下:在3ds max所制作的曲线(spline)将会在输出成virtools档案时,只有点的数据会被保留,并且转为virtools的curve(virtools的专有名词)。(8)群组资料:在3ds max所定义的群组数据(groups)。可供输出的群组数据如下:在场景输出(scene export)模式下,使用dummy来当整个对象群组的母对象(parent object)时,这个dummy将会依照群组的从属关系转成virtools里的frame(virtools的专有名词)。为了能够正确地输出群组数据,必须在3ds max里将群组(group)打开,成为开放式群组(open group)。不过在动画输出(animation export)模式,将不支持dummy的输出,所以请避免使用群组。(9)3ds max模型reset xform部分:为了正确而完整的输出所有3ds max所制作的模型到virtools里,在设定从属关系和制作动画制作之前必须将所有的模型作reset xform。设定方式如下:制作所需的3d对象。将物件reset xform:(a):选择所有对象(select all objects)。(b): 选择3ds max里最右边的utility菜单中的reset xform功能。(c): 执行reset selected。(d): 确认3d对象里,面的方向(normal)是正确的。(e): 先将3ds max的档案储存起来,以供之后使用。最后再进行从属关系的设定或动态的制作。4.3.2 3ds max模型的导出virtools4.0formax导出插件主界面图如图4-3所示。图4-3 导出插件主界面(1)基本选项导出插件基本选项如图4-4所示。图4-4 导出插件基本选项exportasobjects:输出为3d物体。exportasacharacter:输出为一个角色。exportanimationonly:仅输出动画。exportlevel(produce.cmo):输出为level,在一般情况下这个选项是用来直接将max场景导出为cmo文件的。(这里需注意的是,输出插件3种输出格式nmo、cmo、vmo,当选择这 个选项导出为nmo后,在virtools导入时会做为一个没有名字的scene导入。)charactername:角色的名字,当导出角色时可用。animatiionname:动画的名字,当导出动画色可用。startingcamera:当导出为level可设置场景初始相机。(2)一般选项导出插件一般选项如图4-5所示。图4-5 导出插件一般选项exportselectiongroupsasplaces:将max中的组(groups)导出为places.rescalescenesunit:重设场景单位,将场景导入vt时重设场景单位为米。hidehelperobjects:隐藏辅助物体,max中的辅助物体在导入virtools后默认为隐藏状态。filecompressionlevel:导出文件的压缩级别,从0到9压缩级别越高文件越小。detectandshareidentical:资源共享,这里可以设置共享动画、mesh、材质和贴图。(这个功能也很好用,以前在max中只有用instance方式复制的关联物体才可以共享mesh,现在只要两个物体的mesh数据是一样的(比如顶点数,顶点位置),只要勾选这里的mesh选项,导出后两个物体也会共享一个mesh。其它的动画,材质和贴图也是一样的,只在数据一样就会在导出时共享一个11。(3)3d物体选项导出插件物体选项图如图4-6所示。图4-6 导出插件物体选项deactivatemeshchannels:冻结mesh通道.在导出virtools后,使物体的mesh通道默认为冻结状态。splitmeshbychannel:按材质通道分割mesh。(只有在多维材(multi/sub-object)中有超过一个合成材质(compsite)时才起作用。exportbipedandbonesgeometry:导出biped和bones(骨骼)为3d物体。exportlevelofdetail:导出multiplemesh类型的lod物体。(这里的lod物体设置方法为,在主物体同名称的物体的名称后加上lod1,lod2lod9的后缀,在导出virtools后,主物体将被加上一个multiiplemesh类型的lod属性,有后缀的物体将导出为主物体的多个mesh。exportsplinesasdummies:导出曲线为3dframe。(4) 材质贴图选项导出插件贴图材质选项图如图4-7所示。图4-7 导出插件材质贴图选项exportbothmaterialsofshellmtl:导出shell材质中的两个子材质,不勾选时只导出第一个子材质。exportalphamap(opacity):导出材质opacity通道中的贴图为alpha通道,如果opacity通道上没有贴图,会复制diffuse通道的贴图会alpha通道。storeonlytexturefilenames:只导出贴图的名称到nmo中,以别的方式导出时贴图会包含在virtools中,如果你看见空的贴图,请查找你的virtools资源厍设置贴图的路径。resizetextures:重设贴图的大小为2的平方数(square勾选后强制贴图的长宽一样),这里有三种方式。1nearestpowerof2:设为最接近的2的平方数。2lowerpowerof2:设为低的2的平方数。3highterpowerof2:设为高的2的平方数。readchannelssetingfromfile:从text文件中读取mesh混合通道设置。(5) 动画选项 导出插件动画选项图如图4-8所示图4-8 导出插件动画选项exportanimation:导出动画,不勾选就不会导出动画。resetcharacteranimationsinintialorientation:重设角色动画初始方向对齐z轴。lgnoresinglekeyanimations:勾选此项会忽略只有一个关键帧的动画,这个选项在制做角色次级动画时很有用。reduceredundantkeys:跟据给定的域值(threshold)优化动画关键帧。physiqueconversion:physique修改器转换设置。converttoskin转换为蒙皮动画,converttomorphanimation转换为变形动画。samplingrateforunsupported:动画每帧采样率,meshdeformation网格变形,3dtransformation三维变形。(6)报告选项 导出插件报告选项图如图4-9所示。图4-9 导出插件报告选项verboselevel:详细级别,有低,中,高三个级别,级别越高越详细。savetofile:设置报告保存的文件,默认在导出文件同目录下生成一个名为“report.txt”的文件。4.4 模型导入到virtools打开virtools dev4.0进行文件的导入,导入的方法如图4-10所示。启动virtools dev4.0,选择上方菜单命令的resources(资源)import file(导入文件),找出并开启刚刚保存的nmo文件,就可以看到在3ds max中做的模型已经成功的导入到virtools中了,然后对导入的模型进行位置的摆放和排列。图4-10 文件导入窗口把模型导入到virtools中的场景后,需要对各个模型的位置、大小以及角度等参数进行调整。加入灯光后还需要对模型的材质进行调整,以达到逼真的视觉效果。调整过程中需要注意的是:在调整完对象的参数后,需要对模型设置初始值(set ic),否则的话,当对场景进行reset ic时,各个模型会回到其刚导入到场景时的状态。调整后的场景如图4-11所示。图4-11 调整后场景4.5 模型导入到virtools后黑的原因4.5.1 物体材质颜色不正确方法一: 在3ds max中,修改 diffuse color的数值,再输出。 方法二:在virtools开发环境中,开启该物体的 material setup,修改 diffuse的数值。 4.5.2 物体材质颜色是黑色的 一、使用灯光的情况下方法一:在3ds max中,确认 self illumination数值为0,再输出。 方法二:在virtools开发环境中,开启该物体的 material setup,修改 emissive的数值为黑色(r:0 g:0 b:0)。二、不使用灯光的情况下方法一:在3ds max中,确认 self illumination数值为100,再输出。 方法二:在virtools开发环境中,开启该物体的 material setup,修改 emissive的数值为白色(r:255 g:255 b:255)。第5章 考评系统的实现将三维模型及场景导入到virtools环境后,动作的驱动模块是系统的核心部分。下面从两个方面介绍系统的实现:菜单选项部分和系统操作的实现部分。5.1菜单选项的实现菜单选项包括了位置选择、工具选择、背景音乐和退出系统四大部分,其中位置选择提供了自由视角和操作视角两种方式。下面介绍菜单的制作过程。1.按钮材质及纹理的制作首先在photoshop中制作好按钮的三种状态,即一般、鼠标滑过和被点选三种状态。然后把制作好的图片作为纹理导入到virtools当中,在virtools中创建材质,并把刚才的纹理分别附加到相应的材质上。2.按钮2d frame的建立以create 2d frame(创建二维帧)命令创建一个2d平面对象,并调整好其位置与大小,然后对其set ic 。3.按钮脚本的实现为2d平面创建一个脚本,在脚本中加入push button模块。然后在push button的属性面板中设置其相应的按钮三种状态的材质。如图5-1所示。4.其它按钮的制作按以上同样的操作,为每一个按钮都设置相应的属性。制作完成后的菜单如图5-2所示。 图5-1 push button属性设置 图5-2 按钮菜单5.2系统操作的实现 5.2.1考评系统的操作步骤系统实现考评操作总共分为七个步骤,具体如下:(1)点击班长,班长做手势上提大钩。(2)点击吊环,将吊卡安上吊环。(3)选吊卡,点击油管2,安吊卡。(4)选液压钳,点击油管,打开液压钳。(5)点击推动液压钳动力杆。(6)点击班长,班长做手势稍微上提大钩。(7)点击油管,卸下油管。5.2.2 数据表的建立建立数据表用到的是阵列(array),阵列的熟练运用与否,是影响virtools作品优劣的关键。实际上,阵列并不难,其诀窍在于逻辑的推演上,必须一步一步小心谨慎、有耐心的去编辑每一个环节,这样就不容易出错。如图5-3所示的阵列就是建立完成后的阵列。此阵列当中的各个数据项的说明如下:1.czbz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论