Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BLU3 L30PARD

Treue Seele

  • »BLU3 L30PARD« ist der Autor dieses Themas

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

1

29.10.2011, 13:23

Spritesheet in einzelteile zerlegen

Hallo erstmal!

Ich habe mir gerade ein richtig schones Spritesheet rausgesucht und möchte dieses gerne verwenden.
Allerdings weiß ich nicht, wie groß die einzelnen Sprites sind. Außerdem sind die Sprites sehr unregelmäßig
auf dem Sheet platziert, also kann man sie nicht im Code spalte für Spalte durchlaufen... :pinch:
Aber auch die entwickler müssen das ja irgendwie geschafft haben, und soweit ich weiß werden
für 2D Spiele häufig solche Spritesheets verwendet.

Ich denke, am einfachsten wäre es, das Sheet in einzelteile zu zerlegen ("Jump.png", "Idle.png", "Walk.png", etc.).
Aber dafür müsste ich ja die größe der einzelnen Sprites wissen. Kann ich die irgendwie herausfinden?
Oder gibt es doch eine möglichkeit, das Spritesheet so unberührt zu verwenden?

Das Spritesheet befindet sich im Anghang ;)
»BLU3 L30PARD« hat folgendes Bild angehängt:
  • WOTG_Hulk.gif

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

2

29.10.2011, 14:38

Ich bezweifle sehr stark, dass das Bild so von den Programmieren verwendet wurde. Du könntest zwar die Rechtecke selbst bestimmen, jedoch hättest du bei diesem Bild nicht die Möglichkeit die Sprites einzeln anzusprechen (die Faust von der 5ten Sprite geht in den Bereich der 6ten). Die Größe der einzelnen Sprites ist doch eigentlich egal. Such dir doch einfach die kleinste gemeinsame Größe die z.B. durch 8 teilbar ist. Dann musst du die nur noch alle richtig positionieren...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

29.10.2011, 14:42

Da die Sprites an unregelmäßigen uv-Koordinaten in das Sheet "gepackt" wurden kannst du diese nicht logisch extrahieren. Normal liefern solche Spritesheet-Packer die Koordinaten in einer weiteren Datei mit. Anhand dieser Datei kannst du dann die einzelnen Sprites aus dem Atlas adressieren.

Da diese Informationen anscheind nicht mitgeliefert wurden, musst du dir wohl die Mühe machen und die Koordianten selbst raus suchen und dem Programm irgendwie zur Verfügung stellen (z.B. als Datei). Das Sprite in einzelne Dateien zu zerlegen ist, um Texture-Switches zu vermeiden, i.A. keine gute Idee.
@D13_Dreinig

4

29.10.2011, 14:49

Die Größe der einzelnen Sprites ist doch eigentlich egal. Such dir doch einfach die kleinste gemeinsame Größe die z.B. durch 8 teilbar ist. Dann musst du die nur noch alle richtig positionieren...

Würde ich wohl auch so machen.

BLU3 L30PARD

Treue Seele

  • »BLU3 L30PARD« ist der Autor dieses Themas

Beiträge: 336

Wohnort: Hoch oben im Norden Schleswig Holsteins

Beruf: Schüler

  • Private Nachricht senden

5

29.10.2011, 18:06

Hm, genau das wollte ich eigentlich umgehen :/
Aber mir bleibt wohl nichts anderes übrig...

Danke :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

29.10.2011, 18:32

Weniger Daten stehlen, mehr selber machen.
Sorry, aber für Diebstahl anderer Leute Arbeit habe ich kein gutes Wort übrig.

Ich bezweifle sehr stark, dass das Bild so von den Programmieren verwendet wurde.

Wieso sollte das nicht der Fall sein? Auch meine Spritesheets sehen so chaotisch aus. Meine haben sogar unterschiedliche Höhen und Breiten, optimiert auf den jeweiligen Frame.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

daG

Treue Seele

Beiträge: 130

Wohnort: Hamburg

  • Private Nachricht senden

7

29.10.2011, 19:17

(die Faust von der 5ten Sprite geht in den Bereich der 6ten)

Deswegen. Zudem passt das erste Sprite nicht zu den anderen und da steht ja auch "ripped by". Ich wollte damit nur sagen, dass er es auf jeden Fall anpassen muss.

miguelito

unregistriert

8

05.11.2011, 08:03

Das muss regelmäßig sein! :)

Ich poste mal ein Schnippelchen von meinen. Die Abstände sollten gleich sein, und insbesondere muss das Sprite zentriert sein, sonst hüpft und schlingert es wild umher. Von daher: Lass wen ein Spritesheet erstellen, und benutze Rips nur provisorisch.
»miguelito« hat folgendes Bild angehängt:
  • bleistift.PNG

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

05.11.2011, 09:44

Das muss regelmäßig sein! :)


Nein, ein Spriteset muss nicht regelmäßig sein. Es gibt sogar Tools um Sprites platzsparend zu "packen".
@D13_Dreinig

Werbeanzeige