您的位置:首页 > 新闻动态 > 技术文章

WiseGlove数据手套 for Unity3D插件免费为用户提供

来源: 2015/11/10      点击:

为方便Unity平台的客户使用我公司的WonGlove数据手套,公司针为WonGlove数据手套编写了适合Unity3D虚拟现实开发平台设备Get WonGlove插件。使用该插件,用户可以很方便地在Unity平台里使用WonGlove和WiseXMA位置跟踪器,不会再为数据手套不能在Unity环境使用感到困惑。


wiseglove, wisexma unity3d动作捕捉绑定


在Unity3D环境下同时使用WiseGlove数据手套和WiseXMA跟踪器



WonGlove数据手套的调用方法:

1.设置系统环境变量,添加warpWonGlove.dll和WonGlove.dll所在目录的路径,重新启动Unity3D

2.在Unity的脚本中,添加using WonGlove;

[DllImport("WonGloveU3D",EntryPoint = "wgInit")]

private static extern int wgInit();

[DllImport("WonGloveU3D",EntryPoint = "wgClose")]

private static extern int wgClose();

[DllImport("WonGloveU3D",EntryPoint = "wgGetData")]

extern static void wgGetData([MarshalAs(UnmanagedType.LPArray,SizeParamIndex=1)]int[] retData);

[DllImport("WonGloveU3D",EntryPoint = "wgGetAngle")]

extern static void wgGetAngle([MarshalAs(UnmanagedType.LPArray,SizeParamIndex=1)]float[] retAngle);

3.以下为数据手套初始化
void Start () {

int num;

num=wgInit();

Debug.Log(num.ToString());

}

4.以下调用读取手套传感器值或者角度

void Update () {

//此处是读取传感器角度的过程

float[] ret_angle;
ret_angle=new float[5];//为WiseGlove5传感器手套申请数组,长度5
wgGetAngle(ret_angle);
Debug.Log("Angle:"+ret_angle[0].ToString()+"==="+ret_angle[1].ToString()+"==="+ret_angle[2].ToString()+"==="+ret_angle[3].ToString()+"==="+ret_angle[4].ToString());

//界面显示角度值
guiText.text=("Angle:"+ret_angle[0].ToString()+"==="+ret_angle[1].ToString()+"==="+ret_angle[2].ToString()+"==="+ret_angle[3].ToString()+"==="+ret_angle[4].ToString());

/* //此处是读取传感器值的过程
GetComponent().text="WiseGlove SDK example for Unity3D";
int[] ret_data;
ret_data=new int[5]; //为WiseGlove5传感器手套申请数组,长度5
wgGetData(ret_data);

//调试窗口输出传感器值
Debug.Log("Data:"+ret_data[0].ToString()+"==="+ret_data[1].ToString()+"==="+ret_data[2].ToString()+"==="+ret_data[3].ToString()+"==="+ret_data[4].ToString());
*/
}

5.以下关闭数据手套调用

void OnDestroy () {

wgClose();
Debug.Log("Script was destroyed");
}