Also habe ich ein Spielobjekt (mein Spieler), das sich über einen Joystick bewegt. Ohne den rotierenden Code bewegt sich mein Player gut und flüssig, aber nachdem ich den Drehcode unter das Spielobjekt gesetzt habe, dreht sich das Spielobjekt ständig (360 Grad), wenn ich versuche es zu bewegen.Wie kann ich verhindern, dass mein Spielobjekt sich ständig dreht, wenn ich versuche, es zu bewegen?
Mein Ziel ist es, den Player um einen bestimmten Winkel zu drehen, wenn der Spieler dreht.
void Update()
{
// move
_rigidbody.MovePosition(transform.position + (transform.forward * leftController.GetTouchPosition.y * Time.deltaTime * speedMovements) +
(transform.right * leftController.GetTouchPosition.x * Time.deltaTime * speedMovements));
//rotate
double rad = Mathf.Atan2(leftController.GetTouchPosition.y, leftController.GetTouchPosition.x); // In radians
double deg = rad * (180/System.Math.PI);
transform.RotateAround(transform.position, Vector3.up * Time.deltaTime, (float) deg);
}
In Ihrer letzten Codezeile. 'transform.RotateAround (transform.position, Vector3.up, Time.deltaTime * (float) deg);' Sollte es nicht mehr so sein? – Thalthanas
@EmreE es ist ein wenig besser. jetzt.aber das problem ist jetzt, dass, wenn ich zum beispiel meinen joystick in der oberen linken position mein spieler bewegt sich in dieser position und während es dreht sich die ganze zeit wegen jedes rahmens. Was ich will ist, dass ich normal zu einer Position gehe und es sollte nur eine Drehung für jeden Winkel geben. es dreht sich 360 wenn ich mich bewege ... – KeyNavas