2d Grafiken erstellen
-
Hey,
hab leider noch nix zu dem Thema gefunden, also frag ich Euch mal um Rat:
Ich mache gerade ein Dungeon-Spiel, ähnlich "Gate of Destiny" oder "Diablo I". Das programmieren macht richtig Spaß und ich bin etwa zu 75% fertig. Aber die Grafiken...ich schreib mit DX8 und benutz die DDraw-Routinen. Also BMP auf Surface laden und den entschrechenden Teil aufn BackBuffer blitten und am Ende Flippen. Zur Zeit gibt es ( aus mangel an Grafiken nur ) eine 4-Phasen LaufAnimation und eine 2-Phasen AngriffsAnimation. In 8 Richtungen. Das macht 32 Bilder. Zur Zeit gibt es ( wieder aus Mangel an Grafiken nur ) den Held mit eigener Grafik und 2 Gegenertypen ( wobei eine einzeln erstellt und für die zeite nur rot gefärbt wurde..).
Die Grafiken mach ich per 3dSMax und muss die gerenderten Bilder noch vom ( je nach Hintergrund, hier: ) weißen Rand trennen und hier und da nachzeichnen. Das macht pro Bild 5-10min aus. Und hier die Frage: GEHT DAS NI AUCH EINFACHER, SPRICH SCHNELLER??? Vlei gibts da irgendwelche Tools? Weiß da jmd was? Bitte um Hilfe, und wenn jmd gern selbst Grafiken erstellt kann der sich melden, es fehlen auch noch Item-, Level- und sonstige Grafiken. Also es is genug Platz für künstlerische Freiheit.Ciao!!
-
das geht einfacher, render mit max in ein 32bit tga, dort hast du dann alpha, anhand dessen hast du den rand automatisch (bzw kannst ihn leicht erkennen).
rapso->greets();
-
Mit was das Bild dann bearbeiten, oder "automatisch den Rand entfernen lassen" ? Habs mit PaintShopPro5 probiert, also mit ner BMP und mit diesem "Zauberstab" versucht den Rand zu erfassen, was aber ziemlich garnich ging.
-
du brauchst es dann nicht mehr zu bearbeiten, du hast im alphachan ja schon das objeckt sozusagen ausgeschnitten.
rapso->greets();
-
Sorry wenn´ch jetz bissl stutzig bin, aber einfach das TGA wei das BMP laden und blitten, oder gitbs da noch irgendwelche besonderen Funktionen/Flags oder sonstwas? Hab bisher nur mit BMPs gearbeitet.
-
arbeitest du mit einem colorkey beim blitten oder so?
bzw wozu schneidest du es in deinem grafikprogramm aus, doch sicherlich um irgendwie transparenzen herauszufinden, und dann? speicherst du sie dir in einem speziellen bild oder färbst du den transparenten bereich mit einer besonderen farbe ein und speicherst nur das oder... ?
und als was speicherst du es? 8 oder 24bit?
rapso->greets();
-
ja ich arbeite mit colorkey. die bmps sind 24bit gespeichert, und wenn ich den colorkey nicht nur auf 255.255.255 begrenz sonders auch etwas dunkler wirds meistens nur mist, wie halt der zauberstab bei PSP.
Die ganzen Einzelbilder eines Chars speicher ich in eine .BMP mit weißem Hintergrund, lad das auf ne eigene Surface und definier weiß als Colorkey. Dann wird das wenn´s gebraucht wird auf den Back geblittet.
-
wenn du nun tga als 32 bit einladen würdest, müßtest du beim laden jeden pixel, dessen alphawert transparenz anzeigt auf deine gewünschte (colorkey)farbe setzen und du hättest das automatisch was du bisher per hand machst...
kannst dir natürlich auch ein tool schreiben dass die tga-daten einließt und als bmp mit colorkey speichert.
auf jeden fall ist der alpha von 3dsmax sehr nützlich.
ich würde dir aber vorschlagen einen colorkey zu nehmen der markanter ist. oft nimmt man pink oder grün.
erreicht werden diese werte mit hexwörternz.b.
0xDEADFACE <-- my favourite
0xDEADCAFE
0xCAFEFACE
0xDEADBEEFund wohl noch einigen mehr
rapso->greets();
-
da hatt ich ja nen total langweiligen: blau...aber ob ich nu weiß oder blau rumgepixelt hab hat für mich ni den unterschied gemacht