[33] Framerate festlegen und langsamere Geräte simulieren – Unity3D Tutorial
Dieser Artikel ist Teil meiner Unity 2D Platformer Tutorial Reihe. In dem heutigen Video-Tutorial geht es darum manuell die Framerate unseres Spiels festzulegen. Normalerweise wird diese durch die Leistungsfähigkeit des Endgerätes, auf dem das Spiel gespielt wird, bestimmt. Aber wir haben auch manuell die Möglichkeit diese zu bestimmen. Gerade zum Testen, z.B. zum Simulieren von langsamen Smartphones , ist dies sehr hilfreich.
Tutorial-Inhalt
In diesem Unity3D-Tutorial geht es darum wie Ihr diese Framerate selber einstellen könnt und damit auch Bugs finden könnt. In dem Video nutzen wir hierfür einen Fehler im PlayerController-Skript, der sich nur bei geringen Framerates auswirkt. Wie wir uns nun diesem Fehler genau nähern, erfahrt Ihr in dem Video. Viel Spaß beim Anschauen!
Wie immer könnt Ihr mir gerne unten in den Kommentaren Eure Meinung hinterlassen und Fragen stellen, wenn Ihr etwas nicht verstanden habt. Ich freue mich 🙂
PS: Ihr möchtet die Originalskripte aus den Videos haben? Oder Ihr wollt mich einfach nur unterstützten? Dann geht es hier entlang.
Danke für dein weltklasse Tutorial – Du hast mir den Einstieg in Unity sehr erleichtert! Ich versuche gerade einzubauen, dass bei 20 gesammelten Coins die Gesundheit wieder auf 5 springt, aber ich schaffe es einfach nicht…Könntest du mir dabei weiterhelfen? Liebe Grüße
Hi Philipp, vielen Dank für Dein Lob.
Du musst mit GetItems abfragen, ob 20 Coins erreicht sind. Wenn ja, dann setze die Gesundheit auf 5 und ziehe von den Coins 20 ab bzw. du setzt mit SetItems Coins auf 0 bzw. Coins-Anzahl abzüglich 20.
Hey Carsten, geht das ganze nicht auch einfacher indem man die Steuerung/Bewegung in die fixedUpdate Methode einbaut die unity bereitstellt, denn diese wird immer genauso oft aufgerufen und gewährleistet doch die Richtigkeit?
Grüße Toni
Hallo Toni, in dem Video soll es vor allem darum gehen wie man Frame-abhängige Fehler, die sich z.B. auf langsameren Geräten bemerkbar machen, entdecken kann.
Du hast natürlich recht, dass das Verschieben der gesamten Codezeilen von Update in die FixedUpdate dieses Problem lösen würde. Allerdings müssten wir dann den gesamten Code etwas umbauen, da wir sonst woanders (z.B. bei der Tastatureingabe) Probleme bekämen.
Hallo Carsten, danke für deine schnelle Antwort!
Ich verzweifle immer noch am gleichen Problem – ich kann mir zwar vorstellen, wie es funktioniert, aber ich weiß einfach nicht WO ich WAS hinschreiben muss -.- Könntest du mir bitte noch einmal etwas helfen?
Hey 🙂
Habe ich jetzt somit immer die gleiche Sprungkraft auf allen Geräten?