APP下载

基于Vizard环境的增强现实交互技术的应用研究

2016-07-15林晨林晓斌

计算机时代 2016年7期
关键词:增强现实

林晨++林晓斌

DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.015

摘 要: 应用增强现实交互技术时,对用户动作的精确捕捉至关重要。Vizard环境对用户动作辨识度高,与增强现实设备广泛兼容。通过3DS MAX构建虚拟魔方模型,利用Python语言编程实现虚拟魔方的用户操作响应,研发了基于Vizard环境增强现实交互系统的虚拟魔方游戏,实现了虚拟魔方游戏的增强现实效果。应用结果表明,该方法能有效提高用户动作辨识精度,带给用户良好的感官体验。

关键词: 增强现实; 动作捕捉; Vizard; 虚拟魔方游戏

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2016)07-53-03

Research on the application of augmented reality interactive technology in Vizard environment

Lin Chen, Lin Xiaobin

(Physics and Electronic Information Engineering, Minjiang University, Fuzhou, Fujian 350108, China)

Abstract: Vizard environment is high to the user action recognition and compatible with the augmented reality equipments widely. Building up 3D virtual Rubik's cube model by 3DS MAX, programming with Python language to realize the user operation response, a 3D virtual Rubik's cube game of augmented reality interactive technology in Vizard environment is developed, and the augmented reality effect for 3D virtual Rubik's cube game is realized. Application results show that the proposed method can effectively improve the accuracy of user action recognition and give the user a good sensory experience.

Key words: augmented reality; action tracking; Vizard; virtual Rubik's cube game

0 引言

融合了计算机视觉、图形学、图像显示与识别等多个学科成果的增强现实技术,是在虚拟现实技术基础上发展起来的,它将现实世界信息和虚拟世界信息融合,把原本现实世界的一定时间空间范围内很难体验到的实体信息通过计算机等模拟仿真后再叠加,将虚拟的信息应用到现实世界,被人类感官所感知,实现对虚拟场景的现实感的增强[1-3]。在研发增强现实交互技术时,对用户动作的精确捕捉至关重要。

目前大量的增强现实开发技术是通过深度摄像头捕捉用户信息,并运用骨骼拟合来近似推断用户动作,对用户动作辨识精度有限,如Kinect等。而Vizard除了利用红外摄像头获取用户信息外,还可通过多个与用户特定部位绑定的定位设备来精确捕捉用户动作,从而在最大程度上真实还原用户的动作,很大程度上避免误判。且Vizard环境与其增强现实设备完美的结合,可轻松实现计算机图像与现实场景的融合。因此本文提出了一种基于Vizard环境的增强现实交互技术实现方法,利用该方法实现了对虚拟魔方游戏现实感的增强。实现结果表明了该方法的有效性和创新性,将Vizard引入研发增强现实交互技术中,有效提高用户动作辨识精度,带给用户良好的感官体验。

1 开发工具概述

1.1 3DS MAX概述

3DS MAX是美国Autodesk公司旗下Discreet分部开发的一款基于计算机系统的三维模型制作和渲染的软件,已成为使用最广的三维建模、动画和渲染工具。在建筑和室内设计、影视、游戏、教学及工程可视化等领域有广泛应用,能很好的满足高质量动画和设计的制作需求[4-5]。它具有建模功能强大,扩展性好,操作简单,兼容性强等特点。

1.2 Vizard概述

美国WorldViz公司研发了一款功能强大的虚拟现实开发平台软件Vizard,它基于C/C++,运用OpenGL扩展模块开发出的高性能图形引擎,利用它可使构建及渲染虚拟场景的效率大大提高,凭借其卓越的高效编程核心模块,将整个虚拟现实应用引领至一个高速高效且成本低廉的全新境界[6]。它的软硬件兼容性强,支持几乎当前所有的虚拟现实设备和业界标准的各种3D模型格式,内建虚拟人物库、优秀的物理引擎以及良好的扩展性,采用Python这款极具潜力又极易上手的脚本语言作为其编程核心,其发展前景毋庸置疑。兼容了世界上最广泛使用的增强现实追踪库ARToolWorks的Vizard与VideoVison研发的增强现实硬件装置如PPT,PPTWand,PPTEyes等的完美结合,可轻松实现计算机图像与现实场景的追踪与融合,增强三维虚拟场景的现实感。

