Jolly Roger Geschrieben 16. August 2022 Melden Share Geschrieben 16. August 2022 Moin moin! ich habe gerade festgestellt das sich mein Player im Build wesentlich schneller bewegt. Im Editor ist er relativ langsam und in der Buildversion ist er ruckzuck weg von Screen ^^ Woran könnte das liegen? Am Code Wahrscheinlich nicht oda? private void FixedUpdate() { rigid.velocity = moveValue; } public void OnMove(InputAction.CallbackContext context) { moveValue = context.ReadValue<Vector2>() * speed * Time.deltaTime; } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jolly Roger Geschrieben 16. August 2022 Autor Melden Share Geschrieben 16. August 2022 Hat sich erledigt =D Time.fixedDeltaTime anstelle von Time.deltaTime war die Lösung Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 16. August 2022 Melden Share Geschrieben 16. August 2022 Geht zwar, aber nein - Einfach gar nichts nehmen. Du hast hier eine Geschwindigkeit, die du setzt. Diese Geschwindigkeit brauchst du nicht mit irgendeinem DeltaTime-Wert zu multiplizieren. Dass es jetzt in Build und Editor gleich ist, liegt daran, dass fixedDeltaTime (quasi) eine Konstante ist. Es ergibt aber keinen Sinn, sie draufzumultiplizieren. Einfach moveValue = context.ReadValue<Vector2>() * speed; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jolly Roger Geschrieben 17. August 2022 Autor Melden Share Geschrieben 17. August 2022 achso ok .. man sieht im Netzt oft das die das mit der deltaTime multiplizieren, bzw. mit der fixedDeltaTime ... je nach Update Methode. War eigentlich auch immer etwas skeptisch weil die FixedUpdate ja Framerate unabhängig sein soll, habs dann aber doch einfach so nachgemacht. Aber gut dann lassen wa das einfach weg, danke! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. August 2022 Melden Share Geschrieben 17. August 2022 vor 3 Minuten schrieb Jolly Roger: achso ok .. man sieht im Netzt oft das die das mit der deltaTime multiplizieren, bzw. mit der fixedDeltaTime ... je nach Update Methode. Ja, aber es ist wichtig, was man warum macht. Die Multiplikation machst du, wenn du jeden Frame ein bisschen irgendwo draufrechnest, z.B. die Geschwindigkeit auf die Position addierst. "* deltaTime" kannst du als "pro Sekunde" lesen. Wenn du also sagst private void Update() { position += x; } dann heißt das "Ich bewege mich mit x pro Frame", aber private void Update() { position += x * Time.deltaTime; } heißt "Ich bewege mich mit x pro Sekunde". Wenn du aber velocity, also die Geschwindigkeit setzt, dann ist das schon "pro Sekunde". Weil dein Rigidbody jedes FixedUpdate die velocity nimmt, Time.fixedDeltaTime draufmultipliziert und das Ergebnis auf die Position des Rigidbodys rechnet. Wenn du also die Velocity setzt und deltaTime draufmultiplizierst, dann machst du "pro Sekunde pro Sekunde", also "pro Sekunde zum Quadrat" und wenn du in Physik aufgepasst hast: Das ist eine Beschleunigung So als Tipp: fixedDeltaTime braucht man tatsächlich nie. Es ist nur dann überhaupt sinnvoll, wenn man es in FixedUpdate benutzt, und da kannst du auch Time.deltaTime benutzen, weil es innerhalb vom FixedUpdate-Kontext immer denselben Wert zurückgibt wie fixedDeltaTime. vor 9 Minuten schrieb Jolly Roger: War eigentlich auch immer etwas skeptisch weil die FixedUpdate ja Framerate unabhängig sein soll, habs dann aber doch einfach so nachgemacht. Aber gut dann lassen wa das einfach weg, danke! Ja, es ist quasi framerate-unabhängig. Nicht im Echtzeit-Sinne, aber man kann es so benutzen. Hier hast du was zum Lesen, wenn du magst: http://blog.13pixels.de/2019/what-exactly-is-fixedupdate/ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jolly Roger Geschrieben 17. August 2022 Autor Melden Share Geschrieben 17. August 2022 Ah ok ... vielen Dank für die Erklärung und den Artikel. Die FixedUpdate kann also auch mehrmals hintereinander gefeuert werden, falls quasie ein Frame zu lange braucht. Interessant und gut zu wissen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.