Я не делал, но думаю, что можно сделать объект который не поворачивается и смотреть поворот машины относительно этого объекта. Уже на основе этого можно считать очки. using UnityEngine; public class DriftScore : MonoBehaviour { public Transform carTransform; public Transform referenceObject; public float driftAngleThreshold = 30f; public int driftScore = 0; { Vector3 carForward = carTransform.forward; Vector3 referenceForward = referenceObject.forward; float angle = Vector3.SignedAngle(carForward, referenceForward, Vector3.up); if (Mathf.Abs(angle) > driftAngleThreshold) { driftScore++; Debug.Log("Очки дрифта: " + driftScore); } } }
Это будет работать на уже готовой физике машины, например RCC?
Это не будет работать, потому что машина может еще и поворачивать
это примерная реализация как бы сделал я)
Необходимо считать скорость, вектор скорости и угол между углом скорости и углом повтора автомобиля. Чем больше угол, скорость — тем выше множитель очков. Ещё можно добавить параметр расстояния от предметов. Чем ближе автомобиль к заграждениям — тем выше множитель очков дрифта. Множитель очков дрифта делай общим, чтоб совмещать в нём несколько других множителей: за скорость, за угол и за расстояние от заграждений.
А, увидел что там уже ответили, но это тоже может помочь.
Обсуждают сегодня