28 lines
1.4 KiB
C#
28 lines
1.4 KiB
C#
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; // Насколько скользкой становится задняя ось
|
|
} |