Home > Creatures 2 > Tutorials > Body Data

Creatures 2
 
Breeds
COBs
 
Tutorials
Body Data
 
 
 
Adoptionen
 

Body Datas verändern und erstellen

Oft werden für neue Nornrassen bereits bestehende Spritebilder als "Vorlage" verwendet". Ab und zu möchte man aber gerne die Spritebilder erweitern, wie z.B. mit Flügeln oder anderem. Dabei entsteht das Problem, dass neue Body Datas erstellt werden müssen, da die alten für die neuen Ausmasse der Bilder nicht mehr ausreichen. Aber eins nach dem anderen...

Da die Norns im Spiel aus Einzelbilder zusammengesetzt sind, muss bestimmt werden, auf welche Art und Weise die einzelnen Körperteile aneinandergesetzt werden müssen. Man kann es sich ganz einfach vorstellen, wie eine Art Marionette, die aus einzelnen Körpergliedern zusammengesetzt an wenigen Punkten miteinander verbunden sind. Und dass der Fuss nicht am Kopf hängen sollte, ist ja logisch!

Mittels der Body Datas wird für jedes einzelne Spritebild festgelegt, welches diese "Anknüpfpunkte" sind, an denen die einzelnen Körperteile aneinanderhängen. Die Daten sind X- Y- Koordinaten in Anzahl Pixel des einzelnen Bildes. Der Nullpunkt des Koordinatensystems befindet sich in der linken oberen Ecke des einzelnen Bildes. Da sich mit dem Verändern der Grösse der Spritebilder auch die Koordinaten relativ zu dem einzenen Bild verschieben, müssen diese Daten neu angepasst werden.

Als Beispiel werd ich Änderungen erklären, die für die beflügelten Körper der Winged Pixies im Lebensstadium "Kind" nötig waren.

So sieht das geöffnete Spritefile b01j.s16 (Körper für "Kind") im Spritebuilder aus. Insgesamt 10 Bilder, die von 0 bis 9 durchnummeriert sind.

Dies ist das neue Spritefile mit den "beflügelten" Körpersprites. Es ist deutlich zu sehen, dass die einzelnen Bilder um einiges grösser sind als die im originalen Spritefile. Erkennbar auch an den Zahlen, die unterhalb der Nummerierung des einzelnen Spritebildes stehen. Sie geben die "Ausmasse" des einzelnen Bildes in Anzahl Pixel an (z.B. 50 x 64)

Picken wir uns ein bestimmtes Einzelbild heraus, dasjenige mit der Nummer (8), d.h. Körperstellung frontal nach vorne.

So sieht das Bild der Originalsprites aus, wenn man es im Programm "Paint" öffnet. Bei 600% Vergrösserung sind die einzelnen Pixel ganz gut zu sehen und es fällt ein violetter Pixel ganz oben im Bild auf, auf den ich einen roten Pfeil deuten lasse. Wenn man nämlich mit dem Mauscursor auf diesen Pixel bewegt, werden die Koordinaten dieses Pixels rechts unten in der Leiste angezeigt. Da dies etwas klein ist, hier die Orignalgrösse:

Die Zahl vor dem Komma, also "13", bedeutet die Angabe für die Abzisse (x-Achse), die Zahl hinter dem Komma die Angabe der Ordinate (y-Achse). Oder ganz einfach ausgedrückt: der Pixel ist zu finden, indem man von links oben 13 Pixel nach rechts und zwei nach unten zählt. Wichtige Anmerkung: eigentlich sind es 14 und 3 Pixel, die erste Reihe senkrecht und die erste Reihe waagrecht werden als "0" gezählt, d.h. man muss mit dem Zählen nicht bei "1" sondern tatsächlich bei "0" anfangen!

Dazu hier das original Body Data File:

Rot umrandet die beiden Koordinaten in Zeile neun, korrespondieren zu Spritebild mit der Nummer 8 (eigentlich das neunte Bild, aber die Nummerierung der Bilder fängt mit 0 an!)

Und was sind das die anderen Zahlen? Der Körper des Norns hat sechs "Anknüpfpunkte": für Kopf, Arme links, rechts, Beine links, rechts und für den Schwanz. In einer Zeile stehen so 12 Zahlen, je eine y und x Koordinatenzahl für jeden Anküpfpunkt in dieser Reihenfolge. Alle hintereinander geschrieben. Jede Zeile dieser 10 Zeilen "gehört" also zu dem entsprechenden Spritebild.

Das neue Spritefile mit den Flügeln ist um einiges grösser als das Original-Spritebild. Mit dem Cursor auf dieselbe Anküpfstelle gezeigt, zeigt unten rechts jetzt einen neuen Wert an.

Diesen trägt man in das neue Body Data File ein:

Da man jetzt den ersten Datenpunkt im Bild festgelegt hat, kann man anhand der originalen Body Data ausrechnen, wo die anderen Datenpunkte liegen. Die Anknüpfpunkte haben sich ja relativ zu dem Körper nicht verschoben, ihre Abstände sind ja gleich geblieben, sie liegen nur relativ zu dem grösseren Spritebild einfach auf anderen Koordinaten. Also muss man einfach die Differenz (Neuer Koordinatenwert minus orignaler Koordinatenwert je für x- und y- Achse) addieren bzw. subtrahieren. Ein Taschenrechner oder Excel-Tabelle ist alles, was man dazu braucht. Und etwas Geduld. ;-)

Hat man keine im Bild von vorneherein festgehaltene Anhaltspunkte wie diesen Kopf-Anküpfpunkt Pixel, ist es ratsam, erst das orginale Spritebild in einem Grafikprogramm zu öffnen, auf eine hohe Vergrösserung zu bringen und "von Hand" einen Koordinatenpunkt anhand der orignalen Body Data zu ermitteln. Diesen Pixel kann man übergangsweise z.B. mit violetter oder einer anderen hervorstechenden Farbe kennzeichnen. Danach sucht man im neuen Spritebild im Vergleich zu dem originalen Spritebild denselben Punkt. Hat man diesen, kennzeichnet man auch ihn und ermittelt entweder mittels Abzählen der Pixel die Koordinaten oder lässt sie sich im Grafikprogramm (z.B. "Paint") anzeigen und trägt diesen in das neue Body Data file ein. Danach kann man ebenfalls die weiteren Anknüpfpunkte berechnen, muss diese also nicht unbedingt suchen im Bild.

Für C2 gibt's den Attachment Editor von Creaturelabs. Er ist sehr hilfreich, wenn man mal verstanden hat, wie man mit ihm umzugehen hat. ;-) Die obig gezeigte Methode ist sicherlich zeitintensiver, jedoch lässt sie sich für alle Creatures Versionen verwenden.

 

 
 
 
 
 
 

 

 

 

Creature Labs and CyberLife are registered trademarks and the CyberLife, Creatures Lab, Creatures, Creatures 2, Creatures 3 and Docking Station logos are trademarks of Gameware Development Ltd. in the United Kingdom and other countries. CyberLife, Digital DNA, Creatures, Albia, and Norn are also trademarks of Gameware Development Ltd. which may be registered in other countries.