虚拟现实在计算机图形学课程中的实验探索

2014-02-25 11:09朱映辉江玉珍
电脑知识与技术 2014年1期
关键词:计算机图形学三维建模虚拟现实

朱映辉 江玉珍

摘要:虚拟现实技术与计算机图形学相辅相成,为使计算机图形学的实验开设更具实际应用意义,该文提出基于VRML、基于三维建模技术和基于Web3D技术的三种VR实现方法,并通过实例分析了该三种方法的应用特点。

关键词:虚拟现实;计算机图形学;VRML;三维建模

中图分类号:TP391.9 文献标识码:A 文章编号:1009-3044(2014)01-0209-04

1 概述

虚拟现实(Virtual Reality)也称虚拟现实环境,是指用计算机技术生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。简单的说,虚拟现实是一种可以创建和体验虚拟世界的计算机系统,提供了先进的人机交流技术。目前虚拟现实技术已被广泛应用视景仿真现实、军事驾驶模拟、3D游戏开发、虚拟设计与规划、仿真培训、远程操作控制等领域之中[1]。

虚拟现实技术同时也是一项综合性计算机图形交互技术。计算机图形学中的一些方法,如三维造型与变换、光照模型、科学计算可视化等为虚拟现实技术提供了理论和技术基础。计算机图形学的发展带动了虚拟现实技术的进步,同时虚拟现实技术在各领域中的广泛应用也使图形学的各个研究方向得到充分发展[2]。在高校计算机专业的计算机图形学课件的教学中,虚拟现实不算是一个重要的、必修的知识点,但如能在掌握三维造型方法的基础上辅以虚拟现实的运用,那么将能有效地提升实践操作的实际应用意义,激发学生研究探索兴趣,令图形学课程的相关知识综合运用起来,达到学以致用,相得益彰。

2 虚拟实现技术简介

虚拟现实有四个主要特征:多感性;沉浸感;交互性;自主性。理想的、最高境界的VR技术是:虚拟场景具备与真实环境一样的真实感、能调动一切人所具有的感知功能、操作者完全感受与自然环境一样的自由度和人-物交互感应。但实现中由于技术的限制,达到高度逼真的虚拟现实比较困难。目前,从技术难度和体验程度来划分,虚拟现实技术主要分成以下三类:

1) 桌面虚拟现实(Desktop VR):利用个人计算机和工作站进行仿真,将计算机的屏幕作为用户观察虚拟境界的一个窗口,通过各种输入设备实现与虚拟现实世界的充分交互。

2) 沉浸式虚拟现实(Immersive VR):利用头盔式显示器、位置跟踪器、数据手套等多种交互设备,为参与者提供一个新的、虚拟的感觉空间,并产生一种身临其境、全心投入和沉浸其中的感觉。

3) 分布式虚拟现实(Distributed VR):将不同用户通过计算机网络连接在一起,共享同一个虚拟空间并协同工作达到一个更高的参与协作境界[3]。

其中,桌面虚拟现实是最基础的VR方式,虽然现实体验真实感不足,但该方式成本低最易容实现,且其应用也最为广泛。在计算机图形学教学实践中,根据学习程度的不同,可以引导学生通过以下三种方式实践桌面虚拟现实的实验:(1) 基于VRML的VR实现;(2) 基于三维建模技术的VR实现;(3) 基于Web3D技术的VR实现。

3 计算机图形学的虚拟现实实验探索

3.1 基于VRML的VR實现

VRML(Vritual Reality modeling Language,虚拟实现建模语言)于1997年作为国标标准正式发布,它揭开VR技术在互联网上的应用序幕,也推动了后来Web3D技术的发展更新。

VRML提供对三维基本对象如长方体、球体、圆锥、圆柱等的描述,同时定义了三维应用中常用的语言描述,如层次变换、光源、视点、材质和纹理映射等,并且有简单的行为特征描述功能。一个VRML文件一般由文件头、脚本和路由组成,其基本语法结构如下:

#VRML V2.0 utf8 #文件头,放在第一行,是VRML文件的标志

节点名{

域 域值

… …

}Script{ #脚本节点

… …

}

ROUTE … … #路由,把入事件与出事件相关联

以一个简单的程序实例说明VRML的编程模式。该程序建立了三个3D对象:长方体、球体和圆锥并赋予了不同的方位、颜色等属性。

#VRML V2.0 utf8

DEF box Transform{ #定义一个变换节点box

translation -5 0 0 #设置空间坐标位置

children [ #定义节点的子节点

Shape { #定义形状

geometry Box{size 2.0 3.0 1.0} #长方体定义

appearance Appearance{ #定义外观

material Material{ #定义材质

diffuseColor 1 0 0 #设置漫射色颜色

} } } ] }

DEF sphere Transform{

translation 0 0 0

children [

Shape {

geometry Sphere{} #定义一个球体

appearance Appearance{

material Material{ diffuseColor 0 1 0 }

} } ] }

DEF cone Transform{

translation 5 0 0

children [

Shape {

geometry Cone{ } #定义一个圆锥体

appearance Appearance{

material Material{ diffuseColor 0 0 1 }

} } ] }

