Мы начали создавать приложение для 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