美章网 资料文库 虚拟现实系统构建范文

虚拟现实系统构建范文

本站小编为你精心准备了虚拟现实系统构建参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

虚拟现实系统构建

摘要:3DStudioMAX是Autodesk公司的子公司Kinetix推出的一种优秀的三维动画造型软件,它广泛用于游戏、广告、建筑等领域,是目前PC上最流行的三维动画造型软件。虚拟现实技术是计算机技术发展到一定阶段的产物,它使计算机适应人而不是人适应计算机,它的发展应用日益广泛、普及。本文拟就3DSMAX在虚拟现实系统构建过程中的应用做一介绍。

1.虚拟现实简介

虚拟现实(VR)是一种由计算机和电子技术创造的新世界,是一个看似真实的模拟环境,通过多种传感设备用户可根据自身的感觉,使用人的自然技能对虚拟世界的物体进行考察或操作,参与其中的事件;同时提供视觉、听觉、触觉等多通道的信息,用户通过视、听、摸等直观而又自然的实时感知,并使参与者沉浸于模拟环境中。VR的三个最突出的特征,即它的3“I”特性:交互性(interactivity)、沉浸感(IllusionofImmersion)、想象(imagination)。

虚拟现实技术是在众多相关技术如计算机图形学、仿真技术、多媒体技术、传感器技术、人工智能的基础上发展起来的。虚拟现实技术在最近十年里获得了极大的发展,这主要归因于计算机软、硬件条件的飞速发展,以及虚拟现实专用设备价格的下降和性能的提高。目前虚拟现实技术已经获得了广泛的应用,而且日益普及,不仅在诸如NASA的大型工程得到应用,也出现在一些游戏中,在一些高档的PC机上甚至可以构建自己的个人PCVRS(个人虚拟现实系统)。

设计一个虚拟现实系统除了硬件条件一般个人无法定制外,能够充分发挥个人能动性的就只能是在系统软的方面下功夫了。设计一个VR系统,首要的问题是创造一个虚拟环境,这个虚拟环境包括三维模型、三维声音等,在这些要素中,因为在人的感觉中,视觉摄取的信息量最大,反应亦最为灵敏,所以创造一个逼真而又合理的模型,并且能够实时动态地显示是最重要的。虚拟现实系统构建的很大一部分工作也是建造逼真合适的三维模型。

2.3DStudioMAX简介

3DStudioMAX是Kinetix公司推出的一套强大的三维建模软件,由于它是基于WinNT或Win98平台的,方便易学,又因其相对低廉的价格优势,所以成为目前个人PC上最为流行的三维建模软件。其3.0版本的推出,更是巩固了它在个人PC平台上的地位。它的3.0版本相较以前的版本有了明显的改进,具体表现在以下几个方面:

⑴工作流模式使得工作组的协调更容易,效率更高。3DStudioMAXR3引入了工作流模式,在具体的实现上从外部参考体系(XRef)、示意视图(SchematicView)的引入以及现在3DMAX可以使用其他程序从外部加以控制,而不必激活它的工作界面。

⑵易用性的改进。操作界面的改进是Release3.0版本的最显著的变化,除了外观的变化之外,R3.0版本还增加了诸如用户自定义界面、宏记录、插件代码、变换Gizmo、轨迹条等功能。

⑶渲染的改进。Autodesk公司在收购了以渲染和视频技术闻名的DiscreetLogic公司,吸收了该公司的先进技术,3DMAXR3对其渲染器几乎做了重新设计,不仅增加了渲染的速度,而且提高了画面渲染的质量。

⑷建模技术的增强。建模技术的增强是3DStudioMAX最重要、最突出的改进,这也是在虚拟现实系统构建中应用它的一个有力的原因。主要的改进包括:

①细分曲面技术(SubdivisionSurface)。3DSMAX包含了细分曲面技术,细分曲面技术是1998年以来业界最流行的建模技术,大有赶超NURBS技术之势,它可以使模型建立更容易,而且效果更好。

②柔性选择。此项技术可以“部分地”选择顶点,从而在变换顶点时获得光滑、柔和的效果,这对建立复杂物体的模型时非常有用。

