Pixelige Kamera bewegung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Pixelige Kamera bewegung

    Guten Morgen zusammen,

    ich habe ein Problem mit meiner Kamera und würde mich freuen, wenn ihr mir helfen könntet :)

    In meinem Projekt habe ich eine recht geringe Auflösung: 400x225
    Es handelt sich um ein 2D sidescroller Jump 'n' Run.

    Wenn sich mein Player bewegt, dann versucht die Kamera ihm ab einer gewissen Distanz erst weich und dann etwas zügiger zu folgen. (Ich hoffe ihr wisst was ich meine :rolleyes: )
    Der Player bewegt sich mit 1 bis 2 Pixel pro Frame.

    Mein Problem:

    Die Kamera bewegt sich nicht weich genug.
    D.h. ich hätte gerne, dass sie sich zwischen den Pixeln bewegt. 8| Ich weiss nicht, ob man das so sagen darf...

    Ich habe ein Spiel gefunden, indem genau das passiert.
    Zumindest sieht es so aus.

    Meine Theorie: in dem Spiel sind die Grafiken mit dem Faktor 8 oder vlt. noch Größer skalliert, damit das so gut aussieht.

    Hier der Link:


    Meine Frage:
    Muss ich tatsächlich alles hochskallieren, damit ich diese weiche Kamerabewegung hinbekommen kann?

    Beste Grüße und vielen Danks schon einmal
    Yohsi
  • Du könntest es mit einer Surface lösen, indem du zunächst all deine Grafiken auf diese wie gewohnt zeichnen lässt. Dies lässt sich z.B erreichen indem du view_surface_id[0] auf deine Surface setzt. Im GUI Draw Event kannst du diese dann um einen Bruchteil eines Pixels versetzt zeichnen lassen.
    Wenn du es ganz perfekt haben möchtest, kannst du deine Viewgröße auf einen ganzzahligen Bruchteil deiner Auflösung setzen. Damit hast du konsistente Pixelgrößen.

  • Ich hatte genau das umgekehrte Problem mit GameMaker. Wenn man den view um Kommawerte verschiebt oder Sprites rotiert und skaliert, wird die Bildschirmauflösung, statt die Viewauflösung genutzt. Hab also extra Aufwand betrieben, damit das Spiel pixelperfekt aussieht und keine "Subpixel" verwendet werden.

    Also theoretisch müsstest du nichts tun um dein gewünschtes Verhalten zu bekommen.

    Verwendest du evtl ein Kamera- oder Skalierungsscript, das bewusst Maßnahmen für pixelperfekte Darstellung ergreift?
  • erst einmal vielen Dank für eure ganzen Antworten :)

    @Chris987
    Ich muss gestehen, da muss ich mich dann erst mal in Ruhe reinfuchsen.
    Bin ein wenig überfahren.

    @Miradur
    Ich glaube ich sollte meinen Titel überdenken
    Hab leider keine Ahnung von lerp, aber das lässt sich ja sicherlich nachholen.

    Ich meine, dass ich das Video schon einmal in der Hand hatte..

    Ich werd's es mir noch einmal zu Herzen nehmen.

    @TrunX
    Mein derzeitiger Probeaufbau nutzt die absoluten Basics:
    Ich habe ein Cam Objekt, welches meinem Player folgt.
    Und derzeit folgt die View dem Cam Objekt.
    Habe irgendwo gelesen, dass das im GM2 auch nicht mehr so gehandhabt wird.. #nachhilfeerforderlich

    Ich habe den die View derzeit auf vlt. 160x90 Pixel. Und stelle dies auf meinem Pc als 800x450 da.

    Und jedes mal, wenn ich meinen Dude bewege folgt die Cam dem Dude. Und auch, wenn die Cam krumme Werte in der X oder Y Position besitzt, verfolgt der Raum die Cam nur in ganzen Pixeln.

    Ich versteh noch nicht ganz, wie ich diesen perfekten weichen Effekt hinbekomme :)

    Beste Grüße In die Runde
  • Hab mich tatsächlich auf meine Erfahrungen mit GMS1 bezogen und mit GMS2 noch nicht intensiv auseinandergesetzt.
    Gibt es die surface_resize() funktion noch? Evtl kann man durch resizen der "application_surface" auf die fenster/bildschirm-auflösung das alte Verhalten wieder herstellen.