Portierung auf Android in einigen Bereichen fehlerhaft

  • Hallo zusammen,


    Ich habe in einer 90 Minuten Session ein 2.5D Sidescroller erstellt, um die Portierung zu Android zu testen und mich damit vertraut zu machen.


    Als erstes hatte ich das Projekt für Windows erstellt und dort hatte alles geklappt. Intro Video, Main Menü und Spielstart kein Problem.


    Für Android hatte ich nun den Default Virtual Joystick aktiviert und nach einigen Versuchen klappte auch die Portierung zu Android. Nach dem ersten Test sind mir aber folgende Fehler aufgefallen, wo ich nicht weiß, woran das liegt, bzw keine Lösungsansätze habe.


    1. Die Kamera ist auf Android viel näher an dem PlayerCharacter als unter Windows. Wie kann ich das lösen?

    Scheinbar ist dies Smartphone abhängig. Auf einem anderen Testgerät war das Bild in Ordnung.

    2. Der Virtual Joystick wird angezeigt und funktioniert auch. Da ich nur die Bewegungen links, rechts und springen habe, brauche ich nur einen Joystick links und nicht beide. Springen funktioniert mit Tap auf dem Bildschirm. Wie bekomme ich nur einen Joystick angezeigt?

    3. Joystick und Tap für springen funktioniert nicht gleichzeitig. Kann ich das irgendwie ändern?

    4. In der Windows Version lädt sich das Main Menu wieder, wenn der Spieler abstürzt. In der Android Version bleibt das Bild an der Stelle stehen und es tut sich gar nichts. Welche Einstellung muss ich vornehmen, dass das Menü nach Character Tod automatisch aufgerufen wird?


    Ich danke schon mal für eure Tipps.

  • Fangen wir mal von hinten an, da ich mich mit Android-Portationen nicht wirklich auskenne.

    Also zu 4. Irgendwo, meistens im Character-Controller, musst du ja abfragen, ob dein Character noch lebt. Da dann ein Branch setzen, damit das Hauptmenü im Falle des Todes geladen und angezeigt wird. Sollte eigentlich in allen Spielversionen so funktionieren, also Windows, iOS, Linux und Android.


    3. Kann ich jetzt nur theoretisch beantworten, aber ich glaube, das ist eher der Funktionsweise von Touchscreens geschuldet. Wenn man den Finger permanent auf einer Stelle des Bildschirms hat, dann erkennt der nicht unbedingt ein Tap an einer anderen Stelle.

    1. Ich vermute hier einfach mal, dass dies daran liegt, dass das Seitenverhältnis bei einem Smartphone schlichtweg ganz anders ist, als bei einem gewöhnlichen Monitor. Wie gesagt, ich hatte ja noch nie Ambitionen irgendetwas auf ein Smartphone zu portieren, aber irgendwo kannst du das, wenn ich mich richtig erinnere, auch einstellen in der Engine, also bei verschiedenen Auflösungen und Seitenverhältnissen, wie sich das Spiel dann verhalten soll.

  • Guten Morgen.


    Ich habe es gelöst bekommen.


    Falls es irgendjemanden irgendwann helfen sollte, hier meine Lösungswege.


    Zu


    1. Wie oben bereits erwähnt, hängt der Blickwinkel der Kamera stark vom Smartphone ab. Auf großen Bildschirmen, z.b. Galaxy Fold 4, ist die Kamera viel näher als beim Galaxy S21.


    2. Es muss ein Touch Interface erstellt werden, als Image 1 der Joystick Virtual Thumb hinterlegt und in den Project Settings das Touch Interface unter Input als Controller hinterlegt werden.


    3. Wenn man ein Widget erstellt mit einem Jump Button auf der rechten Seite, funktioniert beides gleichzeitig.


    4. Wie gesagt, die Rückkehr nach dem Tod ins MainMenu funktioniert unter Windows, aber nicht für Android. Nach dem neuen Kompilieren der entsprechenden Blueprints, ohne Änderung, funktioniert dies jetzt nun auch unter Android.


    Vielleicht hilft es dem einen oder anderen in der Zukunft.