B.J Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 Hi Leute Ich hab in den letzten Tagem ma ein kleines Handy-Spiel mit 9 Leveln entwickelt und es mir als APK Datei auf dem Handy installiert. Grundsätzlich läuft alles prima, aber die Level laggen sehr stark und ich habe ein 2D Spiel gemacht, das nicht extrem viel Leistung braucht. Andere Spiele sind weitaus grösser und grafisch aufwendiger als mein Spiel und die laufen auf dem Handy viel besser als meins. Nun wollte ich ma fragen wie man soetwas beheben kann? Danke... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 indem man etwas mehr als 9level und 2d spiel als veranschaulichung des projektes postet lies dir doch mal selber den text durch uns sag uns wie wir daraus erkennen sollen was in deinem projekt verwendet wird und wie Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
John Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 Mhmm... es ist sehr schwer dir hierbei zu helfen, da wir nicht die Dimension des Levels hier sehen. Ich werfe hier mal brocken rein die du vielleicht checken kannst. - deine Scripts - deine Graphic-Sizes - deine Effekte(ImageEffekt) - unnötige berechnungen Mit freundlichen Grüßen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 3. Mai 2014 Autor Melden Share Geschrieben 3. Mai 2014 Welche Infos benötigst du denn um mir vielleicht zu helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
John Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 Was für Scripts du in deinem Level am laufen hast ein Screenshot von deinem Level und eine erklärung wo es genau lagt(z.b. wen du läuft, ein schalter umlegst...) und dan können wir deine schwachstelle analyseriern und ausmerzen. Mit freundlichen Grüßen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 3. Mai 2014 Autor Melden Share Geschrieben 3. Mai 2014 Hmm ok also in meinem Level muss man nicht laufen sondern der Player hat einen konstante Geschwindikeit und man muss Objekten ausweichen: using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { transform.position = new Vector3(transform.position.x+0.1f,transform.position.y,transform.position.z); } } das Problem ist einfach, das der Spieler viel zu langsam ist als er sein sollte. Wenn ich das Spiel auf dem Computer laufen lasse, läuft aber alles richtig. Ich vermute deshalb, das mein Handy die Leistung nicht bringt, sie aber eig. bringen sollte den andere Spiele laufen ja. Mein Level ist auch nicht grossartig leistungsfressend: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 hi schau dir mal das hier an https://docs.unity3d...-deltaTime.html float translation = Time.deltaTime * 10; transform.position = new Vector3(transform.position.x+translation,transform.position.y,transform.position.z); ungetestet edit : es gibt für time. verschiedene versionen : https://docs.unity3d.com/Documentation/ScriptReference/Time.html Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 3. Mai 2014 Autor Melden Share Geschrieben 3. Mai 2014 Hmmm was bringt eig. der Debugg Haken dei den Build Settings? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 3. Mai 2014 Melden Share Geschrieben 3. Mai 2014 Hmmm was bringt eig. der Debugg Haken dei den Build Settings? https://docs.unity3d.com/Documentation/Manual/PublishingBuilds.html Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 3. Mai 2014 Autor Melden Share Geschrieben 3. Mai 2014 Wie muss ich das jz. genau einfügen, also dein Script? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 4. Mai 2014 Autor Melden Share Geschrieben 4. Mai 2014 Hmmm aber ich glaube nicht, das der Lagg am Script liegt(Ich bin kein Unity -Profi und werde auch gerne eines besseren belehrt..) denn auf dem Tablet und auf dem Computer funkzioniert die App ja. Auch vermute ich nicht das das Handy die Leistung nicht bringt.Kann es sein, das es einfach die Daten nicht richtig anwendet und das Spiel falsch laufen lässt oder so ähnlich....? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
devandart Geschrieben 5. Mai 2014 Melden Share Geschrieben 5. Mai 2014 Das Snippet vom Schlumpf bewirkt, dass diene Figur auch, wenn du weniger Bilder die Sekunde renderst, dieselbe Geschwindigkeit hat. Hast Du auf dem PC 120 FPS und auf dem Handy 12 FPS, wird trotzdem relativ zur Zeit derselbe Wert berechnet. Das hört sich schon sehr nach dem "Problem" an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 5. Mai 2014 Autor Melden Share Geschrieben 5. Mai 2014 Erreiche ich den gleichen Effekt auch so?Also wenn ich auf fixed Update stelle using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame fixed Update () { transform.position = new Vector3(transform.position.x+0.1f,transform.position.y,transform.position.z); } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 5. Mai 2014 Melden Share Geschrieben 5. Mai 2014 warum machst du es nich einfach wie vorgeschlagen oder schaust dir den link an ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 5. Mai 2014 Autor Melden Share Geschrieben 5. Mai 2014 Ich habs mir in der Zwischenzeit angesehen und irgendwie verstehe ich das nicht. Wäre jemand so nett mir zu zeigen wie man das mit der time.deltaTime in meinem Script einbaut(mit Erklärung sonst versteh ichs nicht:) )Also so das die Geschwindikeit die selbe ist egal wie viele FPS das Gerät hat, mit dem ich spiele. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 5. Mai 2014 Melden Share Geschrieben 5. Mai 2014 bisl was musst schon selber machen https://docs.unity3d...rence/Time.html steht was was macht und das blaue sind links mit beispielen captureFramerate Slows game playback time to allow screenshots to be saved between frames deltaTime The time in seconds it took to complete the last frame (Read Only). fixedDeltaTime The interval in seconds at which physics and other fixed frame rate updates (like MonoBehaviour's FixedUpdate) are performed fixedTime The time the latest FixedUpdate has started (Read Only). This is the time in seconds since the start of the game frameCount The total number of frames that have passed (Read Only maximumDeltaTime The maximum time a frame can take. Physics and other fixed frame rate updates (like MonoBehaviour's FixedUpdate realtimeSinceStartup The real time in seconds since the game started (Read Only smoothDeltaTime A smoothed out Time.deltaTime (Read Only time The time this frame has started (Read Only). This is the time in seconds since the start of the game timeScale The scale at which the time is passing. This can be used for slow motion effects timeSinceLevelLoad The time this frame has started (Read Only). This is the time in seconds since the last level has been loaded. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
B.J Geschrieben 5. Mai 2014 Autor Melden Share Geschrieben 5. Mai 2014 Kann es sein, das ich es so machen muss? var speed: float = 10; function Update(){ // move the object forward/backward at speed units per second: transform.Translate(transform.forward * speed * Input.GetAxis("Vertical") * Time.deltaTime); } 2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gassi Geschrieben 9. Mai 2014 Melden Share Geschrieben 9. Mai 2014 Jein.. vorher hattest du ja kein Input drinne. Sonst, ja Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.