using System.Collections; using System.Collections.Generic; using UnityEngine; public class Oscillator : MonoBehaviour { [SerializeField] float sinModifier = 3f; float CalculateSin => Mathf.PI * sinModifier; [SerializeField] Vector3 moveToVector; [SerializeField] float timeForMovement = 2f; Vector3 pos; float movementFactor; void Start() { pos = transform.position; } void Update() { if (timeForMovement <= Mathf.Epsilon) return; float timeCycle = Time.time / timeForMovement; float rawSinWave = Mathf.Sin(timeCycle * CalculateSin); movementFactor = (rawSinWave + 1f) / 2f; Vector3 offset = moveToVector * movementFactor; transform.position = pos + offset; } }