>> ältere Einträge

| 27 Endergebnis |

| 26 Leveldesign |

| 25 Leveldesign |

| 24 Partikelsystem |

| 23 Der Untergrund |

| 22 Der Untergrund |

| 21 Der Untergrund |

| 20 Skizzen|

| 08.07.10 | Endergebnis |

Das letzte Posting ist exakt 2 Monate her und es hat sich verdammt viel getan. Das Diplom ist geschafft und deshalb soll dies nun der Absachlusseintrag sein, um die Ketonauten abzurunden.

Zuerst der Werksbericht. Er hat leider etwas unter dem Zeitdruck gelitten, aber das wichtigste ist drin: Die Pdf.

Und ein paar Screenshots zum Abschluss:

Und natürlich der spielbare Prototyp.

| 08.05.10 | Leveldesign und Taucher |

Ich will diesmal gar nicht soviel schreiben, ich glaube die Bilder sprechen für sich, denn die große Erklärung was, wie, wo, warum so aussieht kommt ja demnächst als Werksbericht.
Hier nur ein kurzer Eindruck vom aktuellen Stand:

Die helle Seite des Ketonen:

Die dunkle Seite des Ketonen:

Detailansichten vom Maul:

So wird man ihn als Spieler kaum zu sehen bekommen:

Der erste Taucher: Conehead.

| 22.04.10 | Leveldesign |

Ich habe mich - wie man sieht - langsam von Unity lösen können, um mich nun endlich (!) mit dem Leveldesign zu beschäftigen. Jetzt hat der Boden keinen Schatten mehr - warum? Ich versuche gar nicht erst, das heraus zu finden...
Eigentlich fällt es mir gar nicht so schwer, Szenen mit kleinen Details zu überhäufen, zumindest ging es mit bei den letzten drei Spielen leichter von der Hand, aber hier?! Vielleicht liegt es daran, dass mir immer noch nicht ganz klar ist, wie die Oberfläche eigentlich aussehen soll, bzw. was GENAU drauf kommt. Bei einem Wohnzimmer ist klar, dass da ein Fernseher, ne Schrankwand und eine Couch drin steht (naja, im Klischee), aber bei dem Ketonen muss ich für jedes Prefab nachdenken, ob es passt.

Zumindest habe ich mich erstmal darauf einigen können, dass es jetzt eine dunkle Seite gibt, die Unterseite des Ketonen, die eher düster und mit stark leuchtenden, kalten Tönen und merkwürdigen Objekten gestaltet sein soll. Die Oberseite hingegen wird viel freundlicher (aber auch merkwürdig) und vorallem heller aussehen. Also an die Arbeit!

| 12.04.10 | Doofes DoF |

Die Shader sind in Unity echt nicht ohne, oftmals sehr speziell und einschränkend - sofern man in den Shaderdateien nichts ändern kann. Ich hab jetzt endlich meinen Shader für die Oberfläche gefunden, bzw. gebastelt bekommen, da weder der iPhone-Shader (ohne Licht) noch der reaktivierte Terrainshader (lässt das Objekt transparent wirken und hat keine Bumpmap) funktionieren.
Friedrich hat jetzt einen Shader zusammengestellt, der durch das Alpha eine Mixmap definiert und deren Tilemaps jeweils eine Bumpmap haben - das sollte genügen, funktionieren tut es jetzt jedenfalls.

Danach habe ich mich an die Tiefenunschärfe gesetzt, was nicht weiter schwer war, denn Unity bietet ja auf seiner Plattform eine Erweiterung dafür an. Gestern habe ich dann endlich einen Blubberblaseneffekt eingebaut. Blase in Photoshop gemalt und ab damit in Unity. Das Partikelsystem ist ziemlich einfach zu bearbeiten, aber mich nervt total, dass man Geschwindigkeit UND Richtungswechsel auf einmal einstellt (in der Velocity).
Das größte Problem war allerdings die Überlappung der Transparenzen des Partikeleffekts mit der Tiefenunschärfe (Depth of Field). Wie man dem Bild entnehmen kann, schluckt der Tiefeneffekt die Blubberblasen. Eigentlich traurig, das zwei sehr wichtige Effekte - Transparenzen und DoF, nicht einfach so miteinander kombinierbar sind. Im Internet fand sich dazu leider auch sehr wenig, genau wie im Unityforum. Da hatten zwei das gleiche Problem wie ich. Antwort 1: Tja, das geht dann wohl leider nicht. Antwort2: Keine Antwort...Auch auf einen Post von mir bekam ich keine Antwort...tolles Forum, danke.