2 基于3DS MAX和Vizard的虚拟魔方游戏设计与实现

虚拟魔方游戏由虚拟魔方建模和用户操作响应两个模块构成。建模模块实现用户能够像使用真正的魔方一样处理虚拟的魔方,该模块通过3DS MAX软件实现建模;用户操作响应模块实现用户可通过鼠标点击屏幕上的虚拟魔方来转动魔方或是改变其空间状态,该模块通过Python语言编程实现。

2.1 三维虚拟魔方建模

利用3DS MAX进行三维虚拟魔方建模,该模型设计需要获取的数据主要有魔方空间尺寸及魔方材质贴图。三维虚拟魔方模型构造的好坏,直接影响三维虚拟魔方游戏的真实度。在建立模型过程中应遵循一个原则:在能够保证视觉对象不失真的前提下,尽量采用最简单的模型,这样可以使后期虚拟魔方的渲染更流畅。

在建模过程中,首先构建魔方外形。在顶视图中创建一个盒子,设其长、宽、高值为60,细分段数为3。将构建好的盒子转为可编辑多边形。切换到修改面板,进入多边形子对象层级,框选多边形的所有面,选择斜切选项,将Bevel类型选项的参数设为By,深度值和斜切值分别设为2和1,完成魔方基本形的细加工。然后材质编辑。打开材质编辑,把一个样本球赋予魔方,把默认的标准材质更改为多重/子对象。魔方一般都是塑料制品,表面光滑,在圆角处会有高光效果,接下来对高光效果进行设置,进入标准材质的面板,将高光强度设为70,高光范围设为50即可。渲染后发现魔方棱角分明导致高光效果不明显,对魔方的相关参数作了如下调整:将网格光滑类型选为Classic,细分量的累接值设为1,光滑参数的强度值设为0.2。完成后的虚拟魔方模型以OSBG格式导入Vizard环境中,便于后续的用户操作响应实现。

2.2 用户操作响应实现

用户操作响应由视角切换和变换两个模块构成。视角切换模块可实现用户通过鼠标将视角切换到任意角度任意方向和移动到任何空间位置。视角变换模块能使程序根据用户在屏幕显示的魔方图像上不同位置点击以及不同方向拖动,来实现用户对魔方每个面的任意旋转操作。这两个模块实现的算法都是基于三维投影的空间几何原理,将用户的鼠标操作(如点击和拖动)转换成三维空间中的信息,再通过几何计算得出操作的响应,用户仅通过鼠标不同方式的操作完成魔方全方位视角切换和变换操作。

视角切换模块分为旋转和平移两种操作,分别由鼠标左键和右键完成,利用3D编程中鼠标捡取技术捕捉鼠标拖动的轨迹,获得鼠标在屏幕坐标位移(dx,dy),将鼠标左键位移矢量(-dx,-dy,0)作为转轴,鼠标移动路程作为转角,求得旋转变换矩阵,最后用矩阵乘法将变换矩阵复合到当前空间矩阵即可实现旋转操作。平移操作通过计算鼠标右键位移矢量,并将位移矢量作为魔方模型的平移量复合到空间变换矩阵即可实现。视角变换模块是另一种旋转操作即仅对魔方的某个面的旋转,保持魔方的位置不变。这种变换操作依然是通过鼠标拖动来实现,先捕捉鼠标的先前位置,计算其捡取射线选中的方块序号a,然后捕捉当前位置,计算其捡取射线选中的方块序号b,根据a和b查表判断是否构成对魔方某个面的移动,如果是,就对该面进行转动操作。利用Python语言编程实现上述的用户响应操作。实现结果如图1所示。

3 基于Vizard的增强现实交互技术研究和实现

3.1 搭建基于Vizard的增强现实框架

