学习啦>论文大全>科技论文>

高中的虚拟现实科技论文2000字(2)

家文分享

  高中的虚拟现实科技论文2000字篇二

  Blender在虚拟现实领域中的应用

  摘要:本文介绍了开源三维软件Blender在虚拟现实领域中的主要优点及性能优化方法,并通过Blender自带Python API函数调用Blender建模引擎,从而实现虚拟场景三维模型的自动生成。实验证明,该方案简单易行,开发效率高并且具有良好的跨平台特性。

  关键词:虚拟现实;3D引擎;Blender

  中图分类号:TP391.9

  虚拟现实(Virtual Reality,简称VR)是20世纪末发展起来的一项集微电子技术、传感与测量、计算机仿真于一体,利用计算机生成的一种虚拟环境,通过视、听、触觉,使用户身临其境,并能够与之发生交互作用的技术。其实时性、沉浸性和交互性是VR技术的3个重要特征。交互性是指用户与虚拟场景中各种对象相互作用的能力,是VR技术的基础,交互是否自然、实时,决定了虚拟环境的真实程度和用户置身其中的认知能力。[1,2]目前,大多数虚拟现实是通过3Ds Max等建模软件结合Vega Prime等仿真软件来实现,但其缺点是需要设计人员有很强的编程能力,不便于虚拟现实产品的快速开发。而Blender则很好的解决了这个难题。相较于其它虚拟现实软件,Blender采用了模块化的搭建过程,通过简单的连线设置即可实现复杂的交互功能,非常方便对大型项目的快速开发。并且,Blender软件自带强大的建模功能,在模型和3D引擎的结合上具有更好的兼容性。

  1Blender三维软件简介

  与那些昂贵的3D软件相比,Blender是款完全免费而且开源的3D制作软件。用户可以随意下载并可在多台计算机上运行。还可以下载Blender的源代码,对程序进行修改,将它应用于各种领域,作为一款应用软件,Blender集成了用于制作各种3D内容的工具套件,包括建模、渲染、动画、后期处理、游戏制作以及跨平台3D交互制作等全方面的功能。它自带的虚拟现实开发工具为Blender Game Engine(BGE),其集成了实时物理运算和逻辑运算引擎,可以开发手机游戏、PC游戏及虚拟现实展示产品,并且所有代码均开源,方便编程能力强的人员进行二次开发。BGE拥有十分强大的兼容性和可移植性,经过了多次的版本更新,BGE目前可提供以下几项主要功能[3]:(1)多平台兼容性,包括CNU/Linux、Windows和Ma.OS等。(2)Logic Brick逻辑系统。(3)支持Python脚本系统。(4)支持CLSL2.0着色器规范。(5)支持Bullel等物理系统。(6)支持WAV等音频文件。(7)支持实时阴影计算。(8)支持网络通信和进程节点设计。

  2虚拟现实开发流程及注意事项

  虚拟现实的开发流程主要可以分为以下几个步骤:

  虚拟现实的制作主要可分为虚拟场景的建立和在3D引擎中实现漫游。虚拟场景建模可在Blender中完成,其自带有强大的建模和材质贴图功能,与BGE的兼容性使得三维虚拟现实制作变得简单轻松。

  2.1前期准备

  为使虚拟场景效果逼真,前期的准备工作要认真进行。首先需要绘制出尽量详细的实际尺寸,并在现场拍摄收集高质理的照片素材,以利于后期贴图制作。

  2.2模型制作

  运用Blender的可交互的多边形建模及纹理应用工具可以快速构造高逼真的三维实体模型,并能够对模型进行实时优化。从严格意义上说,程序中采用三角形模型能较快地提升3D引擎的计算速度。因为3D引擎在读取网格后,CPU将只计算三角形的数量,所以即使使用了四边形模型,运行中单个四边形也会被转换为两个三角形来参与计算,这就增加了双倍的运算负担。

  据测试,Blender能承受一个500000左右网格面的辨戏场景。在建模的过程中,应尽可能地减少模型上点线面的数量,建议不要尝试通过细分网格来为模型添加细节。

  2.3材质贴图

  场景模型建立完成之后,即可对模型赋予材质。尽量使用标准材质,避免使用Vray、Mental Ray等高级材质。在这里,物体的贴图只允许使用:jpg、bmp、tga、png、dds这个几种格式,不支持如tif、psd等类型的贴图。

  在制作纹理图片时,应尝试使用较小尺寸的纹理文件,以减小系统载入纹理时的内存消耗,尺寸最好是2的n次方,例如512 x512。在表现物体细节时,应尽量使用法向贴图,利用法向运算来丰富模型的细节,而不是使用网格模型。同理,高光贴图也可直接替代着色器,完成物体表面的实时高光效果。BLender最大的优势在于它强大的材质贴图功能,使得模型更加逼真。因此在前期对图片进行搜集是必要的,

  2.4灯光的设定

  由于虚拟现实产品中的实时光影计算会消耗大量的资源,所以在制作环境物体时应尽量利用阴影烘焙,以及AO烘焙。对于场景中人物的照明,则可以利用图层来实现对单独对象的照明,而不要尝试去照亮整个场景。

  同时,还应尽量调低阴影的缓冲值,利用Only Shadow属性的灯光做实时的阴影渲染,并关闭灯光的高光照明,这样就可以将资源节省下来,分配给其他运算。[3]

  2.5物理与逻辑

  对于物体的Physics(物理)属性设置,如果类型为Dynamic的物体过多,虚拟现实程序的运行会变得令人惊讶的慢。同时在重力设计中,也应尽量使用合适的重力值,如果重力设置过大将有可能使BGE的运行结果超乎预料。

  在Logic(逻辑)编辑中,还应尽可能少用Collision和Touch类的触发器,它们将极大地降低虚拟现实程序的运算速度,可以通过添加一个不可见的Collision面来完成同样的效果。同时,对于一些无需碰撞计算的面或物体,一定要去掉其Collision属性。要多利用Add Background Scene和Add Overlay Scene两种场景促动器,因为合理地场景分配可以有助于避免大量的麻烦。

  2.6Python程序代码

  在Python代码设计中,尽量少使用Drot和Dloc参数来调用运动促动器,因为它们是按帧计算的。[4]也就是说,同样的虚拟现实程序在性能好的电脑上运行得很快,而在性能较差的电脑上运行会加倍的慢。

  系统提供的结点可以满足大多数逻辑运算的要求,但不一定是性能最优化的制作方案。再复杂的逻辑功能设计都可以用Python程序来简化完成,而同样的逻辑功能,使用Python代码般都会比结点的运行性能更快。

  3Blender在虚拟现实中的应用前景

  随着计算机硬件与软件技术的不断发展,虚拟现实必将越来越多的地方得到应用。而Blender三维开源软件平台和Python编程语言可快速生成虚拟三维场景的特点,也为Blender在虚拟现实领域的发展起了良好的推动作用。再加上Python语言拥有众多的数学分析、工程仿真等模块,借助这些模块编程可以实现多种仿真计算的优化,更增强了Blender在虚拟现实开发中的功能。由于Blender三维软件即可快速开发虚拟现实产品,又可提供强大扩展性的特点,其在虚拟现实领域必将获得更多的应用,具有很好的市场前景。

  参考文献:

  [1]汪成为,高文,王行仁.灵境(虚拟现实)技术的理论、实现及应用[M].北京:清华大学出版社,1996.

  [2]沈殊璇,薄亚明.适合于科学计算的脚本语言Python[J].微计算机应用,2002,9:289-291.

  [3]罗聪翼.Blender权威指南[M].北京:机械工业出版社,2011,4.

  [4]朱权洁.基于Blender引擎的矿山虚拟现实自动建模与运输仿真研究[D].武汉:武汉科技大学,2010.

  作者简介:张斌(1981-),男,硕士,主要研究方向为组合导航、非线性滤波和三维数字仿真技术。

  
看了“高中的虚拟现实科技论文2000字”的人还看:

1.大学科技论文2000字

2.vr技术论文2000字

3.vr虚拟现实技术论文

4.计算机仿真技术论文范文

5.虚拟与现实作文800字

2711676