ProjectDDD/Assets/External/Behavior Designer/Runtime/Tasks/Unity/Quaternion/Slerp.cs
2025-07-07 19:25:56 +09:00

31 lines
964 B (Stored with Git LFS)
C#

using UnityEngine;
namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityQuaternion
{
[TaskCategory("Unity/Quaternion")]
[TaskDescription("Spherically lerp between two quaternions.")]
public class Slerp : Action
{
[Tooltip("The from rotation")]
public SharedQuaternion fromQuaternion;
[Tooltip("The to rotation")]
public SharedQuaternion toQuaternion;
[Tooltip("The amount to lerp")]
public SharedFloat amount;
[Tooltip("The stored result")]
[RequiredField]
public SharedQuaternion storeResult;
public override TaskStatus OnUpdate()
{
storeResult.Value = Quaternion.Slerp(fromQuaternion.Value, toQuaternion.Value, amount.Value);
return TaskStatus.Success;
}
public override void OnReset()
{
fromQuaternion = toQuaternion = storeResult = Quaternion.identity;
amount = 0;
}
}
}