Die Lösung war dann aber doch ganz einfach, wenn auch unnötig kompliziert:

Ich habe jetzt drei Kameras in der Szene, die genau an der gleichen Stelle sind. Eine rendert die Geometrie. Eine die Tiefenunschärfe. Diese beiden rendern jedoch keine Transparenz, das macht die dritte Kamera. Man benötigt auch wirklich drei Kameras, denn wenn man Geometrie und Tiefenunschärfe in einer Kamera hat, sind die Blasen IMMER im Vordergrund, auch wenn man hinter einem Objekt steht.

Immerhin funktionierts jetzt. Danach habe ich mal eine Standalone-Version gemacht. Komischerweise war bei der Fantastic-Einstellung die Maske der Tiefenunschärfe genau um 180° gedreht. Wenn man das Anti-Aliasing ausschaltet funktionierts wieder richtig...komische kleine Macken.

Toll fand ich allerdings, dass sich die Blasen praktischerweise automatisch an die Rotation des Characters auf dem Ketonen anpassen. Ich dachte nämlich erst, ich müsste kompliziert etwas scripten, dass die Blasen immer automatisch nach oben an die imaginäre Wasseroberfläche strömen, aber das geht dank der World und Local Velocity automatisch...yeah.

| 01.04.10 | Das Ketonenmodell III |

So, aus zwei Fehlern der letzten zBrush Session habe ich gelernt:
1. Der Projectionmaster ist Quatsch, ich weiß auch nicht, warum ich den immer benutze...wahrscheinlich habe ich die Alternativtechnik in zBrush (Polypaint) vergessen oder mal nicht hinbekommen.
2. Splits in zBrush einladen ist zwar gut und schön, funktioniert aber nicht (siehe letztes Post) wenn man an Übergängen arbeiten will.

Zur Erinnerung: Ich versuche (noch immer) eine Alphamap zu kreieren, mit der man auf dem Ketonen zwei verschiedene Texturen inneinander überblenden kann, damit das Riesenteil nicht nur eine sich ständig wiederholdende Textur hat - sondern zwei. Damit die Textur nicht zu niedrig aufgelöst ist, musste ich den Ketonen in 9 Teile splitten, damit jeder seine eigene Textur bekommt. Und damit die Ränder schöne Übergänge und keine Seams bekommen, hier also meine ultimative Methode:

1. Ketone in Max splitten und unwrappen (mit Roadkill)
2. das ungesplittete Modell in zBrush einladen und mit Polypaint bemalen
3. Modell mit Textur speichern und exportieren
4. Textur vom Gesamtmodell auf die Splits backen
5. Splittexturen in den Alphakanal von Unity pappen - voila!

Klingt etwas umständlich, aber eigentlich geht es recht schnell und einfach...keine Ahnung, warum ich das nicht gleich gemacht habe?! Der wahre Zeitfresser ist wohl nicht die Arbeit an sich, sondern der Aufbau eines funktionierenden Workflows...

Wenigstens kommt das Terrain doch noch zum Tragen:

Der nächste Schritt werdrn dann höchstwahrscheinlich die Haupttexturen des Ketonen sein. Außerdem will ich seine vier großen Flossen animieren (in Max oder per Code?) und in Unity packen. Danach geht es an ein paar Objekte die die immernoch recht karge Landschaft aufpeppen.
Am liebsten hätte ich auf dem Ketonen selbst noch eine Heightmap probiert, aber dafür existiert außerhalb vom Terrain kein Shader...egal.

| 20.03.10 | Das Ketonenmodell II |