VRML程序保存成.wrl文件格式。另外,要使浏览器提供VRML的浏览功能,还必须安装VRML插件,常用的插件有Contact、Cosmoplayer、Cortona等,图1是上述程序在安装了BS Contact VRML插件的IE浏览器中的显示效果。在浏览器中用户可通过系统提供的工具实现对三维对象的交互式显示操作。

基于VRML的虚拟实现技术可展示虚拟场景中各部件的位置及相互之间的关系,其文件短小,适用于网络应用。但其不足之处是三维图象质量一般,难以实现复杂场景展示及交互,与外界的通信能力也比较差。

3.2 基于三維建模技术的VR实现

在掌握一定三维建模方法的基础上,也可借助三维建模软件的功能进行VR实现。三维建模软件能够提供虚拟现实中所需要的各种三维模型,较常用的软件有3DSmax、Maya及Creator等,这些软件把复杂的建模过程变得非常简单和易于理解。以下以3DSmax实现摆球仿真为例介绍VR实现方法:(1)在软件平台中建立了仿真摆球模型,并实现摆球的运动动画,如图2如示。(2)使用3DSmax“导出”功能将该模型导出为VRML97(*.WRL)格式文件。(3)使用安装了VRML插件的浏览器打开该wrl文件实现摆球的虚拟运动展示及交互。图3为摆球在IE浏览器中的VR显示效果,用户可用工且以任意方位和角度观察摆球的运动。

该方法可在实现较复杂模型、动态模型的基础上现实VR。其最终显示方式仍是VRML描述模式,由于受插件的限制,浏览器达不到理想的实时展示和实时交互效果。

3.3 基于Web3D技术的VR实现

目前更主流的虚拟现实技术是凭借Unity3D、Wirefusion、Cult 3D、Virtools、C3d、Truntool等一类引擎下实现的Web3d技术。这些软件使用专用的文件格式和浏览器插件,在实现实时渲染、图像质量、造型技术、交互性以及数据的压缩与优化上均优于VRML。此外,这些软件也可与3DSmax等三维建模软件配合使用。

以Unity3D为例,它是一款VR应用程序开发引擎,具有跨平台发布、强大的地形编辑功能、高效高质渲染效果、支持用户定制交互要求等特点,非常适合开发高逼真虚拟和交互展示的需求。基于Unity3D的虚拟现实是用Unity3D引擎开发的一个能够实现动态加载和展现3D模型的Web Player应用。通过安装Unity3D插件就可以实现在浏览器上运行Web Player来加载产品模型展示[4]。

在虚拟展示系统中,用户对场景中具体的产品的选取及操作是交互性最充分的体现,即当用户在虚拟场景中用鼠标点击或指向某一产品时,系统应做出相应设定的响应[5]。Unity3D 的GUI接口提供了各种控件(如按钮、窗口等)以支持编辑用户交互界面;通过重写鼠标事件可以检测用户的各种输入信息并作出相应的响应;通过变换组件又可以完成产品的平移、旋转、比例变换等各种操作。图4及图5是运用Unity3D和3Dsmax开发的“运动与健康虚拟现实展厅”。作品通过VR技术实现主题为“运动与健康”的漫游展厅,并以Web3D网页形式提供了一个实时交互的参观平台,使用户可以身临其境地感受展厅内的景观。

就目前而言,大多数的Web3D技术主要用于三维显示技术的网络应用开发,这也决定了Web3D技术主要特点就是对3D模型的网上三维交互演示。

4 结束语

虚拟现实技术与图形学技术紧密关联,图形学三维造型等技术是虚拟现实的一个坚实台阶,VR技术又是图形学的拓展延伸,具有广泛的应用前景。该文尝试在高校计算机图形学教学中引入桌面虚拟现实的实验,并由浅入深地提出三种VR实现方法,旨以使计算机图形学的实验开展更具实用及研究意义。

参考文献:

[1] 陆枫,何云峰. 计算机图形学基础[M].2版.北京:电子工业出版社,2008:11-12.

[2] 石玉玲.虚拟现实技术与图形学[J]. 职大学报,2008(2):90-91

[3] 张义宽.计算机图形学[M]. 西安:西安电子科技大学出版社,2004:26-27.

[4] 倪乐波,戚鹏,遇丽娜,王婧. Unity3d产品虚拟展示技术的研究与应用[J]. 数字技术与应用, 2010(9) :54-55.

[5] 郭海新. Unity3D与HTML交互机理的研究[J]. 煤炭技术, 2011(9):228-229.

猜你喜欢
计算机图形学三维建模虚拟现实
REALITY BITES
风口上的虚拟现实
农用风力发电机叶片设计
计算机图形学与图形图像处理技术
用面向科学思维的教学方法改进计算机图形学课程教学
三维投影变换的MATLAB实现
虚拟现实技术向科幻小说借灵感
数控仿真系统三维建模技术研究
垂直轴风力发电机叶片建模与研究农用
基于GIS的网络三维系统的构建及应用