我们开始为 HTC Vive 创建应用程序,但最初并未使用 VRTK。最近我们切换到使用 VRTK 并遇到了一个问题,我们想要在一个控制器按住触发器而另一个控制器按下另一个按钮时执行一些操作。我们如何使用 VRTK 实现这一目标?我们当前的代码:
controllerMain = SteamVR_Controller.Input((int)trackedObj.index);
controllerSecondary = SteamVR_Controller.Input(SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Leftmost));
// In Update()
if (controllerMain.GetPressDown(triggerButton) && controllerSecondary.GetPressDown(triggerButton))
{
scaleSelected(gameObj); //enlarges selected GameObject based on distance between controllers
}
if (controllerMain.GetPressDown(triggerButton) && controllerSecondary.GetPressDown(gripButton))
{
deleteObject(gameObj); //delete selected GameObject
}
我在 VRTK 文档中找不到任何两个控制器都用于与同一对象交互的示例。在文档/示例中,一切都是基于事件的,而我们的代码不是,并且没有两个控制器的操作示例。我们如何实现类似的行为?
编辑-VRTK