using System; using System.Collections; using System.Collections.Generic; using Ktyl.Util; using UnityEngine; [RequireComponent(typeof(Renderer))] public class ShipGraphics : MonoBehaviour { [SerializeField] private Transform _ship; [SerializeField] private SerialFloat _horizontalInput; [SerializeField] private SerialFloat _distanceSinceLastBeat; [SerializeField] private float _bounce; [SerializeField] private float _maxTilt; [Range(0, 100)] [SerializeField] private float _tiltSensitivity; private Renderer _renderer; private float _tilt; private void Awake() { _renderer = GetComponent(); } private void LateUpdate() { var targetRotationAngle = _maxTilt * _horizontalInput; _tilt = Mathf.Lerp(_tilt, targetRotationAngle, _tiltSensitivity * Time.deltaTime); var rot = Quaternion.Euler(0, 0, -_tilt); transform.rotation = rot; transform.position = _ship.position + Vector3.up * _distanceSinceLastBeat * _bounce; } }