Gestern habe ich ausprobiert, wie ich das Grundmesh von dem Ketonen texturieren könnte. Dabei bin ich wieder auf die Terrain-Funktion von Unity aufmerksam geworden. Unity bietet nämlich an, in Echtzeit Gebirge oder Hügel zu „modellieren“ (Heightmap) und dazu passend zwei und mehr Texturen ineinander zu blenden (Texture Splatting z.B. Weg, Gras und Schutt) mit einem Pinselwerkzeug und selbst gestalteten Pinselformen (ähnlich Photohshop oder Z-Brush) auf den Untergrund zu malen. Außerdem gibt es noch nen Grasshader und die Möglichkeit Bäume schneller zu setzen. Und als Sahnehäubchen kann man sich in Unity Lightmaps backen…yeah!
Tja…leider funktioniert das nur mit einer Plane, die man lediglich in Unity aufziehen kann, also auf keinen Fall mit meinem Kugelkörper oder anderen importierten Meshes. Jetzt hätte ich mich zugunsten der Tools für eine Präsentation auf einer relativ ebenen Fläche entscheiden können, aber mir ist der Rundumlaufeffekt wirklich wichtig.

Leider bietet Unity dann auch keinen Shader an, wenn ich ohne Terrain Texturesplatting benutzen will. Im Forum habe ich dann einen iPhone-Shader gefunden, den man einfach kopieren und in Unity einfügen kann…aber eben fürs iPhone. Zwar mit Texturesplatting, aber die Lichter und Schatten sind ausgeschaltet.
Friedrich hat dann den Original Terrain-Texturesplattingshader von Unity genommen und ein paar Zeilen Code gelöscht, die diesen Shader für Nicht-Terrain-Anwendungen verstecken….jetzt geht’s….hoffentlich.

Heute habe ich dann die Textur gesplittet und ungewrappt. Die Flossen habe ich dabei erst einmal aus dem Hauptmesh weggelassen, da diese noch animiert werden sollen. Obwohl mir das Direktbemalen in Unity verloren ging, habe ich die Einzelteile aber in Z-Brush importiert (dank Subtools) und dort versucht, eine Alphatextur für die einzelnen Splits zu erstellen.
Vorteil: Ich sehe in Z-Brush genau, auf welcher Stelle die Bemalung landet, statt wie in Photoshop während der Bemalung zwischen PS und Max hin- und herschalten zu müssen. Nachteil: Ich kann nur ein Split auf einmal bemalen. (Siehe Grafik) Das ist zwar etwas blöd, aber da es eh nur für die Alphatextur schwarz-weiß ist, kann man die Übergänge ganz gut nachträglich ausbessern.

| 18.03.10 | Das Ketonenmodell |

Eigentlich sollte Unity ja im Moment Vorrang haben, aber da mir der Stil und die Grafiken wichtiger sind, habe ich doch den Ketonen vorgezogen.
Gerade habe ich das Problem, dass wohl jeder hat, der mit verschiedenen Größenverhältnissen experimentiert: Die Auflösung der Texturen und dass man merkt, dass man sich auf einem riesigen Lebewesen befindet.

Zuerst zu der Größe des Untergrunds an sich: Während ich in Max das Mesh des Ketonen modelliere, sehe ich ja immer nur das Miniaturmodell. Dort behandele ich den Ketonen weniger als Untergrund, sondern eher als Charakter, wie die Taucher auch. Also ist vor allem die Silhouette das bestimmende Element für das Aussehen des „Levels“. Wenn ich ihn dann aber in Unity einlade, betrachte ich den Ketonen tatsächlich aus Spielersicht und sehe ihn nicht mehr in der Ansicht, in der ich ihn modelliert habe. Das ist zwar spannend und genau die Art, in der man Levels erstellen sollte - modellieren und gleich testen - aber dadurch zeigt sich auch, dass etwas, das in Max gut aussieht, nicht zwangsläufig im Spiel gut wirkt. Die Größenverhältnisse müssen betont und auch übertrieben werden, um die gewünschte Wirkung zu erzielen.
Das nächste Problem ist das Lebewesen als Untergrund. Wenn ich im Moment über den Ketonen laufe, dreht sich alles schön mit, aber ich habe nicht das Gefühl, dass dieses Ding unter mir lebt. Der Ketone muss sich also insgesamt fortbewegen (zusätzlich sollte auch der Hintergrund animiert werden), aber auch auf ihm muss mehr passieren. Die Flossen sind dabei das Naheliegendste.