增强现实的框架包括场景获取、图像识别、三维跟踪注册或配准[8]和虚实融合显示等模块[9]。本文中基于Vizard的增强现实框架搭建包括软件和硬件框架两个部分,其中硬件框架的搭建由两个红外摄像头,方形定位器,PPTWand,PPTEyes和3D 眼镜组成,红外摄像头获取真实场景信息输入到系统中,根据用户设定的阈值将采集到的彩色图像转换为灰度图,进行连通域分析,找到匹配区域,系统会找出一个标识点,该标识会以红点的形式出现。然后将方形定位器与标识红点相互感应进行准确定位,以便与后期的软件框架搭建中的场景完美融合。软件框架的搭建主要由导入增强现实原型、设定图像转换阈值、驱动PPTWand和驱动PPTEyes组成,软件框架是运用Python语言编程配置与Vizard环境所兼容的增强现实追踪库ARToolWorks的相关参数模块,与硬件框架相结合提供完美的增强现实效果。

3.2 实现虚拟魔方游戏的增强现实

利用上述框架实现虚拟魔方游戏的现实感,提高用户的感官体验,具体实现步骤如下:打开Vizard环境的增强现实追踪库ARToolWorks的接口,从Tools菜单项中选择Inspector选项接收红外摄像头和定位器的信息。启动红外摄像头,获取真实场景信息,并读入到Inspector对话框中进行连通域分析,找到匹配区域,系统会确定出一个红色标识点,结合方形定位器定位匹配真实世界感应的区域。选择Vizconnect选项进行参数配置,建立与硬件框架的联系,配置参数项有Vizconnect_config_Desktop和Vizconnect_config_

CornerCAVE+Wand2014+PPTEyes,这两项参数配置由Python语言编程实现,包括头文件模块、输入输出模块、事件模块等14个部分。部分模块的代码如下。虚拟魔方游戏增强现实效果如图2所示。

import viz

import vizconnect

#Application Settings

def initSettings():

#将鼠标与PPTWand建立连接

viz.mouse.setTrap(False)

viz.mouse.setVisible(viz.MOUSE_AUTO_HIDE)

vizconnect.setMouseTrapToggleKey('')

def initInterface():

#激活增强现实库接口

vizconnect.interface.go(__file__,live=True,

openBrowserWindow=True,startingInterface=vizconnect.interface.INTERFACE_ADVANCED)

#加载虚拟魔方魔方游戏

if __name__ == "__main__":

initInterface()

viz.add('cubic.py')

4 结束语

本文着重介绍了基于Vizard环境的增强现实交互技术的研发。该技术有效提高用户动作辨识度,给用户良好的感官体验,很好地体现了增强现实将虚实世界完美结合的独特魅力,进而增强了虚拟魔方游戏的现实感。下一步将利用该框架对工业部件拆装进行更深入的探索。增强现实技术融合了计算机视觉、计算机图形学、图像显示与识别等多个学科成果,将在传媒、医疗、军事、家居与工业、艺术、医疗、娱乐和教育等领域得到更广泛的应用和发展。

参考文献(References):

[1] 王涌天,陈靖,程德文.增强现实技术导[M].科学出版社,2015.

[2] (美)穆勒.增强现实:必知必会的工具与方法[M].机械工业出

版社,2013.

[3] (美)基珀,(美)兰博拉.增强现实技术导论[M].国防工业出版

社,2014.

[4] 时代印象.3DS MAX 2014完全自学教程[M].人民邮电大学

出版社,2014.

[5] 陈波.3D巨匠:3DS MAX完全手册(建模篇)[M].科学出版社,

2012.

[6] Worldviz. Vizard virtual reality software [EB/OL]. http://

www.worldviz.com/izard-virtual-reality-software

[7] 桂振文.面向移动增强现实的场景识别与跟踪注册技术研究[D].

北京理工大学博士论文,2014.

[8] 董世明.基于Kinect的增强现实交互技术研究[D].上海大学

硕士论文,2014.

猜你喜欢

增强现实
虚拟现实及触觉交互技术:趋势与瓶颈
照片建模与增强现实实验在三维软件基础课程中的应用
增强现实技术在职业教育中的应用
虚拟现实技术和增强现实技术在建筑业的应用初探
虚拟现实技术和增强现实技术在建筑业的应用初探
浅谈增强现实技术及其军事应用
增强现实的系统结构与关键技术研究