diff options
author | pryazha <pryadeiniv@mail.ru> | 2025-07-02 08:46:23 -0700 |
---|---|---|
committer | pryazha <pryadeiniv@mail.ru> | 2025-07-02 08:46:23 -0700 |
commit | 8263edd59284aba390aca011d25b79efecef4c48 (patch) | |
tree | 6346e2afaaabd32156601cafaf20d4ee813befaf /Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs |
Diffstat (limited to 'Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs')
-rw-r--r-- | Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs new file mode 100644 index 0000000..df0c95d --- /dev/null +++ b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs @@ -0,0 +1,31 @@ +using UnityEngine.InputSystem; +using UnityEngine.XR.OpenXR.Input; + +namespace UnityEngine.XR.OpenXR.Samples.ControllerSample +{ + public class ActionToHaptics : MonoBehaviour + { + public InputActionReference action; + public InputActionReference hapticAction; + public float _amplitude = 1.0f; + public float _duration = 0.1f; + public float _frequency = 0.0f; + + private void Start() + { + if (action == null || hapticAction == null) + return; + + action.action.Enable(); + hapticAction.action.Enable(); + action.action.performed += (ctx) => + { + var control = action.action.activeControl; + if (null == control) + return; + + OpenXRInput.SendHapticImpulse(hapticAction.action, _amplitude, _frequency, _duration, control.device); + }; + } + } +} |