Files

53 lines
1.2 KiB
C#

using System;
using UnityEngine;
namespace HurricaneVR.Framework.Shared
{
[CreateAssetMenu(menuName = "HurricaneVR/Grab Haptics", fileName = "GrabHaptics")]
public class HVRGrabHaptics : ScriptableObject
{
public void Reset()
{
HandHover = new HapticData(.02f, .05f, 50f);
ForceHover = new HapticData(.02f, .05f, 50);
HandGrab = new HapticData(.04f, .5f, 50f);
ForceGrab = new HapticData(.04f, .6f, 60f);
HandRelease = new HapticData(.025f, .2f, 45f);
}
public HapticData HandGrab;
public HapticData HandRelease;
public HapticData HandHover;
public HapticData ForceGrab;
public HapticData ForceHover;
}
[Serializable]
public class HapticData
{
public float Duration;
public float Amplitude;
public float Frequency;
public bool Valid => Duration > .001f && Amplitude > .001f && Frequency > .001f;
public HapticData()
{
}
public HapticData(float duration, float amplitude, float frequency)
{
Duration = duration;
Amplitude = amplitude;
Frequency = frequency;
}
}
}