Wir begannen eine App für HTC Vive zu erstellen, ohne VRTK zunächst zu verwenden. Vor kurzem sind wir zu VRTK übergegangen und hatten ein Problem, bei dem wir etwas tun wollen, wenn ein Controller den Trigger hält und der andere einen anderen Knopf drückt. Wie erreichen wir dies mit VRTK? Unser aktueller Code:Second Controller Aktionen VRTK HTC Vive
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
}
Ich konnte keine Beispiele finden, wo beide Controller verwendet werden, mit dem gleichen Objekt in dem VRTK docs zu interagieren. In den Dokumenten/Beispielen ist alles ereignisbasiert, während unser Code nicht vorhanden ist und es keine Beispiele für Aktionen mit beiden Controllern gibt. Wie erreichen wir ein ähnliches Verhalten?
Bearbeiten- VRTK
Ja, das würde funktionieren (im Wesentlichen was wir haben), aber ich bin speziell auf der Suche nach einer VRTK-Lösung. Woher weiß ich über VRTK, welcher Controller mir die Ereignisse schickt? – stackErr
@stackErr Tut mir leid, dass ich deine Frage missverstanden habe –