using UnityEngine; [CreateAssetMenu(fileName = "NewCarPhysics", menuName = "Car System/Physics Data")] public class CarPhysicsData : ScriptableObject { [Header("Двигатель и КПП")] public AnimationCurve torqueCurve; // Кривая: X - обороты (RPM), Y - крутящий момент (Nm) public float maxRPM = 7000f; public float minRPM = 800f; public float shiftUpRPM = 6000f; public float shiftDownRPM = 2500f; public float[] gearRatios = { 3.1f, 2.2f, 1.6f, 1.2f, 0.9f, 0.7f }; public float finalDrive = 3.4f; [Header("Рулевое управление")] public float maxSteerAngle = 35f; public float steerSmoothing = 10f; // Скорость поворота руля [Tooltip("Как сильно режется угол поворота на высокой скорости")] public AnimationCurve steerAngleBySpeed; // X - скорость (км/ч), Y - множитель угла (0..1) [Header("Подвеска и физика")] public Vector3 centerOfMassOffset = new Vector3(0, -0.2f, 0); // Пониженный центр масс public float antiRollForce = 5000f; // Стабилизатор поперечной устойчивости public float brakeForce = 3000f; [Header("Дрифт (Ручник)")] public float handbrakeFrictionMultiplier = 0.3f; // Насколько скользкой становится задняя ось }