我一直在尝试创建用于其他项目的触摸控制器api(例如,触摸控制的音板),我尝试了几种包装器,例如Ab3d.OculusWrap,但是我无法找到一种方法来做我自己的事情。想要。我创建了自己的C ++ dll以使用ovrInit_Invisible标志初始化oculus(在不认为自己的dll是游戏的情况下启动oculus),并且耳机似乎已正确初始化。在我的dll中,我有一个名为poll的函数,该函数将轮询最新的触摸状态(请检查下面的代码)现在,所有事情都过去了,真正的问题是获取有关触摸控制器的信息。每当返回touchState.IndexTrigger [0](左手手指触发器)时,它总是返回0。这与指杆,手柄和按钮相同。我想这是轮询的问题,但是我实际上从libOVR文档中删除了代码。
轮询触摸状态
ovr_GetInputState(HMD, ovrControllerType_Touch, &touchState);
初始化HMD
ovrGraphicsLuid g_luid;
ovrInitParams params;
params.Flags = ovrInit_Invisible;
ovrResult result = ovr_Initialize(¶ms);
if (OVR_FAILURE(result))
return 0;
result = ovr_Create(&HMD, &g_luid);
我不知道这是我的问题/故障还是SDK,但是我在过去的2天中尝试了几种初始化方式(不传递参数),并尝试验证了DllImport签名是否正确而且我找不到问题。 感谢所有帮助,谢谢。