室内交互式场景漫游系统工程的设计与实现

2017-01-16 01:08魏先勇
黄河水利职业技术学院学报 2016年3期
关键词:平面图虚拟环境照相机

魏先勇

(商丘职业技术学院,河南商丘476000)

室内交互式场景漫游系统工程的设计与实现

魏先勇

(商丘职业技术学院,河南商丘476000)

室内交互式场景漫游系统可以十分方便地完成人机交互过程,给人带来一种身临其境的感受。该系统由虚拟世界、VR软件、输入设备和输出设备4部分构成,分析了基础环境及模型的建模过程和场景模型导入到场景数据库的方法,探讨了模型及场景的材质、灯光、碰撞检测、漫游、消影、投影的实现。

虚拟现实;场景漫游;Open Inventor;3ds Max

0 引言

虚拟现实(Virtual Reality,简称VR)是通过计算机及周边设备,结合人工智能技术、多传感器技术、仿真技术等创建一个实时三维立体环境。在此环境中,虚拟设备可以模拟关于听觉、视觉、触觉等感官功能,客户可以借助一些设备与虚拟设备等对象进行交互,达到相互影响,形成和谐的人机环境,给人一种“身临其境”的感受。基于虚拟现实技术的展示方式比单纯的图像加文字信息展示方式更加形象生动,且具有更明显的交互感。因此,虚拟现实技术越来越受到大众的关注。在大数据、云平台、新媒体盛行的当今,虚拟现实技术已广泛应用于城市规划、建筑物设计、航空航天等众多领域。在产品展示、室内设计等方面,虚拟现实技术大有将效果图、三维动画取而代之的趋势[1]。笔者应用三维建模技术和Open Inventor技术设计了一个室内交互式场景的漫游。

1 室内交互式场景漫游系统构成

一般来说,一个完整的虚拟现实系统由虚拟世界、VR软件、输入设备和输出设备4部分构成[2]。

1.1 虚拟世界

可以相互交互的虚拟环境构成虚拟世界。在虚拟世界中,能够实现无死角连续考察和观看的效果。通常情况下,虚拟世界包含三维模型和虚拟环境数据库。

1.2 VR软件

在虚拟环境中,景和物通过VR软件实现。VR软件是被广泛应用于虚拟现实制作和虚拟现实系统开发的一种图形图像三维处理软件。常见的VR软件分为建模软件(3ds Max、VRML、Maya、AutoCAD等)和虚拟现实软件(Open Inventor、Open GL、Coin 3D、Vtree、Vega等)。

1.3 输入和输出设备

收集的用户信息由虚拟现实系统的输入部分(数据手套、自由度鼠标、三维球、生物传感器、头部跟踪器、语音输入设备)进行接收,经过处理后,经由输出设备使用户体会到虚拟环境。该虚拟环境主要是由三维声音效果、三维图像视觉效果和触觉效果共同实现的。

2 三维场景的制作和导入

三维场景的创建是全过程的基础和核心。本系统使用AutoCAD 2015和3ds Max 2015软件来创建平面图和三维场景,使用Vray 3.0软件来完成模型材质和灯光的设计。

2.1 平面图的创建

在AutoCAD 2015中,首先建立场景图纸区域,然后绘制场景平面图,最后进行尺寸或文字的标注。建好的平面图如图1所示,将其保存为.dwg格式。

2.2 平面图的导入

打开3ds Max 2015软件,使用文件—导入命令将.dwg格式的平面图导入3ds Max顶视图中(如图2所示)。

图1 创建的场景平面图Fig.1 Established scene p lan

图2 平面图导入3ds Max顶视图的效果图Fig.2 3ds M ax top view after leading p lan

2.3 三维场景的生成

(1)基本场景的生成。选中导入后的平面图,使用“挤出”等命令生成三维室内结构场景,如图3所示。

图3 生成基本场景Fig.3 Created basic scene

(2)附属物建模。附属物主要包括窗框、玻璃、窗台、落地窗、窗帘、门套、踢脚线等。其中,窗台、窗帘、踢脚线、门套的制作较为复杂,涉及的修改器也较多,如:倒角、倒角剖面、放样等。附属物建模如图4所示。

图4 附属物建模Fig.4 Appendant modeling

(3)室内物体建模及场景布置。室内物体主要包括电视、电视柜、背景墙、音响、吊灯、书柜、书本、花瓶、绿化植物、茶几、沙发、地毯、笔筒等物体。这些模型的建立使用了较多的修改器,如:多边形建模、布尔运算、车削、锥化、噪波等。场景模型创建完成后,按照预先设计进行场景地布置,具体效果如图5所示。

图5 室内物体建模及场景布置Fig.5 Indoor object modeling

(4)材质及灯光设计。场景模型创建完成后,进行模型材质地编辑。根据模型的不同物理特性,赋予材质。最后,通过VR渲染器设置灯光效果,放置摄像机调整视角,渲染出最终效果图,如图6所示。

2.4 场景模型的导入

图6 最终效果图Fig.6 Final effect picture

