|
|
一:什么是虚拟控制器
所谓虚拟控制器,指的是由ACOMPAL组开发的利用摄像头来假定物品做为控制器的软件,英文缩写为V.S.C。例如摩托虚拟拟控制器,可以将一把椅子假定为一辆摩托。你可以骑在上面控制游戏中的对应摩托,从而极大的增强了游戏的临场感。
二:标准的虚拟控制器结构简述:
通常,一个标准的虚拟控制器由如下部分构成:
1:蛙眼系统。此系统用于完成将人物从周围景物中提取出来的扣像运算。
2:候鸟仪。此系统用于划定待检测人物区域。例如需要检测移动者的手部,则候鸟仪将负责把人物手部区域指示出来。
3:形态识别器。此系统用于判定当前人物的动作。注意,蛙眼系统与候鸟仪已足够通常应用。形态识别器属选择应用范酬。
三:虚拟控制器接口简述:
虽然实现虚拟控制器的具体实现设备相对复杂 ,但其调用接口却相对简单。如果您想应用虚拟控制器,一个简单的办法就是直接购买您所虚要的虚拟控制器,然后调用之。现以Gens32 Surreal v1.67 R2中的20060519型虚拟控制器调用为例进行简述。
Gens32 Surreal v1.67 R2中,虚拟控制器相关部件如下:
1:摄像头控制组件。
此部分具体实现详见MSDN,此处略过。
2:虚拟控制器管理组件。
此部分用于管理虚拟控制器的挂接与释放。详细的方法可参阅动态链接库调用相关文档,此处略过。
Gens32 Surreal v1.67 R2所支持虚拟控制器接口定义:
1:初始化函数,用于初始化VSC,返回值为此VSC的型号标识,一般是完成时间的缩写。如20060519。注意:不同型号之间接口函数可能不同。
函数定义如下:
int INIT(HWND hWnd,LPCSTR VSCPATH)
参数说明:
hWnd为调用窗口句柄。
VSCPATH为VSC路劲。可用于指示配置文件存放路径。
2:运作函数。对于运作函数,只要传入当前摄像头图像缓冲区地址,映射控制器数组即可。
函数定义如下:
int PORT_VSC(unsigned char* Camera_Screen32,unsigned char AdjustMode,unsigned char *Controller)
参数说明:
Camera_Screen32 : 24Bit BGR格式图像缓冲区数组。Gens32 Surreal中强制指定分辨律为320*240。PS:强制指定有可能引发一点兼容性问题。不过可以极大的简化设备初始化代码。
AdjustMode:运行模式。
1表示配置模式。此模式下VSC将向图像缓冲区输入相关的数据用于辅助用户调节摄像头。
0表示运行模式。VSC将处于执行状态。
Controller:24个成员的数组指针。用于输入/输出键位映射信息。20060519型键位定义如下:
//Virtual Controller;
//=====================
//Key Map
//0 ; Up;
//1 : Down;
//2 : Left;
//3 : Right;
//
//4 : A;
//5 : B;
//6 : C;
//
//7 : Start;
//8 : Mode;
//
//9 : X;
//10 : Y;
//11 : Z;
//12 : V.S.C;
//=====================
3:关闭函数。用于释放前关闭VSC。
函数定义如下:
int CLOSE();
四:相关链接:
Gens32官方网站(ACOMPAL官方网站)。
http://gens32.emubase.de
摩拖车虚拟控置器v1.00版相关链接:
http://gens32.emubase.de/Forum/viewthread.php?tid=22&extra=page%3D1
|
|