Ich möchte mein Objekt in zufällige Richtung wählen, drehen Sie es und dann folgen Sie ihm für eine Weile. Danach wiederholen Sie alles noch einmal. Hier ist mein Code für die Richtung der WahlMeine Drehung ist seltsam
private void ChooseDirection() {
// create a random angle from 0.0 to 360.0, Remap is a simple function for it
float angle = Utils.Remap (Random.value, 0.0f, 1.0f, 0.0f, 360.0f);
transform.Rotate (Vector3.up, angle);
print (angle + " : " + transform.rotation.eulerAngles.y);
}
Der obige Code erzeugt die folgende Ausgabe an die Konsole
38.12973 : 38.12972
283.771 : 321.9007
295.227 : 257.1267
142.9637 : 40.09043
178.7077 : 218.7981
126.3595 : 345.1576
347.749 : 332.9065
250.1977 : 223.1042
243.5038 : 106.608
252.1878 : 358.7958
20.00817 : 18.804
Wie Sie die aktuelle Drehwinkel sehen kann, ist nicht der zufällig gewählten Winkel. Als Ergebnis sieht mein Objekt nicht in die Richtung, in die es sich bewegt.
Sie legen die Rotation nicht fest. Du drehst dich. (d. h. Hinzufügen der ausgewählten Drehung zur vorhandenen Drehung der Umwandlung.) – Abion47
Ich habe meinen Code geändert, jetzt stimmen die Winkel überein. Ich habe immer noch das Problem, dass das Objekt in die falsche Richtung zeigt. Ich werde versuchen, Winkel auf bekannte Werte wie 0, 10, 45, 90 ... einzustellen und zu sehen, wie es sich bewegt – sasha199568
Ich habe mein Problem gefunden. In der 'Translate' Funktion habe ich' transform.forward' verwendet. Ich hätte 'Vector3.forward' verwenden sollen. Mein Problem, du könntest mein Problem nicht gelöst haben, weil ich meinen Moving Code nicht gepostet habe – sasha199568