场景模型创建完成后,需要将整个三维场景导入Open Inventor的场景数据库。Open Inventor的VRML文件接口功能可以把读入的VRML文件转化成Open Inventor场景,并形成节点。场景模型的导入步骤为:(1)利用3dsMax进行基础场景建模及材质地设置,并输出VRML格式的文件。(2)把输出的VRML格式的文件转化成扩展名为.iv的文件。(3)利用Open Inventor中的VRML接口读取转化过来的.iv文件,同时将它转化为场景,并组成节点,从而建立了三维虚拟场景。

3 室内交互式场景漫游系统的实现

因为本漫游系统的开发是针对Windows平台的用户,所以使用Microsoft Visual C++作为漫游系统的开发环境。在Windows操作系统中,Open Inventor提供了对SoWin API封装的Fortran语言的可视化编程环境(Intel Visual Fortan,简称IVF)类库。因此,IVF应用程序框架、IVF类库和微软基础类库(Microsotf Foundation Classes,简称MFC)的应用程序框架、MFC类库能够很好地集成在一起,良好地支持三维立体图形的显示,也能很方便地在VC平台上进行程序开发[3]。

3.1 照相机和灯光的实现

在Open Inventor中,首先是灯光和照相机两个类的调用。这是因为,灯光与照相机影响到3D图像场景的外观。虚拟现实环境和全真环境相似,也需要灯光照明,才能便于观察到物体。如果一个虚拟场景中没有任何灯光,同时把当前的光照模型Phong lighting缺省,那么这个虚拟场景中的物体也都是处在黑暗的环境中,不能被看到。Inventor为虚拟场景提供多种光照类型的灯光。使用这些灯光,会使我们有在现实世界一样的感觉。

人通过眼睛观察现实世界不同的场景,Inventor也有一个具有人眼功能的照相机,这个照相机不但具有透视方式,而且有产生2D“快照”的功能。照相机节点可以对场景中所有位于它之后的节点“拍摄”一张照片。因为照相机必须位于想要观察的物体之前。所以,通常要将照相机放在靠近场景最顶端的位置上。一个场景在同一时刻只能有一个激活的照相机。当几何坐标变换时,将会影响照相机的空间位置。当使用多个照相机时,可以使用切换(switch)节点来激活其中的某个照相机。

3.2 碰撞检测以及漫游的实现[4]

Open Inventor的事件模型提供了一种简单的机制。通过这些机制,我们可以通过“按一下键盘”和“移动鼠标”等将事件传递给场景数据库中的物体。

该场景漫游中的碰撞检测就是在Open Inventor的事件模型基础上实现的。它在程序中具体调用的类如下:

3.3 消影、投影的实现

物体属性节点都是从SoNode派生的,包含So-Material、SoDrawStyle、SoLightModel、SoEnvironment、SoShapeHints、SoComplexity SoUnits属性。

在程序中,是以头文件的形式出现的,实现方法如下:

#include<Inventor/nodes/SoCone.h>

#include<Inventor/nodes/SoMaterial.h>。

3.4 最终整体场景

通过对整个过程的运营调试,实现了室内交互式场景漫游的设计。该设计能够让参观者得到身临其境的神秘效果,如图7所示。

图7 场景漫游的整体效果Fig.7 W hole effect of virtual scene

4 结语

场景漫游可以营造一个逼真的视觉虚拟环境。在虚拟环境中,物体和场景都形成了真实的或者假想的能够让人感到身临其境的仿真虚拟空间。通过现有的虚拟设备,可以让用户实现在虚拟环境中进行漫游,从而实现从不同的视点观察场景中的对象,同时也能对物体进行操作和规划。因此,一个好的场景漫游的功能是非常强大的。本文设计的场景漫游系统基本实现了漫游的功能,通过键盘进行控制,达到了视觉的变化。

[1]吴辉煌.基于UN ITY技术实现的三维虚拟校园平台设计[J].科技创新,2015(28):57-59.

[2]曹丹丹,朱彩英,刘晓春.基于碰撞检测的交互式三维场景漫游系统研究与实现[J].测绘通报,2014(2):97-100.

[3]刘科文.基于Vega-VP三维场景模拟的虚拟现实技术研究[D].西安:西安石油大学,2013.

[4]张凯.沉浸式三维虚拟漫游技术研究[J].长春理工大学学报(自然科学版),2016(2):104-106.

[责任编辑 杨明庆]

TP391.9

B

10.13681/j.cnki.cn41-1282/tv.2016.03.015

2016-04-18

河南省教育厅科学技术研究重点项目:沉浸式虚拟漫游技术研究(14B520044)。

魏先勇(1979-),男,河南宁陵人,讲师,硕士,从事计算机网络安全、虚拟现实技术、智能计算等方面的教学与研究工作。

猜你喜欢
平面图虚拟环境照相机
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
如何通过虚拟环境有效管理Python第三方库
《别墅平面图》
《别墅平面图》
《景观平面图》
走进照相机
How photography was developed
虚拟环境下大数据智能并行聚类方法研究
平面图的3-hued 染色
自制照相机