Grafiken verzerrt

  • Win

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

  • Grafiken verzerrt



    Die roten Kringel zeigen was ich meine. Nicht nur die Sprites werden verzerrt gezeichnet, auch die Schrift. Erst kürzlich hatte ich das Problem, dass zwischen viereckigen sprites, die ich wie ein Tile verwende, ein ungewollter Zwischenraum entstand. Ich löste dieses Problem, indem ich kein Sprite sondern einen Background zeichnete, als Tileset mit einem Überhang. Ich denke zwischen beiden Problemen besteht ein Zusammenhang. Es muss wohl irgendwie mit der Auflösung zu tun haben, dass der Screen nicht 100% korrrekt gestreckt gezeichnet wird oder so, doch leider kenn ich mich damit noch nicht aus.

    Ich habe ein Controller objekt, dort steht im Step Event:

    GML-Quellcode

    1. if !surface_exists(surf)
    2. {
    3. surf = surface_create(view_wview[0], view_hview[0]);
    4. view_surface_id[0] = surf;
    5. }


    Und im Draw GUI Event:

    GML-Quellcode

    1. if !surface_exists(surf)
    2. {
    3. draw_surface_stretched(surf, 0, 0, display_get_gui_width(), display_get_gui_height());
    4. }


    Ich habe den Code eigentlich nur aus der Hilfe kopiert ohne ihn genau zu verstehen zumindest was v"iew_surface_id[0] = surf" macht. Aber das Problem bestand auch schon, bevor dieser Code dort stand. Ansonsten habe ich in den Grundeinstellungen Fullscreen und "Keep aspect Ratio" an.

    Wer kann mir helfen?
  • Hi.
    das liegt daran wie die texture-pages erstellt werden. Je nach dem welche gamemaker studio version du hast, kannst du beeinflussen wie gamemaker die sprites in die texture pages übernimmt. Ich weiß gerade nicht genau wies im gamemaker heißt, aber du kannst und solltest den raum zwischen den sprites erhöhen. Mit der pro version sollte es funktionieren. Hoffe du findest die Optionen trotz der vagen Anleitung. Ich selbst hab nur die Standard version, die diese Funktion nicht unterstützt, aber ich habe ne Zeit lang mit der Master version auf Arbeit zu tun gehabt :)
  • Ich nehme mal an das du dein Spiel im Fullscreen ausführst und es nur daran liegt das deine View-Maße nicht anständig zu deinem Display-Maßen passen.

    Ich komme deshalb zu dieser Annahme da der Mauszeiger welcher man auf deinem Bild sieht auch verzerrt ist.

    Somit sehe ich mehrere Lösungen, falls meine Annahme richtig ist:

    1. Du lässt dein Spiel im Fenstermodus ausführen.
    2. Oder du Passt deinen View dem Display an.
    Sprich z.B. 1:2 also Display 1280*1024 Pixel, View 640*512 Pixel.
    3. Du stellst die Einstellungen auf Interpolieren
    Hier ein Link aus dem Forum dazu.

    lg BoS
  • Die Grafiken sind auch verzerrt wenn es im Fenstermodus läuft. Ich versteh das überhaupt nicht.

    @ HIM666: Du meinst bei den Texture Groups Einstellungen oder? Soll ich die Texels erhöhen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Morpheus ()

  • HIM666 schrieb:

    das liegt daran wie die texture-pages erstellt werden. Je nach dem welche gamemaker studio version du hast, kannst du beeinflussen wie gamemaker die sprites in die texture pages übernimmt. Ich weiß gerade nicht genau wies im gamemaker heißt, aber du kannst und solltest den raum zwischen den sprites erhöhen.

    Ich rate jetzt mal, dass das folgende gemeint ist:

    Gehe mal in die Global Game Settings unter Texture Groups, bei Default (was wahrscheinlich deine einzige Texture Page sein wird) siehst du rechts bei Texture Group Settings ein paar Optionen,
    zum Beispiel "No cropping" oder "Texture Group not scaled". Spiele dich mal damit herum, vielleicht bewirkt es etwas.
  • ganz genau das war gemeint :)
    Danke, dass du die entsprechenden Optionen rausgesucht hast. Wie gesagt, ich selbst besitze nur die Standard-Version, die das Ändern dieser Einstellungen nicht ermöglicht.
    Daher war ich mir nicht ganz sicher wie die einzelnen Einstellungsmöglichkeiten nochmal heißen. Danke! :)
  • Also ich hab mit verschiedenen Texture Group Einstellungen rumgespielt. Leider erfolglos. Hab den Texel erhöht, "Texture Group NOT scaled" und "no cropping" aktiviert. In verschiedenen Kombis. Bringt alles nix.

    edit: Sieht das bei euch eigentlich auch so aus? Hierkann man es runterladen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Morpheus ()

  • Morpheus schrieb:

    Also ich hab mit verschiedenen Texture Group Einstellungen rumgespielt. Leider erfolglos. Hab den Texel erhöht, "Texture Group NOT scaled" und "no cropping" aktiviert. In verschiedenen Kombis. Bringt alles nix.

    Hast du dazwischen auch immer wieder den Asset Cache gereinigt (Pinselsymbol)?
    Kann nämlich sonst sein, dass die Änderungen nicht wirksam werden.

    Ansonsten, was verwendest du für eine Auflösung? Skalierst oder streckst du etwas bei Hand?
    Hast du texture_set_interpolation() auf aus? (kann man auch in den Global Game Settings einstellen beim Windows Tab)
  • Meine Auflösung ist 1920*1080 aber ich hab ja eh "Keep aspect Ratio" eingestellt. "texture_set_interpolation() " hab ich aus und dass soll auch so bleiben, denn der View ist nur 320*240 groß und es würde verschwommen aussehen.

    Was ist und wo finde ich den Asset Cache? Pinselsymbol?
  • Morpheus schrieb:

    Was ist und wo finde ich den Asset Cache? Pinselsymbol?

    Der Asset Cache speichert deine ganzen Ressourcen, damit das Testen des Spiels deutlich schneller vonstatten geht (die Ressourcen müssen nicht nochmal abgespeichert werden, wenn das Projekt gespeichert wird),
    wenn man aber visuell etwas am Projekt verändert kann es sein, dass die alten Daten noch im Cache sind, und von den neuen Änderungen nicht zur Gänze berücksichtigt werden.
    Das Pinsel-Symbol reinigt den Cache, was dazu führt, dass alles neu gerendert werden muss und das Starten des Spiels wieder etwas dauert.



    edit/

    Ansonsten könnte es noch sein, dass die 'Verzerrung deswegen auftritt, weil (wenn man jetzt die Bildschirmhöhe hernimmt) 1080 / 240 4,5 ergibt,
    somit können nicht alle Pixel originalgetreu gezeichnet werden. 1920 / 320 = 6 also das würde gehen. Seltsam nur, dass die Verzerrungen sowohl in der Höhe als auch in der Breite auftreten,
    also wird es das vermutlich nicht sein ...

    edit 2/

    wobei ... sowohl bei Höhe und Breite eigentlich die gleiche Zahl rauskommen sollte, wenn du also statt der Höhe 240, 180 verwendest würde 1080 / 180 auch 6 ergeben,
    somit würde alles bei einer Spielauflösung von 320 x 180 (was genauso 16:9 ist wie 1920x1080) korrekt skaliert werden ... nehme ich mal an, du kannst es ja mal ausprobieren.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von RLP ()