UnityGame/Library/PackageCache/com.unity.ai.navigation/Samples~/Scripts/Oscillator.cs
2024-10-27 10:53:47 +03:00

26 lines
683 B
C#

using UnityEngine;
namespace Unity.AI.Navigation.Samples
{
/// <summary>
/// Makes a transform oscillate relative to its start position
/// </summary>
public class Oscillator : MonoBehaviour
{
public float m_Amplitude = 1.0f;
public float m_Period = 1.0f;
public Vector3 m_Direction = Vector3.up;
Vector3 m_StartPosition;
void Start()
{
m_StartPosition = transform.position;
}
void Update()
{
var pos = m_StartPosition + m_Direction * m_Amplitude * Mathf.Sin(2.0f * Mathf.PI * Time.time / m_Period);
transform.position = pos;
}
}
}