using System; using System.Collections; using System.Collections.Generic; using Ktyl.Util; using UnityEngine; public class Oscillate : MonoBehaviour { [SerializeField] private float _amplitude = 1; [SerializeField] private float _period = 1; [SerializeField] private SerialFloat _objectTimeScale; private Vector3 _initialPosition; private float _time; private void OnEnable() { _initialPosition = transform.localPosition; } private void LateUpdate() { _time += Time.deltaTime * _objectTimeScale; var oscillate = Mathf.Sin(_time / _period) * _amplitude; transform.localPosition = _initialPosition + transform.up * oscillate; } }