




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)摘 要虚拟现实技术能够利用计算机生成较为真实的模拟环境,使用户沉浸在虚拟环境中,同时通过人机接口实现用户与虚拟环境直接交互。三维场景漫游系统是虚拟现实技术的综合应用,它在沉浸感、交互性与实时性方面的优势是传统二维效果图及二维和三维动画技术所无法比拟的。三维场景漫游系统的难点在于三维场景模型绘制的真实感和模型的实时绘制效率之间的平衡。为了保证一定的绘制质量,又不造成用户在系统内漫游时的运动不适,应该采用优秀的建模方法来降低场景的复杂度,同时运用场景简化技术来提高系统执行效率。本文首先介绍了虚拟现实技术,分析了三种主要的三维场景漫游技术,并通过3ds max和Virtools软件开发了一个井场虚拟漫游系统。系统中实现了视点前进、后退、左右平移、自动漫游、自由漫游等控制功能,为用户提供了较好的交互性。关键词:虚拟现实;漫游系统;VirtoolsAbstractVirtual Reality technology could generate a virtual environment by the using of computer which enables the user being immersed in the environment while the user could interact with the environment through human-computer interface directly. The comprehensive implementation of VR is the developing of a 3D-scene roaming system, which is much more better then the traditional printed map or the 3D animation effects in the aspects of immersion sense, interaction and real-time. The difficulty of the system lies in how to balance between the reality sense of the model and the real-time rendering efficiency. In order to acquire a smooth roaming effect and rendering quality, the excellent modeling technique is adopted into the system to reduce the scene complexity, and the scene optimization technique is also used to improve the executing efficiency.The VR technology is introduced firstly in this paper, and three main types of 3D-scene roaming technique are also analyzed. And finally, 3DS Max modeling and developing roam engine and Virtools are combined to develop a wellsite roaming system. The controlling function, which includes backward and forward moving, left and right translate, auto roaming, free-style roaming etc., is realized in the system preferably while providing the user a friendly interactive environment.Key words:Virtual Reality ; Roaming system; Virtools本科生毕业设计(论文)目 录第1章 虚拟现实技术概述11.1 虚拟现实技术特征11.2 虚拟现实系统的分类21.3 虚拟现实技术的应用2第2章 三维场景漫游技术42.1 三维场景漫游概述42.2 三维场景漫游技术分类5第3章 开发工具介绍83.1 三维建模工具3ds max83.2 Virtools开发环境简介10第4章 漫游系统的模型构建134.1 三维建模技术134.2 系统模型构建15第5章 漫游系统的实现235.1 3ds max模型的导出235.2 Virtools专用模型的导入245.3 界面文本信息处理245.4 漫游引擎的开发25结 论30参考文献31致 谢3231第1章 虚拟现实技术概述虚拟现实技术(Virtual Reality Technology,简称VRT)的出现实际是计算机图形学、人机接口技术、传感器技术以及人工智能技术等技术交叉与综合的结果。以虚拟现实技术为代表的新型人机交互技术旨在探索自然和谐的人机关系,使人机界面从以视觉感知为主发展到包括视觉、听觉、触觉、力觉、嗅觉和动觉等多种感觉通道感知;从以手动输入为主发展到包括语音、手势、姿势和视线等多种效应通道输入。可以做出如下定义:“虚拟现实”就是一种可以创建和体验虚拟世界的计算机系统。这种系统生成的各种虚拟环境,作用于用户的视觉、听觉、触觉,使用户产生身临其境的感觉,沉浸其中。而所谓虚拟世界则是虚拟环境或给定仿真对象的集合1。1.1 虚拟现实技术特征1993年,Burdea G在Electro 93国际会议上发表的“Virtual Reality System and Application”一文中,提出了虚拟现实技术三角形。即三“I”特征:Immersion(沉浸性)、Interaction(交互性)、Imagination(构想性),如图1-1所示2。Immersion(沉浸性)Interaction(交互性)Imagination(构想性)图1-1 虚拟现实技术三角形Immersion(沉浸性)是指用户可以沉浸于计算机生成的虚拟环境中和使用户投入到由计算机生成的虚拟场景中的能力,用户在虚拟场景中有“身临其境”之感。他所看到的、听到的、嗅到的、触摸到的,完全与真实环境中感受到的一样。它是虚拟现实系统的核心。Interaction(交互性)是指用户与虚拟场景中各种对象相互作用的能力。它是人机和谐的关键性因素。用户进入虚拟环境后,通过多种传感器与多维化信息的环境发生交互作用,用户可以进行必要的操作,虚拟环境中做出的相应响应,亦与真实的一样,如拿起虚拟环境中的一个篮球,你可以感受到球的重量,扔在地上还可以弹跳。交互性包含对象的可操作程度及用户从环境中得到反馈的自然程度、虚拟场景中对象依据物理学定律运动的程度等;虚拟现实系统是自主参考系,即以用户的视点变化进行虚拟交换。Imagination(构想性)是指通过用户沉浸在“真实的”虚拟环境中,与虚拟环境进行各种交互作用,从定性和定量综合集成的环境中得到感性和理性的认识,从而可以深化概念,萌发新意,产生认识上的飞跃。因此,虚拟现实不仅仅是一个用户与终端的接口,而且可使用户沉浸于此环境中获取新的知识,提高感性和理性认识,从而产生新的构思。这种构思结果输入到系统中去,系统会将处理后的状态实时显示或由传感装置反馈给用户。如此反复,这是一个学习创造再学习再创造的过程,因而可以说,虚拟现实是启发人的创造性思维的活动。1.2 虚拟现实系统的分类虚拟现实系统的分类方法很多,通常按以下几种方式对虚拟现实系统进行分类:3(l)根据生成方式分类:基于几何模型的虚拟现实系统、基于图像的虚拟现实系统、基于图形图像的虚拟现实系统。(2)根据沉浸程度分类:非沉浸式虚拟现实系统、部分沉浸式虚拟现实系统、完全沉浸式虚拟现实系统。(3)根据用户参与的规模分类:单用户式虚拟现实系统、集中多用户式虚拟现实系统、大规模分布式虚拟现实系统。目前使用较多的一种分类方法是既按沉浸程度又按用户规模进行的分类方法,大致分为三类:桌面虚拟现实系统、沉浸虚拟现实系统和分布式虚拟现实系统。按此种分类方法,本文后面所实现的小区虚拟漫游系统属于桌面虚拟现实系统。1.3 虚拟现实技术的应用在现实世界中,有些环境人们难于身临其境或者实现条件过高、费用过大,而虚拟现实却能超越时间与空间、现实与抽象,将各种无法接触的环境再现于人们的面前,为人类发展提供了一个新的途径。虚拟现实已应用于军事、教育、医学、产品设计、科学可视化、训练、建筑、娱乐、艺术等各个方面。军事方面,美国的虚拟现实技术不仅已用于作战计划、战场准备,还用于对新型武器的性能评估。主要的使用系统有美国陆军的SIMNET坦克训练系统,它能模拟坦克的全部特性,包括导航、武器、传感器和显示等性能。还有美国海军的ASW反潜作战系统。虚拟现实技术应用用于解剖学和病理学教学,外科手术仿真等,比利用活体进行培训和实验更加安全、经济和方便。虚拟现实技术还可用于人体康复和改善人生活质量。教育与培训方面,由于场景更加逼真,大大提高了人们的想象力、激发了受教育者的学习兴趣,学习效果十分显著。学生们可以运用虚拟现实技术学习解剖和探访各大星系,如银河系、太阳系等。三维场景漫游是虚拟现实技术的应用之一。目前许多大型的房地产开发商和建筑装修工程机构已经通过向客户提供建筑虚拟漫游系统来为顾客提供产品外观和装潢效果模型。三维场景漫游系统也将彻底地改变建筑设计的传统模式,让客户直观地走进建筑师的设计效果图中,身临其境地感受建筑的空间感观、外形特点以及设计效果,并可提供实时修改的功能,使得设计更符合客户的个性需求。除此外,三维虚拟场景的漫游使人们可以足不出户就能欣赏到世界各地的名胜古迹,一方面为人们的娱乐增添情趣,另一方面在保护自然景观及文化遗产等方面也有重大意义4。第2章 三维场景漫游技术2.1 三维场景漫游概述随着计算机软硬件技术的发展,可以在计算机上利用三维动画技术实现真实世界或想象世界的三维空间。三维动画技术又称为三维预渲染回放技术,即先进行三维预渲染,得到完整的三维动画视频,然后再利用播放器将三维动画视频播放出来。动画虽然具有较强的动态三维表现力,但是三维动画的时间和过程完全固定,在播放过程中不会根据当时用户的想法来实时改变动画画面的顺序,只能实现简单、固定的演示功能,不具备实时的交互性。基于虚拟现实的三维场景漫游系统则可以很好地解决上述问题。三维场景漫游系统是“实时”的,这是它与动画的最大区别。这种“实时性”导致了在虚拟场景中的人机“可交互性”。系统没有时间限制,可真实详尽地展示,在系统中,用户的操作是任意的,并根据用户的动作实时做出相应的反应。三维场景漫游系统是包括一个逼真的视、听、触觉一体化的特定范围的虚拟环境,它是一个真实空间或假想空间的实时仿真虚拟空间,用户借助一定的装备以自然的方式在该虚拟空间中漫游,从任意角度对环境中的虚拟对象进行观察,从而产生亲临其境的真实感觉,同时也可以对其中的物体进行操作获取反馈5。三维场景漫游系统的总框图如图2-1所示。模拟物体数字化场景数据库场景生成及控制konkongzhi系统用户用户接口漫游交互虚拟场景实时生成动作反馈漫游引擎图2-1 三维场景漫游系统的总框图从技术角度来看,三维场景实时漫游的最大难点在于系统三维场景内模型绘制的真实感以及模型的实时绘制效率。为了获得更好的用户沉浸感,三维虚拟场景中所呈现的景物需要比较真实,因此在建立场景内的模型时需要构造得非常精细,这虽然可以增加模型的真实性,但在建立模型的时候需要花费大量的时间。对于构造出来的如此精细而复杂的模型,由于机器性能的制约往往很难达到实时绘制的效果,这是人们很难接受的。一般来说,人们需要在模型的精细程度和绘制的速度方面取一个折衷值,既要保证一定的绘制质量,又不造成用户在系统内漫游时的运动不适6。因此在建立系统时,可以利用优秀的建模方法来减低场景的复杂度。例如对于一些有着相同结构的模型,采用实例技术构建会节省很多绘制片面的时间。2.2 三维场景漫游技术分类2.2.1 基于几何模型的三维场景漫游技术基于几何模型的三维场景漫游技术78是以计算机图形学的基本绘制原理为基础,首先对需要建模的三维场景进行数字化描述,构造虚拟的三维场景中的模型结构(往往包括场景中的建筑物、自然景观效果等),同时需要对三维模型的材质信息进行设定;接着按照场景显示的需要,建立虚拟环境中的光照模型,为取得较为真实的感官效果,往往需要借助纹理映射技术来提升模型的真实感,最后通过设定绘制场景所需的控制参数集合,通过交互控制器获取观察者的位置信息,系统根据观察者所处位置的光照参数等在输出设备上实时渲染绘制视景画面,从而完成对三维场景的漫游。基于几何建模的三维场景漫游系统中的虚拟景观大多是具有参数精确的几何模型,因此整个场景就显得比较细腻和真实,便于用户与三维场景中虚拟模型的交互,同时在进行碰撞检测时也比较容易实现;只要有与场景对应的建筑设计图纸,按照对应比例与尺寸,就能够完成场景的构建。基于几何建模的三维场景漫游技术已经经过了很长的发展时间,技术比较成熟,国内外很多商家都推出了许多功能非常强大的建模及控制集成软件产品,利用这些工具软件,可以非常容易的完成模型构建以及漫游引擎开发等工作,这些便利条件使得基于几何模型的三维场景漫游技术应用比较广泛。当然,以几何模型为基础的漫游技术也存在一些不足,比如遇到复杂场景,构建模型的工作量会很大,会增加系统开发的成本;同时,场景制作的越真实细致,其几何模型对应的点、线、面等数据也将非常庞大,就需要设计人员在模型真实感和实时显示效率上做出选择和处理,另外三维场景实时渲染绘制对计算机软硬件要求较高,也是基于几何模型方法的限制因素。但随着建模软件功能日趋强大、图形快速显示技术的飞速发展以及图形绘制硬件性能的不断提高,基于几何模型场景漫游技术的应用仍然相当广泛。2.2.2 基于图像的三维场景漫游技术另一种最近发展起来的三维场景的构造方法是利用外部设备采集真实模型的离散图像数据或连续图像视频数据,将采集得到的数据作为系统中场景的原始来源数据,再通过图像处理系统对数据进行优化和整理,生成逼真的场景平面全景图,接着选择合适的空间模型把多幅全景图组织为虚拟场景空间,从而实现全方位三维场景漫游的效果。基于图像的三维场景漫游技术910能生成反映真实场景的高质量的图像环境,由于该技术不需进行复杂的建模,漫游效果及处理时间与场景内容的复杂度无关,不需要专业的图形加速设备,而且通过真实图像完全可以生成与照片一样极具真实感的合成场景,因此这种基于图像的漫游技术具有快速、简单、逼真的优点,能较好地实现实物虚化,可以应用于旅游景点、虚拟场馆介绍以及远地空间再现等许多方面,是目前国际上的研究热点之一。但该技术要求首先获得基于真实场景的实景图像,因此当真实场景并不存在,或还只处于设计规划阶段时,在场景构造上它就无能为力了;而且,由于场景中的虚拟物体是图像中的二维对象,因而用户很难甚至不能与这些二维对象进行交互;另外,获得实景图像需要高性能的照相与摄影装备,得到的大量图像文件也需要大量的存储空间,这些都使它的应用受到了极大的限制。2.2.3 基于图形和图像混合型三维场景漫游技术将基于几何模型的漫游技术与基于图像的漫游技术结合起来1112,在应用中做到扬长避短,就可以最大限度的发挥这两种技术各自的优点,取得非常理想的效果。其基本思想是对场景中的不同环节采用不同的处理方式,系统总体的全景视觉效果由基于图像的漫游技术生成,这主要利用了反映真实场景的高质量的图像,在无须复杂建模的情况下取得最真实的感官效果;对于系统的用户交互部分则利用基于几何模型的方法来处理,也就是对虚拟环境中用户要与之交互的对象进行模型构建,以克服图像交互性不强的问题,这样可以提高用户的沉浸感。虽然混合型漫游技术具有不可比拟的优点,但其实现也带来了很多技术上的困难。首先是虚拟实体对象(即实体模型)与纯粹虚对象(即二维图像中的对象)之间在虚拟世界坐标系中的坐标位置、摆设方向上要精确匹配;其次是虚拟实体对象几何模型,在虚拟光源照射下所产生的实体亮度、阴影强度及方向与纯粹虚对象的亮度、阴影强度和方向也要准确匹配。在实际应用中,基于几何建模的三维场景漫游方法在实现时为了降低场景的复杂度,经常也采用图像作为纹理来替代实体模型的表面细节甚至整个模型,但其对纹理图像的使用并没有像基于图像的虚拟漫游方法中对图像进行拼合、组织、编码以形成场景,因此,这种图形与图像的混合使用与真正意义上的混合型漫游技术还有很大的距离。但是这种方法更简单,更易于实现,而且效果较好,是目前广泛使用的方法。在后面实现的井场虚拟漫游系统中就采用了图形图像的混合使用方式,即使用几何建模方法建模,同时大量采用了实景照片作为纹理。第3章 开发工具介绍3.1 三维建模工具3ds max3ds max是一个融专业功能、视觉表现、理论知识于一体的综合性三维造型软件,由最初的小型3D Studio(DOS版的三维软件)发展到如今的主流三维软件。它涉及的领域主要有动画设计、三维造型设计、影视片头、标题广告、工业设计、建筑设计和多媒体制作等。由于它的操作主要是在PC机上完成,并具有同任何其他大型三维制作软件相抗衡的能力,因此倍受业内人士的喜爱和推崇。与此同时,3ds max强大的多方兼容性也使得它的制作与表现方式更加多样化,为更多的用户提供了学习与创作的机会。 随着3ds max的不断发展,三维制作也被推向了无人能及的顶峰。它不仅仅为我们提供了一种表现方式,更是将三维的概念深入到了我们生活的方方面面。3ds max有以下五个功能模块:1建模(Modeling object)3ds max的重要特点是有一个集成的建模环境,可以在同一个工作空间完成二维图纸、三维建模及制作动画的全部工作,建模、编辑和动画工具都可以在命令面板和工具栏上找到。2材质设计(Material design)3ds max在一个浮动的窗口中提供了高级材质编辑器,可通过定义表面特征层次来创建真实的材质,表面特征可以是静态材质,在需要特殊效果时也可以产生动画材质。3灯光和相机(Lighting and Camera)4动画(Animate)5渲染(Rendering)由于所做的设计所使用的灯光、照相机、动画等均在Virtools中完成,所以在此和以后建模部分中不做详细说明。3.1.1 认识总界面3ds max运行总界面如图3.1所示。图3.1 3ds max运行总界面主菜单位于屏幕最上方,提供了命令选择它的形状和Windows菜单相似,主菜单栏的特点如下10:1File(文件)用于对文件的打开、存储、打印、输入和输出不同格式的其它三维存档格式,以及动画的摘要信息、参数变量等命令的应用。2Edit(编辑):用于对对象的拷贝、删除、选定、临时保存等功能。3Tools(工具):包括常用的各种制作工具。4Group(组):将多个物体组为一个组,或分解一个组为多个物体。5Views(视图):对视图进行操作,但对对象不起作用。6Rendering(渲染):通过某种算法,体现场景的灯光,材质和贴图等效果。7Trsck View(轨迹视图):控制有关物体运动方向和它的轨迹操作。8Customize(定制):方便用户按照个人爱好设置操作界面。3ds max的工具条、菜单栏、命令面板都可以放置在任意的位置,可以定制一个工作界面保存起来,下次启动时就会自动加载。9MAXScript(MAX脚本):是有关编程的东西,可以将编好的程序放入3ds max中来运行。10Help(帮助):关于这个软件的帮助,包括在线帮助,插件信息等。本文中所制作的井场模型就是在工作视窗内通过各种编辑工具的使用完成的。3.1.2 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有很多的第三方插件可供利用。3.2 Virtools开发环境简介Virtools是由法国全球交互三维开发解决方案公司VIRTOOLS所开发,是虚拟现实的一种开发工具,提供可视化图形开发界面,开发人员通过拖曳所需要的行为模块就可以建构复杂、高效的应用程序,有效缩短开发流程,其特点是方便易用,应用领域广。3.2.1 Virtools Dev简介Virtools Dev可以利用拖放的方式,将Building Blocks(行为交互模块,简称BB)赋予在适当的Object(对象)或是Character(虚拟角色)上,以流程图的方式,决定BB行为交互模块的前后处理顺序,从而实现了可视化的交互脚本设计,逐渐编辑成一个完整的交互式虚拟世界。Virtools Dev3.0拥有超过450个以上的BB行为交互模块可供应用,经编辑后的互动模块组合使用,可以组成一个具有解决某项功能或者应用nms格式的单一交互模块,以方便重复使用、编辑,甚至交换或卖给需要的使用者。Virtools Dev除了可以编译成单机运行的可执行文件以外,最大的特色则在于Virtools Dev同样可以将作品输出成网络浏览的格式。这样一来,创作者可以将其作品输出成可以在因特网普通网页中浏览的互动式虚拟现实世界,或者可以更进一步编辑,与一般网页或Flash网页整合在一起,创造炫丽的网页或在线游戏。Virtools Dev内建的BB行为交互模块中,有网络传输协议相关的功能模块,创作者可以通过相对简易的设计,轻易地完成局域网条件下的联机游戏,甚至更进一步制作成各种模式的在线游戏,体验网络游戏所带来的超然感觉。3.2.2 Virtools操作接口Virtools的操作接口由数个窗口所构成,主要包含以下几个部分:3D Layout窗口(预设窗口:位于画面左上)在实时3D的环境下展示正在进行的项目作品,并提供所有用来创造、圈选、或操作3D组件所必需的工具及导览工具等。Building Block窗口(预设窗口:位于画面右上)负责Virtools行为模块建构区块(behavior building block)的调整与编辑。Level View窗口(预设窗口:位于画面下方)让用户能够以清楚的树状阶层结构来检视与编辑目前正在进行的项目作品。Schematic窗口(预设窗口:位于画面下方,Level View之后)这个窗口能够可视化与互动化地建构与编辑目前项目中所有的3D组件。3D Layout编辑器中的编修工具集位于3D Layout编辑器的左上面版中,以实时3D的环境展示用户正在进行的项目作品,并提供所有用来创造、圈选、或操作3D组件所必需的工具变形工具集(Transformation tools)用来圈选、移动、旋转、与缩放3D组件。创造工具集(Creation tools)用来创造与调整所有的3D组件内容:包含镜头(camera)、光源(light)、3D虚拟对象(frame)、曲线(curve)、及网格虚拟对象(grid)、2D虚拟对象(frame)、材质(material)、贴图(texture)、空间门(portal)等。导览工具集(Navigation tools)以3D视角导览目前的项目:包含移动镜头(dolly)、视野调整(field of view)、镜头缩放(zoom)、摇摄(pan)、及镜头轨道设定(orbit)等。3.2.3 Virtools组件Virtools是由一系列预先已设定好的组件构成组件数据库。其中,每种组件都具有一个相应的Setup面板供用户做进一步的设定动作。要打开组件的Setup面板很简单,只要在Level Manager当中选取要做设定的组件,而后从鼠标右键菜单里选择Setup就可以了。每个Virtools里的组件都可以被指定独立的行为模块与属性。Media组件包含了用来构成Virtools组件内容的各项素材(次组件)。它们分别是meshes(模型库)、materials(材质)、textures(贴图)、与sounds(音效)等。每一种素材在Virtools里均是以一种组件(entity)的形式存在:mesh、material、texture、与sound。这些素材组件都能够在Level View被轻易地存取,而且每一个都能拥有独立的控制与设定方式。3D Entities组件。每一个Virtools里的3D组件都以3D几何组件的形式存在,换句话说,它们都在3度空间坐标里具有位置、方向、与大小等几何性质(相对于非几何组件与2D图形组件而言)。这也就是说,一个3D组件必须包含以下的属性:在3维空间坐标里具有一笔记录其位置、方向、与大小的独立资料(以数学数组的形式储存)。一组可调整的特性参数(内容视其类型而定)。一组被指定在组件上的media资料(内容视其类型而定)。这些各种不同类型的3D组件包括有:Frames、3D Objects、Characters、Cameras、Lights、3D Sprites和Curves。Group:一个Group可以包含一组Media组件、3D组件、或2D组件。在Group里的组件都只是定义而已,并以参考表列的方式留在Group当中,这些组件并不会再加以复制。而就像Virtools里的其它组件一般,Group也可以作为接受行为模块指派的单位。Place:一个Place包含了一整组的3D与2D组件。使用Place能让用户通过将场景切割为几个不同的区间,进而阶层化地加以组织与管理。在Place里的组件都只是定义而已,并以参考表列的方式留在Place当中,这些组件并不会再复制一遍。而就像Virtools里的其它组件一般,Place也可以作为接受行为模块指派的单位。当一个新的项目开始时,所有的组件都会被预设放置于一个叫做Trans-Place的资料夹当中。Scene:一个Scene包含了一整组的Place、3D组件、与2D组件。使用Scene能让用户将整体的作品切割为几段叙述性的部分(Narrative parts):在一个独立的Scene当中,Virtools只会执行与处理该场景的资料,因此能达成大幅减低系统运算负担的目的。在Scene里的组件都只是定义而已,并以参考表列的方式留在Scene当中,这些组件并不会再加以复制。而就像Virtools里的其它组件一般,Scene也可以作为接受行为模块指派的单位。Level:一个Level包含了用户作品里所有的组件。基本上,当用户在任何时候想保存作品时,实际上是储存了整个Level。一个Level可以被细分为数个Scene,而每个Scene则又包含了许多的Place。Level算是Virtools里层次最高的组件,正因如此,在Virtools的编辑过程里,用户一次只能够在一个Level里工作,而当用户想要切换到另一个Level里进行编辑的时候,这等于另外开启了另一个新的作品。第4章 漫游系统的模型构建4.1 三维建模技术三维建模技术是将现实世界中的物体及其属性转化为计算机内部数字化表达的原理和方法。三维建模技术是虚拟漫游系统中的关键技术之一。我们所漫游的世界是否“能看起来真实,动起来真实,摸起来真实”,依靠的就是建模技术。建模在整个系统的设计过程中占有很大的比重,模型中的设计理念,采用何种设计风格,都关乎到一个作品的成败。4.1.1 关键技术1纹理映射技术纹理映射(Texture Mapping)是将二维图像映射到三维几何形状表面,使其产生特殊效果或真实感的一种技术。使用纹理映射技术可以避免对场景的每个细节都使用多边形来表示,进而可以大大减少场景模型的多边形数目,提高图形显示速度。由于透视变换,纹理提供了良好的三维线索,因此纹理面被映射到一个几何模型的x,y,z坐标。当3D模型转换和投影到屏幕时,映射后的纹理也是被旋转和改变大小并在屏幕上绘制出来,就好似位于模型的表面上,如图4.1所示为纹理映射的简单示意图10。图4.1 纹理映射过程2实例引用技术在创建场景时,尽可能使用实例引用。所谓实例引用是指多个父节点引用同一个实例化(含有几何数据)的子节点。实际使用时,我们可拷贝节点但实际的几何数据是共享的,如图4.2所示10。图4.2 实例引用的几何共享其中只有子节点的数据存放在内存中,父节点通过一个三维坐标变换作用于子节点产生一个新的物体。这样,父节点只需存储9个变换参数就可定义物体,且当子节点的几何数据发生变化时,所有父节点对应的物体几何数据均将随之改变。这一方法可有效减低系统的内存耗费,保证系统性能。在后面我们设计实现的小区漫游系统中使用实例技术构建了场景中的路灯。4.1.2 建模中的常见问题1、过分强调细节一般来说,模型的细节程度是影响其逼真性的重要因素之一。细节程度程越高,模型越逼真。但是,建立模型的目的是为了给虚拟现实系统创造一个虚拟环境,并在其中实现漫游等特定任务。因此在建模时还需要考虑到整个系统的综合性能。如果在建模时过分强调细节,对于所有结构和表面特征都采用多边形来实现,而忽略了场景数据库整体结构的优化设计,不仅会使工作量骤然增大,而且可能导致整个系统的运行速度下降,性能降低。因此,在建模过程中,一定要有整体观念,意识到模型细节和系统性能之间的相互制约性,不可盲目追求真实而无限细化模型。2、实体拼接组合的位置关系不正确许多物体不是用一个简单的几何形状就可以描述,它们常常是由多个实体拼接而成的。但这并不是简单的搭积木,如果拼接组合的位置关系不正确,会引起模型局部闪烁。3、存在冗余多边形描绘实体模型表面的多边形经常存在冗余现象,这里的冗余多边形主要是指在实体外部观察模型不可见的部分。如建筑物的内墙面及楼层之间的连接面等。由于场景浏览时它们处于不可见的位置,去除它们并不响模型的视觉效果,而消除这些冗余多边形则可以很大程度上降低整个场景的复杂度。4.2 系统模型构建每个模型达到细化到逼真的程度就要求特别仔细的去处理各个细节,所以整个井场的整体内容和每一个小的细节息息相关,整个场景被划分为若干部分,每部分模型的制作流程都是相似的,建模流程如图4.3所示。除去冗余多边形建模准备工作 几何建模纹理建模模型优化线建模工具面建模工具体建模工具点建模工具 运动建模 添加材质 纹理映射数据收集整理确定树状层次结构图4.3建模流程示意图4.2.1井场设备的构建1、纹理映射为了提高三维模型的逼真度,减少模型的多边形数量,我们采用纹理贴制的方法来代替用多边形表示模型的细节,从而大大降低了模型的多边形数量。对于精确建模的模型,可以用纹理贴图来表示极难构建而且又不是特别重要的模型,例如大地上的草,如果把所有的草都构建出来是不可能的而且是不必要的,这时就可以使用贴图来代替。对于粗略建模的模型,要尽可能的使用纹理贴图来代替几何体来创建模型,例如井场中的天空和大地等细节,使用一张贴图代替。模型效果如图4.4所示。图4.4 天空和大地的效果2、抽油机的制作(1) 抽油机底部框架的制作:首先选择线命令,然后在顶视图中画出底部框架的轮廓。然后再在命令面板中选择线命令,然后画出其截面的图形。由于我们是用倒角割面命令做的,所以需要先画出其轮廓及割面。以上全部完成后,选择其轮廓那条线,而后在命令面板中的修改当中的修改器列表中选择“倒角割面”命令。然后单击拾取割面,拾取剖面图形,这样一个底部的框架就完成的。这里需要注意的是调整好底部框架与剖面的比例。(2)支架的制作方法:单击命令面板中 几何体按钮,然后选择长方体命令,创建一个长方体,调整其大小后,按住shift键并移动长方体,这样就又复制了一个,在选择时,选择复制。把两个长方体按照X、Z平面对齐后分别调整其角度,使其呈八字形,然后再创建七个短些的长方体作为支架的架子组成部分。把他们与那两个长方体对齐,并且使其有一定的间隔,这样一部分支架就做好了。然后使用克隆、旋转、对齐命令制作出另一部分支架并使其对齐,这样支架就完成了。模型效果如图4.5所示。图4.5 抽油机支架的效果(3)顶部小平台的制作:其底部的制作方法与制作框架相类似。只不过这次用的不是“倒角剖面”命令,而是“放样复合对象”命令。首先单击命令面板中的图形按钮,单击矩形按钮,创建一个矩形作为小平台的轮廓。然后再待机线按钮,画一个顶部的小平台的剖面图形,画完后在修改面板中对这两个二维图形做适当调整后单击矩形图形。然后单击几何体,在下拉菜单中选择复合对象,单击放样按钮。这样我们选择的矩形作为路径,然后单击拾取图形后,点选我们创建的剖面图形。这样,一个小平台便制作完成了。如果有什么需要调整的,我们可以在修改面板中修改其相应的参数即可。这里要注意的是路径与图形不要混淆,否则会出现严重的错误。(4)抽油机顶部平台护栏的制作:单击创建选项卡,然后选择几何体创建一个圆柱体,然后单击修改选项卡,在参数设置里更改其高度分段为1.。设置相应的半径及高度。然后在其适口中选择移动。按住shift并移动圆柱体,在弹出的克隆选项对话框中选择实例,数量为2.这样我们又克隆出两个相同的圆柱体,使其作为扶手栏杆的支柱。(5)扶手栏杆的制作:同样,我们需要创建一个圆柱体。首先激活左视图,谈后依以上的方法创建一个圆柱体,并在修改面板中设置其相应参数,然后在修改器列表中为其调价一个弯曲修改器,一位我们创建的扶手栏杆是又一定弧度的。我们在弯曲角度中为其弯曲-180度。并为其添加限制效果,因为我们的弯曲不是全部弯曲。需限制在一定的范围内。为其添加弯曲修改器后我们还需向其添加一个挤压修改器,增加其效果,使其更加逼真。在制作完栏杆支柱与扶手后,我们应用对齐工具把他们对齐。(6)抽油机的游梁及其相连接的俩个转动轴的制作:轴的制作:首先创建一个长方体作为轴的固定平台,然后再创建八个小正方体放到平台上,用束卡住轴主要起到了固定轴的作用;创建一个正方体和圆柱体,并使其中心对齐,然后为其做一个布尔复合对象,取其并集;然后再创建一个圆柱并使其和上步中创建的圆柱中心对齐。把其转化为可编辑的多边形。第一,选择可编辑多边形的多边形修改子对象层级,选择其Y轴正向上的一个地面。第二,选择挤出命令,在其中输入0.05m,然后选择倒角,数值为-15度。第三,把选中的面向Y轴负方向移到0.05m。再把这个面挤出0.05m。再把刚做好的轴克隆一个,使其按照Z轴旋转180度,然后把他们对齐。最后再创建一个圆柱,使其穿过他们,并比他们高出一些。这样,轴的部分就完成了 (7)游梁的制作:取两个长方体,使其宽和高相差0.04m,长度相等,然后为其取一个差集的布尔复合对象,这样一个简单的游梁就完成了。(8)横梁的制作:先用线工具画出横梁的外形,然后计算好每相邻的点的距离。计算好之后再为线添加一个挤出修改器,这样横梁就基本完成了。创建一个长方体,长度和横梁的长度相同,把横梁和长方体做一次布尔,取其差集,也就是横梁中剪出长方体,使其侧面呈现出横梁形状,这样横梁就完成了(9)连接部分的制作:首先做三个长方体。选择其中一个,为其添加一个编辑网格修改器,选中上面两条边,分别向X轴移动一点距离,使其呈梯形。取另一个相同操作,然后绕Z轴旋转90度。把三个长方体两两交叉后取布尔操作,取并集。(10)与配电箱的连接的操作:建立一个切角长方体,然后克隆一个,并为其做缩放操作。然后把他们两个取布尔操作。建立一个立方体,克隆一个,然后分别放在中操作后的布尔对象的前后,并对其取布尔,取差集。这样就把前后的有弧度的地方去掉了。把昨晚的布尔对象右键转换为可编辑多边形,选择多边形子层级,并选择上半部分的面,然后删除,最后再把上面的破面用创建命令补上。创建一个圆柱体作为其与配电箱连接的连接杆。(11)抽油机的曲柄销装置及曲柄装置的制作方法:创建一个plane,然后打开材质编辑器,在漫反射贴图中为其添加一个位图,选择曲柄装置的图片为其添加。按照plane上的背景使用线工具画出其线框,然后为其添加一个挤出修改器,这样曲柄装置的主体基本就完成了。取6个圆柱体,分别成两组,然后分别排在曲柄装置的两边,呈直角三角形。为曲柄装置添加布尔复合对象,使其与圆柱做布尔,并取差集。用同样的方法做6个长方体,做布尔复合对象,然后取他们的差集。做完布尔复合对象后出现了破面,选中对象,右键装换为可编辑多边形。选择多边形子对象层级,然后用创建命令把破面补上。利用球棱柱命令分别创建两个6边形的棱柱,然后把他们对齐(轴对齐)。两个圆柱的半径不同,这样一个简易的螺丝就完成了。利用克隆命令复制出六个相同的螺丝,然后再把他们附加到做完的曲柄装置的主体上,这样就完成了曲柄销装置和曲柄装置的制作。(12)抽油机的配电箱的制作:制作一个长方体,在修改面板中调整长、宽、高,使其复合比例。右键转换为可编辑多边形,进入边子层级,选择上步的两条边(配合ctrl键)。并分别把他们向内移动一段距离,使其形成梯形体。建立四根长方体,并把他们对挤到中的上部。把中的体对象的上面移动一段距离,高度为长方体的宽度。进入多边形子层级后,选择上部的面进行移动。创建一个长方体和一个半圆柱体,并使用复合对象中的布尔命令把他们复合到一起,使其侧面显现形状,其长度一定要大于中图形的宽度把中的对象与中的对象做一个布尔复合对象取其差集。做完之后出现破面右键转换为多边形,进入多边形子层级,利用创建命令修改破面。把顶部再挤出一段距离,然后选择宽度的两条边,按下ctrl+N键,出现边连接对话框,输入4保存。选择其中一个面后挤出一段距离,然后再选择从边旋转多边形,点击拾取转枢,角度设置为30度。按照中的步骤再在右边做一次操作。删除相应的面后在多边形子层级中把缺少的面再补上。这样,配电箱就完成了。模型效果如图4.6所示。图4.6 抽油机配电箱的效果(13)抽油机发电机的制作:创建一个圆柱体,在修改面板中更改其参数,使其复合比例。更改长度分段数为1.创建一个长方体,长方体的长度和圆柱体的高度一致。把长方体右键转换为可编辑的多边形,进入多边形子层级,选择长和高组成的一个面,然后把其挤出一定的高度,大约为宽的四分之一。然后再为其做一个倒角,并把其对齐到圆柱体的中心部分。更改坐标系为拾取坐标系,然后拾取圆柱体的坐标。更改坐标选项为使用变换坐标中心。选择3中的对象,然后单击工具中的陈列选项,使其绕Z轴旋转360度,对象类型中选择实例,陈列维度为1D,数量为60.然后单击确定。这样发电机的主体部分就做完了。选择圆柱体,右键转换为可编辑多边形。进入多边形则层级,选择其Y轴负方向的面,并为其做一个倒角操作。然后再选择Y轴正方向上的面,做同样的一个倒角操作。建立一个圆柱体,调整半径,使半径小于大圆柱体半径,做为发电机的轴心。再制作一个圆柱体,并设置其半径略大于轴心,作为皮带传送部分的转动轴。制作3颗螺丝,并对齐到轴心的表面上,这样,发电机的部分就制作完成了。(14)抽油机的刹车装置和刹车保险装置的制作方法:先创建一个长方体,作为刹车装置的主体。右键转换为可编辑多边形。进入边子层级,选择上步两条边,按下ctrl+N键,在变数中输入1,点击确定。然后进入多边形子层级,选择上部右边的一个面并挤出一定高度。创建一个text对象,设置其参数,使其符合比例。然后和1中的长方体对齐,打开角度捕捉调整其坐标轴,使其按Z轴旋转5度。创建一个圆柱体,高度分段设置为2,并为其添加一个网格平滑修改器,选优次数为1.。创建一个球体,然后为其添加一个挤压修改器修改其轴向凸出和径向挤压,然后再为其添加一个编辑多边形修改器。进入多边形子层级,选择下部的部分面并删除。创建一个长方体,并右键转换为可编辑多边形。修改其侧面的形状,把它与text对齐。创建一个plane,并为其添加位图材质。把刹车专职底部的图片添加到其中,然后利用线画出轮廓,并对它做一个挤出操作。制作几个螺丝并把他们放到相应位置把所有的对象整合到一起,这样扇车装置及刹车保险装置的部分就完成了。经过以上的制作抽油机基本完成了整体模型效果如图4.7所示。图4.7 抽油机整体的效果4.2.2 贴图制作技巧如果3D模型的面数需要一面一面仔细计算,那模型的贴图就需要一个位一个位计较。在Virtools中只能使用16位(65536色)或24位(1677万色)的贴图。贴图的尺寸必须要是2的次方像素的大小(如64*64,128*32)但是不可以超过512*512。虽然贴图并不需要一定是正方形,但正方形的贴图对于3D实时处理的速度将会加快。贴图也可以使用各种文件格式(例如jpg,bmp,tga等等),但建议最好在同一个场景用同一种文件格式。Virtools提供自动图形压缩的功能,以降低文件大小,但是使用上要十分的小心谨慎:(1)一般3D实时渲染模式就是先将材质解压缩送至显示内存或系统内存中,并且以未经压缩的数据进行计算。而在内存里材质资料必须是以位的方式计算,也就是长*宽*2(每一个像素以16位的方式贮存在内存里)。例如一个16*16的贴图(16*16*2)将会占用内存里512个位。所以随时注意每个场景贴图的总位数绝对不能超过显示卡的内存大小。(2)若贴图需要设定透明色,就要避免使用破坏性压缩的文件格式,如.jpg。因为破坏性压缩是利用颜色与颜色间的边缘破坏,产生视觉难以判断的中间色来进行压缩,而所谓的透明色就是使用色盘里其中一个颜色为透明色,所以透明的边缘将会产生难以预期的杂点,因此24位的tga文件将是一个比较好的选择。此外,目前的3D实时渲染的引擎还不能使用alpha channel作256色阶的透明效果,只能设定整个材质贴图的透明度而已。为了保证实时渲染的流畅性,最好试着降低贴图大小。贴图越小,运算速度就会越好。如果场景里有很多小贴图,可以制作一个如256*256的大贴图,利用3DMAX的贴图分割(Specify Cropping/Placement)功能,共享一张贴图分别做出不同的材质。这种作法不但可以保持原来贴图的品质,而且可以加快运算的速度。而重复使用贴图在不同的复杂角色对象上是一个节省内存、加快运算速度的重要技巧,因为较复杂的角色、或对象的形状与大小差异性大的物体共享某些贴图是比较不易察觉的到的。另外,没有贴图只有材质的对象在运算上,远比有贴图的对象快很多,当然也能允许使用更多的面数而不会降低运算速度。第5章 漫游系统的实现5.1 3ds max模型的导出1从3ds max中输出模型格式为.nmo从3ds max输出模型打开3ds max的文件,让场景中只含有一个模型对象,且若非必要时,接着点选3ds max上方FileExport(文件输出)菜单命令,如图4.1所示。储存路径及文件名请自定义,但强烈建议命名时采用英文,否则文件导入Virtools时会有无法预期的错误发生。保存文件的类型,请选择Virtools Export(*.NMO,*.VMO),确定后保存。2接下来要设置要输出的规格,如图5.1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江衢州江山市招聘事业编制教师38人笔试备考试题及答案解析
- 2025榆林市伯芽人力资源管理有限公司招聘笔试备考试题及答案解析
- 2025内蒙古京能锡林郭勒能源招聘应届高校毕业生4人考试参考题库附答案解析
- 房地产项目开发流程优化措施
- 达州市2025年度国家综合性消防救援队伍消防员招录体格检查考试参考题库附答案解析
- 2025广东惠州惠城区横沥镇人民政府公益性岗位招聘笔试模拟试题及答案解析
- 2025年锦州市凌河区总工会面向社会公开招聘社会工作者考试参考题库附答案解析
- 2025浙江金华市磐安县新渥实验幼儿园招聘教师和保育员3人笔试模拟试题及答案解析
- 2025浙江嘉兴市海宁市司法局招聘合同制人员1人考试参考题库附答案解析
- 2025年合肥长丰县县城区域部分学校公开招聘教师50名考试参考题库附答案解析
- 留疆战士考试题库及答案
- T∕CITS 146-2024 尿液有形成分名称与结果报告规范化指南
- 水泥化学分析方法培训精品课件
- 合成孔径雷达
- 四年级上册可爱的榆林全册教案
- 金属封闭母线
- 北师大版数学四年级下册全册教案设计
- 贵州省评标专家库
- 汉语拼音发音表(适合初学者和老年人)
- 《土地管理学》教学大纲
- 【图文】IXIA测试仪使用手册-IxLoad
评论
0/150
提交评论