APP下载

基于OGRE的虚拟场景漫游系统研究

2012-01-13

电子世界 2012年22期
关键词:漫游引擎虚拟现实

海军大连舰艇学院 董广智

1.引言

虚拟现实技术主要应用与场景仿真及漫游领域,通过人机交互功能可以为用户提供身临其境的交互体验。场景漫游系统是虚拟现实技术应用的主要形式,主要采用基于三维图形引擎的开发平台,避免了直接基于图形API开发的复杂性。OGRE引擎就是为设计和实现虚拟场景漫游系统打造的大型三维图形引擎。OGRE可以通过构建场景及其设施设备的三维模型,同时支持人机交互功能,可以很好的再现真实场景,它将现实世界的人物、场景的纹理和特性表现得淋漓尽致。OGRE引擎可以应用于虚拟场景漫游系统,比如城市规划与设计、三维游戏、虚拟广告系统、虚拟娱乐等。

2.虚拟现实技术

2.1 虚拟现实

虚拟现实及其技术的应用范围较广,包含工业制造自动化、军事演练仿真、大型3D游戏等领域。虚拟现实技术通过对现实世界的场景、人物、花草树木进行三维建模,重新构造虚拟场景,通过人机交互功能可以为用户提供良好的视觉交互体验。虚拟现实技术的主体特征如图1所示。

2.2 OGRE简介

OGRE是一种面向对象的三维图形引擎。由于OGRE引擎支持C++语言开发,而且操作灵活、功能齐全,因此可以方便开发者快速构建虚拟场景交互系统,同时OGRE支持更高层次的图形、图像API,屏蔽了对底层图形库API的直接调用,提供一致的面向现实世界的操作接口,适应性更强。

图1 主体特征

3.基于OGRE引擎的虚拟场景漫游系统设计过程

3.1 构建场景结构

构建大型虚拟场景漫游系统最基本的内容就是要完成三维场景结构的建模。通常,虚拟场景漫游系统是对现实世界人物活动的再造,因此对人物、场景的仿真要求较高。如果场景中的各种人物、物体胡乱堆砌,杂乱无章,或者场景元素较少、单调,这样的场景注定是失败的。OGRE引擎不仅提供了三维场景模型管理功能,而且提供了面向对象的场景实例管理和访问功能。场景中的实体主要描述如下:

(1)Entitiy:表示场景元素对应的模型的场景实例;

(2)Light:表示场景元素灯光对应的模型的场景实例;

(3)Camera:表示场景元素摄像机对应的模型的场景实例;

(4)SeeneNode:表示场景元素中抽象场景节点管理单位。

OGRE引擎根据SceneNode节点来划分场景空间层次组织结构,从而实现对整个场景系统的结构化管理,对应的场景结构图如图2所示。

3.2 检测碰撞

在场景漫游系统中,碰撞检测是一项很重要的内容,直接影响到场景交互体验的真实感。碰撞检测功能主要完成场景中人物与场景、场景元素与元素、人物与人物之间的空间位置重合检测,防止发生不符合现实世界规律的情况发生。举例来说,人物在场景中行走不能穿墙而过,人物不应该漂浮在空中。那么当系统检测中元素重合的情况,就要做出碰撞反应,比如人物碰墙后应该停止行走,直到人物选择新的方向。应用碰撞检测可以避免人物穿墙而过、人物身体重复等不符合现实的情况。OGRE引擎全面支持碰撞检测模块,比如AABB包围盒。

4.虚拟场景漫游系统设计

4.1 场景与设备建模

不同的场景仿真对应的场景是不一样的,要根据实际情况来完成场景建模的工作。比如在进行煤矿巷道场景漫游系统中,首先要完成煤矿巷道场景网格模型。通常,OGRE引擎支持自动建模功能,但是这只针对简单模型,通常主要手工建模的方法,一般主要应用大型三维建模工具(3DsMax或Maya)来设计主场景MESH模型。一般来说,多边形数目越多,模型细节度就高,但是通常会降低渲染的效率。OGRE引擎全面支持MESH网格模型。

4.2 开发环境配置

目前,大部分的用户都选择WINDOWS操作系统,应用较为广泛,本系统也主要采用基于WINDOWS平台的OGRE图形引擎平台。在使用OGRE引擎来构建虚拟场景漫游系统之前,首先构建对应的场景模型,其次是要配置好相应的开发环境。OGRE除了本身的功能组件以外,还需要额外的库作为支撑环境。在WINDOWS操作系统环境下,OGRE引擎需要下面的组件:(1)STLport;(2)DireetX SDK。

4.3 漫游系统设计

在实现虚拟场景漫游系统过程中,主要包括两个主要的步骤:构建虚拟场景元素及其模型、设计漫游引擎。其中,构建虚拟场景元素及其模型是基础,主要完成的工作是设计三维MESH模型,同时制作动画文件、多媒体文件、声乐文件、纹理图像等资源,然后进行资源整合,形成最终的场景数据库系统。设计漫游引擎的主要目的是实现三维虚拟场景的实时交互和渲染工作,它主要依赖于OGRE引擎提供的人机交互模块。处理过程如下:用户操作鼠标、键盘来驱动人物角色的行走、方向,场景中的人物就会移动起来,OGRE引擎负责场景渲染更新并同步输出到显示屏,这样用户就可以看到实时交互画面。OGRE引擎只需要根据用户的操作调入场景元素及其模型数据到内存,并输出到显示设备显示出来。需要说明的是,虚拟场景漫游系统主要包括两大控制模块:三维图形渲染、交互控制。对应的虚拟场景漫游系统总体框架图如图3所示。

图2 场景结构图

图3 总体框架图

4.4 人机交互

虚拟场景漫游系统的交互性主要表现为场景漫游,主要包括两个方面的内容:

(1)用户通过鼠标、键盘来操作虚拟场景中的人物角色,对应的场景实体对象的动作(语言、肢体动作、行走方向等)变化可以立即反馈给用户,从而相应用户的操作。

(2)当场景中虚拟摄像机方向、角度发生改变时,系统会生成最新的视觉方面并显示出来。

5.结语

随着虚拟现实技术的快速发展,虚拟现实技术在各行各业中得到广泛的应用,人们对视觉仿真的实时性、视觉提出了更高的要求,相信在未来虚拟现实技术毕竟发挥更大的作用。本文以OGRE引擎为主线介绍了基于OGRE引擎的虚拟场景漫游系统的设计思路、关键技术、设计过程,充分阐述了OGRE引擎用于开发虚拟场景漫游系统的基本步骤和过程,大大提高了虚拟场景漫游系统的制作效率,具有良好的实用参考价值。

[1]明芳,李峻林.基于OSG的虚拟场景漫游技术研究[J].计算机与数字工程,2011(03).

[2]何丽.三维虚拟场景漫游技术研究与实现[J].福建电脑,2011(05).

[3]李一华.基于OpenGL的虚拟场景生成技术[J].舰船电子工程,2010(04).

[4]朱晓钟,李骏仁.基于虚拟现实的运动场虚拟场景设计[J].科技创新导报,2010(11).

[5]徐敏.可漫游的虚拟场景的建模与实现方法[J].科技信息,2010(29).

猜你喜欢

漫游引擎虚拟现实
霹雳漫游堂
蓝谷: “涉蓝”新引擎
REALITY BITES
风口上的虚拟现实
NASA漫游记
虚拟现实技术向科幻小说借灵感
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
浅谈虚拟现实
边走边看:漫游海底 梦想成真