Dieser Codeabschnitt soll eine Linie zeichnen, die den Wenderadius eines Objekts mit seiner Geschwindigkeit und Winkelgeschwindigkeit darstellt. Aus irgendeinem Grund ist aber angesichts der Radius viel länger, dass es sein soll ist:Drehen Radius Wert lang
AngularVel = m_Rigidbody.angularVelocity.y;
Vel = m_Rigidbody.velocity.magnitude;
//Vel = transform.InverseTransformDirection(m_Rigidbody.velocity).z; same result
float radius = Vel/(AngularVel * Mathf.Deg2Rad);
Quaternion RadiusDirQuat = Quaternion.AngleAxis(m_Rigidbody.rotation.eulerAngles.y + 90, Vector3.up);
Vector3 radiusDir = RadiusDirQuat * Vector3.forward;
Debug.DrawRay(m_Rigidbody.position + Vector3.up, radiusDir * radius, new Color(1, 0, 0.5f, 1));
ich diesen Artikel als Referenz bin mit: https://revisionmaths.com/advanced-level-maths-revision/mechanics/motion-circle
Ich denke du willst 'AngularVel = m_Rigidbody.angularVelocity.magnitude', nein? – Quantic
Vielleicht hast du irgendwo im float radius = ... eine 2 * Pi vergessen. Ist der Radius etwa 6,28 mal so groß wie das Original? angularVelocity.y sollte Drehungen pro Sekunde geben, die (1/(2 * pi)) mal die Winkelgeschwindigkeit sind. Wenn es 2 Umdrehungen pro Sekunde hat, ist es 4 * Pi Radiant pro Sekunde. –
@Quantic Ich ersetzte es mit dem, aber bekam das gleiche Ergebnis. –