53 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
|
|
|
|
} |