APP下载

基于OSG虚拟漫游的设计与实现

2011-03-23陈定方

湖北工业大学学报 2011年4期
关键词:环境变量碰撞检测漫游

王 丽,陈 杰,李 佳,陈定方

(武汉理工大学智能制造与控制研究所,湖北 武汉 430063)

虚拟漫游技术是虚拟现实(VR)技术的重要分支,而场景实时漫游是虚拟现实技术的一个重要应用.由于没有制定具体的路线,人们可以在虚拟的环境中自由行走,不受时间、空间的限制,达到真正意义上的交互,因此该技术能够给客户带来企业最直观的展示.本文对OpenSceneGraph(OSG)图形系统大型场景进行数字化采集数据,然后通过三维建模建立大型场景,最终实现现实场景的虚拟漫游系统开发.

1 场景建模

利用Google Earth大型场景的卫星地图为依据,收集相关实体的结构数据以及照片,通过使用3ds Max软件对光照、纹理、材质等多因素进行修理,进行实体建模.

2 场景模型的优化

虚拟建筑场景漫游的最大难点在于建模逼真度和绘制实时性.由于这种漫游所看到的景象离观察者近,要求绘制非常逼真的图像.因此,构造精细的建模,会消耗很多时间.同样,由于计算机性能的制约,构造出来的模型越复杂,在绘制时要达到实时效果就越困难,实时性太差会使观察者无法接受.因此必须像重视建模本身一样重视对场景模型的优化[1].可以运用多层次细节(LOD)方法为场景生成不同的细节层次,这样可大大减少绘制的计算量.还可以采取一些场景预处理办法,例如用辐射度方法,可在漫游时省去许多光照的计算量.

3 建立三维场景模型

利用基于OSG技术开发的软件——三维仿真软件进行编辑并导出三维场景模型.将场景模型导入3dvri软件中进行编辑(主要是进行摄影机的路线校正,以及天空盒的创建还有镜头光斑的设置等),最后将场景文件保存为ive格式的文件[2,3].

4 实现实时漫游

基于 OSG技术,通过在 Microsoft Visutual stdio.NET平台下开发的一个基于MFC的演示窗口,实现虚拟校园的漫游功能.

4.1 系统开发与环境设置

正确使用安装包安装OSG并完成OSG的编译后,打开VS2005,选择“工具”※“选项”命令打开“选项”对话框,展开“项目和解决方案”结点,选择“VC++目录”选项,在此设置包含文件和库文件两项,分别选择OSG目录中的include和lib文件夹所在的路径[4].

具体设置方法如下.

1)包含文件和库文件目录分别设置为:

2)右击“我的电脑”图标,在弹出的快捷菜单中选择“属性命令”打开“系统属性”对话框,选择“高级”选项卡,单击“环境变量”按钮,在弹出环境变量对话框中设置下面两个环境变量:

4.2 场景漫游

在浏览整个三维场景时,矩阵变换非常关键.通过适当的矩阵变换可获得各种移动或者渲染效果.此系统中自定义的漫游操作器T ravelManipulator是继承于OSGGA::MatrixManipulator的.

编写自定义场景漫游操作器的主要步骤如下.

1)编写一个继承自 osgGA::GUIEventHandler类的新类,class TravelManipulator:public osgGA::MatrixManipulator.

2)重载函数handle()及相关矩阵变换函数,在handle()中添加合适的事件处理函数,并指定执行相关的动作.

在此函数中执行相关动作如:

3)进行碰撞检测.本系统中使用一种简单的碰撞检测方法(图1).

图1 简单碰撞检测

碰撞检测实现代码如下:

4)关联该操作器到当前视图场景中,OSG不会自动启动.该操作器代码为

5 结论

使用该漫游系统操作方便,仿真度高,在实际应用中获得了较好的效果(图2).

[1]丁建浩,王毅刚,潘志庚.采用大屏幕投影系统的虚拟河坊街漫游[J].杭州电子科技大学学报,2005,25(1):56-59.

[2]申闫春,朱幼虹,曹 莉,等.基于 OSG的三维仿真平台的设计与实现[J].计算机仿真,2007,24(6):207-211.

[3]Bow man DA,Kruijff E,LaViola J,et al.3D user interfaces:theory and practice[M].Boston:Addison Wesley,2004.

[4]肖 鹏,刘更代,徐明亮.Open Scene Graph三维渲染引擎编程指南[M].北京:清华大学出版社,2010:14-15,265-275.

猜你喜欢

环境变量碰撞检测漫游
全新预测碰撞检测系统
从桌面右键菜单调用环境变量选项
基于BIM的铁路信号室外设备布置与碰撞检测方法
彻底弄懂Windows 10环境变量
霹雳漫游堂
NASA漫游记
空间遥操作预测仿真快速图形碰撞检测算法
BIM技术下的某办公楼项目管线碰撞检测
基于三阶段DEA—Malmquist模型的中国省域城镇化效率测度及其收敛分析
基于权变管理理论的科技期刊管理模式研究