The last day of human being

Kommentare anzeigen Worklog abonnieren

Worklogs The last day of human being

Materialeditor und Colormap-Generator für Terrains

Sonntag, 12. Oktober 2008 von TheProgrammer
Der Funktionsumfang des WorldWrap-Editors erweitert sich von Tag zu Tag immer mehr.

Neu dazu gekommen sind der Materialeditor, um Texturen für bestimmte Objekte anzufertigen, und ein Colormap-Generator für Terrains, auf den ich besonders stolz bin.. ^^


Der Colormap-Generator

user posted image

Dieses Tool gibt einem die Möglichkeit, aus einer Heightmap eine Colormap zu berechnen. Dazu werden verschiedene Texturen - in Abhängigkeit von der Höhe des Terrains - mit beliebig weichem Übergang aneinandergelagert.
Weiterhin ist es möglich, mithilfe von Alphamaps weitere Texturen auf diese Colormap zu übertragen. Dadurch lassen sich z.B. Wege einzeichnen, die nicht von der Höhe abhängen sollen.


Der Materialeditor

user posted image

Hat man seine gewünschte Colormap berechnet, lässt sich die Textur direkt in den Materialeditor übertragen und wird dem Terrain zugewiesen.
Dieses Tool bietet alle Funktionen, um Materialien (Brushs) für Terrains und andere Objekte zu erstellen.

Die oben gezeigte Colormap sieht auf dem Terrain dann folgendermaßen aus:


user posted image


Demovideo

Wer das alles mal in Bewegung sehen möchte, kann sich das Demovideo anschauen:

Youtube Version
Download Version (bessere Qualität) [ca. 12,6 MB]

Terraineditor und Demovideo

Montag, 9. Juni 2008 von TheProgrammer
In letzter Zeit habe ich am Terraineditor für WorldWrap gearbeitet. Man kann nun außerdem die eigentliche Map „zusammenbauen“, indem man *.sme - Modelle einzelnen Meshgroups unterordnet. Diese Meshs (Meshterrains einbezogen) werden beim Mapexport zu größeren Meshs zusammengesetzt.
Jede Meshgroups stellt sozusagen am Ende ein Mesh dar.

user posted imageuser posted image

Um einen Einblick in die grundlegende Funktionsweise des Editors zu bekommen, habe ich ein kleines Demovideo erstellt. Zu finden ist es auf YouTube und eine höher qualitative Version ist hier zum Download bereit gestellt:

Worldwrap_demovideo.rar [33,9 MB]

Als Beispiel habe ich die Map aus einer Wasserdemo von blitzbasic.com verwendet. Sie dürfte euch also bekannt vorkommen. Wink

Als nächstes sind Blitzterrains und ein Textureeditor für Blitz- und Meshterrains geplant.

Die Anfänge des Editors

Dienstag, 20. Mai 2008 von TheProgrammer
Die meiste Zeit habe ich bisher am Editor gearbeitet. Eine spielbare Version der neuen Engine gibt es zwar bereits, jedoch ist sie noch nicht so ausgereift, um sehenswerte Screenshots zu präsentieren.

Hier ist zum Beispiel zu sehen, wie Skyboxen aus einem fpac geladen werden:
user posted image

Um realistisches Wasser darzustellen, habe ich Cubemaps verwendet:
user posted image

Die aktuelle Version hat noch mehr Umfang, als es auf den Bildern zu sehen ist. Jedoch lohnt es sich nicht, noch mehr davon vorzustellen.
Aber sobald mehr zu sehen ist, mache ich einen neuen Eintrag. Wink

Die Grundlage – Das *.fpac – und *.sme – Format

Dienstag, 20. Mai 2008 von TheProgrammer
„The last day of human being“ basiert auf einer Engine, die nahezu komplett modifizierbar sein wird. An dieser arbeite ich zur Zeit (mal wieder intensiv).
Die aktuelle Demo von Tldohb, die im Showcase zu finden ist, stellt noch eine veraltete Version dar. Ich habe den gesamten Quellcode verworfen und ihn neu aufgelegt. (Natürlich mit Elementen aus dem alten Code, damit ich nicht alles komplett neu schreiben muss.) Der Unterschied ist bloß, dass alles effizienter programmiert ist und mithilfe von einer eigenen Scriptsprache, die jedoch noch nicht vollständig ist, der gesamte Inhalt modifizierbar bleibt.
Im Grunde stellt das Projekt eine eigene Game-Engine für Ego-shooter dar.

Der Grundaufbau sieht folgendermaßen aus: Alle Spieldateien sind in sogenannten *.fpac-Dateien eingebettet. Die Engine lädt Texturen, Modelle, Sounds und alles andere was so dazu gehört aus diesen Paketen. Dazu habe ich den Filepacker geschrieben, der diese Dateien verwaltet.

user posted image

Weiterhin habe ich das *.sme-Format (Static Mesh) für Modelle entwickelt, damit deren Texturen auch direkt aus diesen fpac-Paketen geladen werden können. Der Exporter sieht beispielsweise so aus:

user posted image

Texturen können direkt in die Datei eingebettet, in das Zielverzeichnis kopiert oder auch in ein fpac einer Engine gepackt werden. Das macht das Format recht flexibel in Bezug auf den Speicherort der Texturen.