③曲面工具和改进的NURBS技术。使用曲面工具可以产生很复杂的“面片”模型,这亦是一种重要的建模方法,Release3.0版本中的NURBS技术不但速度加快,而且增加了一系列方便、易用的功能。

⑸对游戏的更好支持。3DStudioMAXR3大大增强了对游戏的支持,而且这些特性也可以用于其他场合。

①增加了角色动画功能。Release3.0版本内置了制作角色动画的功能,可以方便制作人物或动物的动作、柔软物体的效果以及变形效果。

②顶点信息以及加强的贴图坐标功能。现在可以对顶点着色,并增加了顶点的通道,增强了UVWUnwarp的功能,并增加了WorldXYZ贴图坐标。

此外,3DStudioMAXR3也显著增强了动画功能。

3.3DSMAX在VR系统构建过程中的应用

如前所述,VR系统要求实时动态逼真地模拟环境,考虑到硬件的限制和虚拟现实系统的实时性的要求,VR系统的建模与以造型为主的动画建模方法有着显著的不同,VR的建模大都采用模型分割、纹理映射等技术。目前VR中的虚拟场景的构造主要有以下途径:基于模型的方法和IBR(基于图像的绘制)方法两种。这两种方法都可以在3DSMAX中加以实现和验证,下面具体展开加以说明。

3.1基于模型的构造方法。3DSMAX的几何建模方法主要有多边形(Polygon)建模、非均匀有理B样条曲线建模(NURBS)、细分曲面技术建模(SubdivisionSurface)。通常建立一个模型可以分别通过几种方法得到,但有优劣、繁简之分。

⑴多边形建模。多边形建模技术是最早采用的一种建模技术,它的思想很简单,就是用小平面来模拟曲面,从而制作出各种形状的三维物体,小平面可以是三角形、矩形或其他多边形但实际中多是三角形或矩形。使用多边形建模可以通过直接创建基本的几何体,再根据要求采用修改器调整物体形状或通过使用放样、曲面片造型、组合物体来制作虚拟现实作品。多边形建模的主要优点是简单、方便和快速但它难于生成光滑的曲面,故而多边形建模技术适合于构造具有规则形状的物体,如大部分的人造物体,同时可根据虚拟现实系统的要求,仅仅通过调整所建立模型的参数就可以获得不同分辨率的模型,以适应虚拟场景实时显示的需要。

⑵NURBS建模。NURBS是Non-UniformRationalB-Splines(非均匀有理B样条曲线)的缩写,它纯粹是计算机图形学的一个数学概念。NURBS建模技术是最近4年来三维动画最主要的建模方法之一,特别适合于创建光滑的、复杂的模型,而且在应用的广泛性和模型的细节逼真性方面具有其他技术无可比拟的优势。但由于NURBS建模必须使用曲面片作为其基本的建模单元,所以它也有以下局限性:NURBS曲面只有有限的几种拓扑结构,导致它很难制作拓扑结构很复杂的物体(例如带空洞的物体);NURBS曲面片的基本结构是网格状的,若模型比较复杂,会导致控制点急剧增加而难于控制;构造复杂模型时经常需要裁剪曲面,但大量裁剪容易导致计算错误;NURBS技术很难构造“带有分枝的”物体。

⑶细分曲面技术。细分曲面技术是1998年才引入的三维建模方法,它解决了NURBS技术在建立曲面时面临的困难,它使用任意多面体作为控制网格,然后自动根据控制网格来生成平滑的曲面。细分曲面技术的网格可以是任意形状,因而可以很容易地构造出各种拓扑结构,并始终保持整个曲面的光滑性。细分曲面技术的另一个重要特点是“细分”,就是只在物体的局部增加细节,而不必增加整个物体的复杂程度,同时还能维持增加了细节的物体的光滑性。但由于细分曲面技术是一种刚出现不久的技术,3DStudioMAXR3对它的支持还显得稚嫩,还不能完成一些十分复杂的模型创作。

有了以上3DSMAX几种建模方法的认识,就可以在为虚拟现实系统制作相应模型前,根据虚拟现实系统的要求选取合适的建模途径,多快好省地完成虚拟现实的作品的制作。

