1. 简介
何为摄像头互动游戏,摄像头互动游戏就是使用摄像头作为输入设备取代传统的键盘和手柄输入,从而使玩家能够更加融入游戏。目前国内很多公司从事摄像头互动技术(包含投影和游戏)。
http://www.interactiveprojection.co.uk/
多数公司都会将这套技术同时用于互动投影、游戏和其他相关领域。就目前而言,互动投影使用的较多,游戏方面的运用相对较少。
2. 原理
使用摄像头作为交互输入的原理就是通过摄像头捕获的序列帧分析玩家的运动或者动作从而达到输入的目的。(参见hardant的博客-基于视频序列捕获人体运动和人体运动分析)
3. 实现
对摄像头采集的数据进行分析当然需要图像处理的知识,还好有强大的OpenCV支持一切都变得简单了。
http://en.wikipedia.org/wiki/OpenCV
http://www.opencv.org.cn/index.php/首页
其中包含运动物体检测,人脸识别,色块跟踪,轮廓检测等功能。我们所要做得就是将其与我们的游戏结合即可。可以看到基本的流程可以如下实现:
数据获取及分析
1、使用DS获取摄像头数据(使用Grabber滤波器直接获取到RAM)
2、使用OpenCV对获取的数据分析得到想要的结果
数据获取及使用
1、使用多边形的典型数据结构PolyPolygons进行数据的存储和使用。
最需要的功能碰撞检测,可以参考基于2D多边形的碰撞检测和响应一文
或者直接使用物理引擎。
这样你就可以使用其他的显示库和游戏引擎进行互动游戏的开发了。
4. 问题
摄像头获取数据的不稳定性导致得到的数据在每次更新过程中都会发生改变,在这种情况下碰撞检测会不精确;玩家背景的变化也会导致游戏的易操作性和可玩性下降。(最好买游戏附送绿幕)
目前这种互动技术仅仅运用于简单游戏和互动投影,对于交互性较强的游戏就显得捉襟见肘了。