Хочу сделать простое управление автомобилем что бы при длительном повороте заднюю часть начинало заносить ( скажем как в Asphalt 8) но , реализация должна быть сделана через rigidbody без wheel сoll. И тут я предпринял несколько попыток это сделать:
1)
Синтаксис:
Используется csharp
//MoveCar
Vector3 movement = transform.forward * Time.deltaTime * speed * 1f;
rb.MovePosition(movement + transform.position);
rb.isKinematic = true;
// TurnCar
float angel = Input.GetAxisRaw("Horizontal") * turnSpeed * Time.deltaTime;
Quaternion rot = Quaternion.Euler(0, angel, 0);
rb.MoveRotation(rot * transform.rotation);
И все бы ничего, но так и не придумал как добавить тот самый занос.
2)
Синтаксис:
Используется csharp
if (CheekSpeed(rb.velocity , MaxSpeed))
{
rb.AddRelativeForce(speed * Vector3.forward);
}
float angel = Input.GetAxisRaw("Horizontal") * turnSpeed ;
rb.AddRelativeTorque(Vector3.up * angel , ForceMode.Impulse);
{
rb.AddRelativeForce(speed * Vector3.forward);
}
float angel = Input.GetAxisRaw("Horizontal") * turnSpeed ;
rb.AddRelativeTorque(Vector3.up * angel , ForceMode.Impulse);
Тут у меня получилось сделать имитацию того самого заноса , но тут перестарался и автомобиль почти не едет прямо.
Подскажите куда копать, может у кого есть подобные решения)
PS. - Простите за такой код, только учусь