Aus technischer Sicht taucht vor allem die Frage auf, wie man einen riesigen lebendigen Körper texturiert. Letztendlich ist er natürlich nur eine Landschaft und genau so werde ich ihn auch behandeln.
Gestern habe ich deswegen versucht, wie man ein solches Objekt in Z-Brush bearbeiten könnte, aber ab einer gewissen Nähe funktionieren Normalmaps nicht mehr. Natürlich war mir klar, dass eine Normalmap für ein ganzes Level unmöglich ist, es seih denn man benutzt eine Aufklösung von 8192 px oder so. Aber nur mit Tile-Texturen wollte ich nicht arbeiten. Danach habe ich das komplette Mesh des Ketonen in Teilbereiche aufgeteilt, um in Z-Brush oder Photoshop nur abschnitteweise zu texturieren. Allerdings machen da die Texturübergänge Probleme.
Letztendlich wird es wohl auf eine Mischung aus beiden Methoden hinauslaufen. Denn eine Textur über den gesamten Körper wäre zu eintönig, aber für ein Textureblending braucht es eine Alphatextur und die ist für den ganzen Körper wahrscheinlich zu niedrig aufgelöst…das muss ich testen.
Details funktionieren dann wie bei einem Waldgebiet in anderen Spielen auch: Auf dem Untergrund ein Textureblending (oder gibt es inzwischen andere Methoden?) und darauf pappt man dann grobe Details (Bäume) oder feine Details (Gras). In meinem Fall werden das organische architekturähnliche Strukturen sein.

Daraus ergibt sich eigentlich schon meine ToDo-Liste für die nächsten Tage:
- Walgrundmesh interessanter machen und möglichst schnell abschließen
- Texturprobleme klären (SSAO, Normalmaps, Tiles, Textureblending)
- Skybox, Boden
- Orientierungshilfen (Licht, Godrays, Blubberblasen)
- Shader, Kameraeffekte
- Prefabs designen
Und nicht zu vergessen Unity:

- Followerscript (die Kettenbildung der Spielfiguren ist ein wichtiges Spielelement, dass ich unbedingt umsetzen möchte…vor allem ob es so gut wirkt, wie ich mir das vorstelle)

| 04.03.10 | Skizzen und weitere Schritte |

Im Moment versuche ich mich an zwei Dingen:
Zum einen arbeite ich gerade dieses Unity-Tutorial durch, was wirklich ganz cool ist, denn viele der enthaltenen Übungen werde ich auf jeden Fall für mein Projekt verwenden können, z.B. Einsatz von Sound oder Umgang mit Physik und natürlich die Möglichkeit Sachen abzuballern.

Außerdem versuche ich die Stilfindung zu forcieren, indem ich mein Skizzenbuch fülle. Eigentlich fänd ich einen fast schon schrillen Stil (allerdings mit reduzierten Farben) jut. Die Tiefseewelt an sich ist verrückt, eigentlich muss man nur abzeichnen und ein wenig verwenden, schon hat man die freakigsten Kreaturen.

Ganz viel Halbtransparenz und "zerstückelte" Kreaturen, d.h. nur bestimmte Bestandteile sind sichtbar, sind da ziemlich naheliegend, Neonfarben sowieso. Am Anfang schien die Welt noch so offen und frei, im Moment frage ich mich wie man daraus noch etwas Neues machen soll.
Mir würde ein etwas künstlerischer Ansatz gefallen, wo z.b. der Hintergrund wie eine total bunte und lebendige Tapete erscheint, statt einfach nur schwarzer Ozean...naja, das ist alles grad noch Wischiwaschi, ich muss mich unbedingt mal mit meinem Grafiktablett auseinander setzen und ein paar Bildeindrücke photoshoppen.