在虚拟现实作品制作的时候应当遵循一个原则:在能够保证视觉效果的前提下,尽量采用比较简单的模型,而且若能够用参数化方法构建的对象尽量用参数化方法构建,同时,在模型创作过程中,对模型进行分割,分别建模,以利于在虚拟现实系统中进行操作和考察。

对于复杂对象的运动或原理演示,我们可以预先将对象的运动和说明做成动画存为avi文件,然后等待VR系统合适的触发事件,播放该avi文件即可。

3.2基于图像的绘制(IBR),传统图形绘制技术均是面向景物几何而设计的,因而绘制过程涉及到复杂的建模、消隐和光亮度计算。尽管通过可见性预计算技术及场景几何简化技术可大大减少需处理景物的面片数目,但对高度复杂的场景,现有的计算机硬件仍无法实时绘制简化后的场景几何。因而我们面临的一个重要问题是如何在具有普通计算能力的计算机上实现真实感图形的实时绘制。IBR技术就是为实现这一目标而设计的一种全新的图形绘制方式。该技术基于一些预先生成的图像(或环境映照)来生成不同视点的场景画面,与传统绘制技术相比,它有着鲜明的特点:

⑴图形绘制独立于场景复杂性,仅与所要生成画面的分辨率有关。

⑵预先存储的图像(或环境映照)既可以是计算机合成的,亦可以是实际拍摄的画面,而且两者可以混合使用。

⑶该绘制技术对计算资源的要求不高,因而可以在普通工作站和个人计算机上实现复杂场景的实时显示。

由于每一帧场景画面都只描述了给定视点沿某一特定视线方向观察场景的结果,并不是从图像中恢复几何或光学景象模型,为了摆脱单帧画面视域的局限性,我们可在一给定视点处拍摄或通过计算得到其沿所有方向的图像,并将它们拼接成一张全景图像。为使用户能在场景中漫游,我们需要建立场景在不同位置处的全景图,继而通过视图插值或变形来获得临近视点的对应的视图。IBR技术是新兴的研究领域,它将改变人们对计算机图形学的传统认识,从而使计算机图形学获得更加广泛的应用。

3DSMAX在IBR中的应用是自然的,3DSMAX的出色的纹理贴图,强大的贴图控制能力,各种空间扭曲和变形,都提供了对图像和环境映照的容易的处理途径。例如,在各种IBR的应用中,全景图的生成是经常需要解决的问题,这方面,利用3DSMAX可以根据所需的全景图类型先生成对应的基板,比如,柱面全景图就先生成一个圆柱,然后控制各个方向的条状图像沿着圆柱面进行贴图即可。而且可以将图像拼接的过程编制成Script文件做成插件嵌入3DSMAX环境中,可以容易地生成全景图并且预先观察在虚拟现实系统中漫游的效果,这通过在VideoPost设置摄像机的运动轨迹即可。事实上,目前已经有一些全景图生成和校正的插件。

在用3DSMAX为VR系统创作好模型后,结合VR系统的要求,看是否需要采用诸如LOD(LevelofDetail)模型,如果需要可利用MAX自带的LOD插件直接生成对象的LOD模型,最后根据VR系统的编辑环境将模型输出为编辑环境所能接收的文件类型,如VRML97或DXF等格式的文件。

以上主要介绍了3DSMAX制作VR作品,下面再简单介绍一些3DSMAX的另外的应用。

在VR系统中经常需要有视差和景深的立体视图,这可以通过在3DSMAX中设置双摄像机来模拟人的双眼来渲染立体视图对,这个需要调整双摄像机的相对位置,然后分别渲染不同的摄像机视图即可得到立体视图对,具体实现过程可参见文献〖2〗。

3DSMAX是用C++语言和OpenGL编写的应用软件,而且它提供的MAXSDK也是采用C++编写的代码,我们可以很容易地用C++和OpenGL结合MAXSDK实现我们的图形学算法,再把我们的算法作为插件嵌入3DSMAX环境中,而不用考虑物体模型的生成和处理的复杂代码,利用3DSMAX的渲染计时器可以方便地检验我们所编算法的效率和效果。