void SetupRightController() { // Search right hand controller // https://docs.unity3d.com/ja/2019.4/Manual/xr_input.html var devices = new List <InputDevice>(); InputDevices.GetDevicesWithCharacteristics( InputDeviceCharacteristics.Controller | InputDeviceCharacteristics.Right, devices ); if (devices.Count >= 1) { rightController = devices[0]; } else { return; // fail } // button setting // trigger rightTriggerDetector = new ButtonDetector(rightController.Value, CommonUsages.triggerButton); rightTriggerDetector.ButtonDown += (bd) => StartClickingByHand(rightHandGameObj); rightTriggerDetector.ButtonUp += (bd) => EndClicking(rightHandObj); // grab-related rightGripDetector = new ButtonDetector(rightController.Value, CommonUsages.gripButton); rightGripDetector.ButtonDown += (bd) => StartClickingByHand(rightHandGameObj, "grab", rightGrabbedObjects); rightGripDetector.ButtonUp += (bd) => EndClicking(rightHandObj, "ungrab", rightGrabbedObjects); }
void Start() { GameObject obj = GameObject.Find("ButtonImage"); buttonImage = obj.GetComponent <ButtonDetector>(); }