first commit
This commit is contained in:
35
NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs
Normal file
35
NitroxClient/Unity/Smoothing/ExosuitSmoothRotation.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NitroxClient.Unity.Smoothing
|
||||
{
|
||||
class ExosuitSmoothRotation : SmoothRotation
|
||||
{
|
||||
private const float SMOOTHING_SPEED = 20f;
|
||||
private float timeCount = 0;
|
||||
private Quaternion target;
|
||||
public new Quaternion Target
|
||||
{
|
||||
get => target;
|
||||
set
|
||||
{
|
||||
timeCount = 0;
|
||||
target = value;
|
||||
}
|
||||
}
|
||||
|
||||
public ExosuitSmoothRotation(Quaternion initial)
|
||||
{
|
||||
Target = Current = initial;
|
||||
}
|
||||
|
||||
public ExosuitSmoothRotation()
|
||||
{
|
||||
}
|
||||
|
||||
public new void FixedUpdate()
|
||||
{
|
||||
Current = Quaternion.Slerp(Current, Target, timeCount + SMOOTHING_SPEED * Time.fixedDeltaTime);
|
||||
timeCount += SMOOTHING_SPEED * Time.fixedDeltaTime;
|
||||
}
|
||||
}
|
||||
}
|
21
NitroxClient/Unity/Smoothing/SmoothParameter.cs
Normal file
21
NitroxClient/Unity/Smoothing/SmoothParameter.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NitroxClient.Unity.Smoothing
|
||||
{
|
||||
public class SmoothParameter
|
||||
{
|
||||
private const float SMOOTHING_SPEED = 10f;
|
||||
public float Target { get; set; } = 0;
|
||||
public float SmoothValue { get; private set; } = 0;
|
||||
|
||||
public SmoothParameter(float initial = 0)
|
||||
{
|
||||
Target = SmoothValue = initial;
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
SmoothValue = UWE.Utils.Slerp(SmoothValue, Target, (Target - SmoothValue) * SMOOTHING_SPEED * Time.fixedDeltaTime);
|
||||
}
|
||||
}
|
||||
}
|
25
NitroxClient/Unity/Smoothing/SmoothRotation.cs
Normal file
25
NitroxClient/Unity/Smoothing/SmoothRotation.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NitroxClient.Unity.Smoothing
|
||||
{
|
||||
public class SmoothRotation
|
||||
{
|
||||
private const float SMOOTHING_SPEED = 10f;
|
||||
public Quaternion Target { get; set; }
|
||||
public Quaternion Current { get; set; }
|
||||
|
||||
public SmoothRotation(Quaternion initial)
|
||||
{
|
||||
Target = Current = initial;
|
||||
}
|
||||
|
||||
public SmoothRotation()
|
||||
{
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
Current = Quaternion.Slerp(Current, Target, SMOOTHING_SPEED * Time.fixedDeltaTime);
|
||||
}
|
||||
}
|
||||
}
|
25
NitroxClient/Unity/Smoothing/SmoothVector.cs
Normal file
25
NitroxClient/Unity/Smoothing/SmoothVector.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace NitroxClient.Unity.Smoothing
|
||||
{
|
||||
public class SmoothVector
|
||||
{
|
||||
private const float SMOOTHING_SPEED = 10f;
|
||||
public Vector3 Target { get; set; }
|
||||
public Vector3 Current { get; set; }
|
||||
|
||||
public SmoothVector(Vector3 initial)
|
||||
{
|
||||
Target = Current = initial;
|
||||
}
|
||||
|
||||
public SmoothVector()
|
||||
{
|
||||
}
|
||||
|
||||
public void FixedUpdate()
|
||||
{
|
||||
Current = UWE.Utils.SlerpVector(Current, Target, (Target - Current).normalized * SMOOTHING_SPEED * Time.fixedDeltaTime);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user