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

1

02.01.2011, 16:30

2D: Wie Schatten in der Animation korrekt darstellen?

Moin,
hier ein Problem an die Grafiker da draußen: Ich mach es mein erstes Mal, ich bin gerade am Zeichnen eines Charakters für ein 2D-Spiel in GIMP. Wenn die Figur mal animiert wird, dann werden bestimmte Körperteile ja auch (stufenlos) gedreht, wodurch sich die betreffenden Schattierungen an dem Charakter in der Realität verschieben/verformen würden. Wie kann ich es hinbekommen, dass die Schattierungen in Animationen halbwegs korrekt sind, sodass es gut aussieht und ich nicht für jede erdenkliche Drehposition eines Körperteils zehntausend Varianten machen muss, die sich nur durch die Schattierungen unterscheiden?
Ich hab schon mal versucht, mir in YouTube die Methoden anderer 2D-Spiele anzuschauen, aber das ist sehr kompliziert, weil das alles so schnell geht und man auch erstmal ein Spiel finden muss, das grafisch so ähnlich wie das eigene ist... Nur eine Methode hab ich mal verstanden, es wurde gewissermaßen geschummelt, indem man die Animation einfach so schnell gemacht hat (zum Teil sogar vom einen Frame auf den anderen in eine andere Körperposition gewechselt), dass man gar nicht mitbekommen hat, was mit den Schattierungen passierte; wenn ich aber mal eine Animation machen will, die etwas langsamer ist, klappt das ja nicht..
Danke schon mal für jeden Tipp!

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

02.01.2011, 16:41

Was du probieren kannst, ist, die silhouette deiner Figur nehmen, sie zu schwärzen und dann zu transformieren, bis es schick aussieht, und das auch für alle anderen frames so machen. Die meisten Spiele, die in 2D dynamische Schatten machen, berechnen es nicht anders. Da sollte skalieren, rotieren und scheren reichen -> ausprobieren.

3

02.01.2011, 17:10

Ja, evtl. würde ein Bild helfen, um zu sehen, wie genau du das meinst.
Aber im Prinzip sollte ein einfacher Schlagschatten für vieles reichen. Ansonsten kannst du natürlich in 2D nicht alles korrekt berechnen, je nachdem was du für Ansprüche hast, solltest du dann vielelicht zu 3D Figuren wechseln (das Spiel selbst kann ja 2D bleiben).
Lieber dumm fragen, als dumm bleiben!

4

02.01.2011, 18:00

Danke erstmal für die schnellen Antworten! Da ich ein ziemlicher Rookie in dieser Hinsicht bin, hab ich aber dazu noch ein paar Fragen:
TrommlBommls Methode ist ne nette Idee, da müsste ich aber ja doch alles für jeden Frame machen - recht viel Arbeit..
@Jonathan_Klein: Was ist ein Schlagschatten? Außerdem: Da ich mich in 3D noch weniger auskenne und eh keine Megaansprüche hab, würde 3D auf 2D wenig Sinn machen. Ein grobes Bild (ohne Schatten noch natürlich) von meinem Charakter kann ich ich aber gerne noch hochladen, wenn ich die Arme fertig hab!

5

02.01.2011, 19:33

Schlagschatten ist im Prinzip die erwähnte Kopie des bildes ein bisschen verschoben und evtl. verzerrt und/oder weichgezeichnet:

(Link)

oder auch

(Link)


Das mit dem "jede Frame machen" ist schon richtig, aber das kannst du ja programmieren. Jedenfalls je nachdem, welche Bibliothek du zum 2D Zeichnen benutzt.
Lieber dumm fragen, als dumm bleiben!

6

02.01.2011, 20:17

Ach so, naja ich meinte eher die Schattierungen am Charakter selber (dass der Arm an der unteren Seite etwas dunkler und oben heller ist z.B.) und nicht den Schatten, den die Figur auf dem Boden wirft oder so was! Da haben wir jetzt etwas aneinander vorbeigeredet :|
Wenn ich mir deinen ersten Post unter dem Gesichtspunkt nochmal durchlese, frag ich mich: Kann man denn die Schattierungen, die ich meine, tatsächlich einfach ignorieren? Ich hab das ja noch nie gemacht und lass mich gerne eines besseren belehren, aber ich stell mir das einfach "unecht" oder schlecht aussehend vor, wenn man die einfach unter den Tisch fallen lässt.

7

02.01.2011, 20:18

Setze die Lichtquelle dahin wo die Augen des Betrachters sind. Eine Sphäre würde dann in der Mitte einen hellen Bereich haben und nach außen hin abdunkeln. Ansonsten würde ich einfache Beleuchtung von oben vorschlagen...

Evt. kannst du die erste Variante später auch gut in eine Normal-Map umwandeln (heightmap zu normalmap) und die Beleuchtung vom Pixelshader erledigen lassen.

8

02.01.2011, 20:26

@chromanoid: Da bräuchte man aber für jedes Körperteil eine Lichtquelle, oder? Und was sind height- und normalmaps? ?(

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

02.01.2011, 20:29

Kann man denn die Schattierungen, die ich meine, tatsächlich einfach ignorieren?

Kommt drauf an, wie der Rest aussieht und ob's passt. Kann aber durchaus sein, klar.
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]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

10

02.01.2011, 22:39

Die Schattierungen am Charakter selbst können doch fix sein oder nicht? Wenn du die Zeichnungen anfertigst zeichnest du die Schattierungen direkt mit ein. Die werden sich doch wahrscheinlich eh nicht ändern oder doch? Bzw wie groß sind die Figuren zu sehen und würde es überhaupt auffallen? Weiß ja nicht wenn in deinem Spiel selbst Lichtquellen untergebracht sind, würd das natürlich weniger Sinn machen. Naja ich würd sie einfach fest mit einzeichnen und gucken das es optisch gut aussieht;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige