public void MixClip(HapticClip clip, OVRInput.Controller controller) { OVRHaptics.OVRHapticsChannel channel; if (controller == OVRInput.Controller.LTouch) { channel = OVRHaptics.LeftChannel; } else if (controller == OVRInput.Controller.RTouch) { channel = OVRHaptics.RightChannel; } else { Debug.Log("invalid controller passed to HapticManager!"); return; } if (clipDictionary.ContainsKey(clip)) { channel.Mix(clipDictionary[clip]); } else { Debug.Log(clip.name + " is not preloaded by the Haptic Manager, will play anyway but will be slower"); channel.Mix(clip.GetHapticClip()); } }
public void RegisterNewClip(HapticClip clip) { //Debug.Log("New Clip register called on " + clip.name); if (clipDictionary == null) { BuildClipDictionary(); } if (!clipDictionary.ContainsKey(clip)) { clipLibrary.Add(clip); clipDictionary.Add(clip, clip.GetHapticClip()); } }
// Update is called once per frame void Update() { if (playing) { if (currentTime >= currentClip.length) { if (!currentClip.loop) { playing = false; currentClip = null; currentTime = 0; return; } else { currentTime = 0; } } int pulse = currentClip.GetValueFromCurve(currentTime); // Debug.Log(currentTime); TriggetHapticPulse(pulse); currentTime += Time.deltaTime; } }
public void Play(HapticClip clip) { currentTime = 0; playing = true; currentClip = clip; }
public void Play(HapticListener hapticListener, HapticClip hapticClip) { hapticListener.Play(hapticClip); }