Statische Schatten fr jeden und alles! Ein Workshop von Christian Behrenberg
=============================================================================

Acknex 5 erlaubt dem Entwickler Schatten fr *.mdl Entitys hinzuzufgen und statische Schatten fr normale Blocks im WED zu erstellen. Viele User wrden gerne neue Features in der Engine haben, wie z.B. Realtime-Shadows oder berhaupt solche in der Standard- und Extraedition. Dieser Workshop wird erklren, wie man detaillierte Schatten fr polygonale Entitys erstellt. Dafr muss man nur irgendeine aktuelle A5 Version besitzen, eine schicke MDL und ein gutes Gespr fr den WED.

Kapitel 1  Rund und bunt
-------------------------

Als erstes muss geklrt sein, was berhaupt erreicht werden soll. Also, es gibt zwei Typen von Schatten. Einmal den blichen, statischen Schatten den man im Umgang vom WED her kennt. Man erstellt sein Level, fgt Lichter hinzu und das Level ist schattiert. Zudem gibt es auch noch Realtime-Shadows fr Enities, dies aber erst aber ab der kommerziellen Edition.

(siehe "picture_1.jpg")

Um den Usern der Standard- und Extraedition die Mglichkeit zu geben, fr ihre Entitys auch Schatten zu erstellen habe ich diesen Workshop geschrieben und mchte nun erklren wie man dieses Ziel erreicht. Aber Achtung! Hier wird nur erklrt, wie man statische Schatten fr STATISCHE Models erstellt. Das heit, dass wenn man das Model verschiebt, dass der Schatten stehen bleibt, also sich nicht mitbewegt. Skin-Animation ist natrlich mglich, normale Animation aber ist nicht wirklich gut, aber dazu spter noch etwas. Der Schatten besteht aus Lightmaps, die vom Compiler erstellt werden, d.h. dass sich der Schatten auf die gesamte Architektur auswirkt.


Kapitel 2  Das Model
---------------------

Im Verlauf des Workshops werden wir eine Abstraktion des Models verwenden. D.h. das wenn man einen Schatten fr ein Model mit sehr vielen Details (z.B. eine Statue, Bsp.: Gesicht) benutzt, dann hat der Schatten bei einer niedrigen Abstrahierung (viele Details) trotzdem das gleiche Aussehen wie bei einer richtigen Abstraktion. Hier nun ein Bild eines AT-ATs mit seinem statischen Schatten auf ein Architektur.

(siehe "picture_2.jpg")

Wie man sehen kann ist die Form des Schattens in etwa gleich zum Model und dessen Form. Es gibt natrlich noch andere Mglichkeiten, wie man statische und Realtime-Shadows imitiert, z.B. mit transparenten Sprites. Aber das funktioniert meistens nur, wenn sich die Flche des Sprites auf ebenem Grund befindet. Wenn der Player z.B. nahe einer Kante steht, und der Sprite grer ist als die Distanz zur Kante ist, dann hngt der Sprite frmlich in der Luft. Das ist nicht realistisch. Meine Methode arbeitet sozusagen mit dem Map-Compiler zusammen, sodass jeder Block eine Lightmap erhlt, die die Schatteninformationen beinhaltet. Das ist gut, wenn man so etwas in komplexer Architektur erschafft.


Kapitel 3  Sie haben doch einen SCHATTEN!
------------------------------------------

Jetzt mssen SIE erstmal die Grundbasis erstellen, damit der Compiler berhaupt Lightmaps erstellt. H? Okay, ich erklre es ja. Wie erstellen Sie Schatten im WED? Erstellen sie Blcke, noch ein paar Lichter und dann kompilieren sie die Map. Wie erstellen Sie FR IHRE ENTITYS Schatten im WED? Erstellen sie Blcke UND PLATZIEREN SIE IHR MODEL, noch ein paar Lichter und dann kompilieren sie die Map. Das ist es nur. Wie ich bereits sagte, benutzt man eine Abstraktion des Models im WED. Das heit, dass man das Model in den Level platziert und dann Blcke setzt, die einer simplen Version des Models hneln.

(siehe "picture_3.jpg")
 

Kapitel 4  Ganz ruhig und ganz langsam!
----------------------------------------

Details. Ein Schlagwort, aber nicht fr uns.
Wie ich bereits gesagt habe, wollen wir die Form unseres Model vereinfachen und Blocks erstellen, die einen Schatten hervorrufen.

Die beste Methode fr sowas ist: nachdem sie das Model platziert haben, zoomen sie im WED ein und setzen Blocks hnlich der Form des Models. Aber benutzen Sie die Primitives, denn dann ist die Generierung der Schatten einfacher, die Build-Zeit ist krzer, sie mssen weniger arbeiten und der Spieler sieht sowieso nicht alle Details, die vielleicht fehlen knnten. Oder haben Sie die Details des Schatten an den Fen des AT-ATs gemisst?

(siehe "picture_4.jpg")

Ich ehrlich gesagt nicht. Also, man muss folglich immer zwischen detaillierten und funktionablen Formen whlen. So funktioniert es nunmal!


Kapitel 5  Foto-Finish!
------------------------

So, Sie haben ihre Blocks aufgebaut und jetzt? Mh... damit Sie ihren *perfekten* Schatten erhalten, mssen sie noch einiges machen. ffnen sie das Settings-Tab der Textur, die Sie den sog. Shadowblocks zugewiesen haben und setzen sie die Flags Smooth auf False und None auf True. Dann ein Klick auf Cancel und dann in das Properties-Fenster des Models. Tun Sie nun folgendes: als erstes setzen Sie Unlit auf True und setzen fr Ambient einen Wert, z.B. 85. Das tun wir deshalb, weil die Blocks das Model komplett dunkel frben und dies ist unerwnscht. Die Blcke bieten polygongenaue Kollisionserkennung, daher setzen wir das Passable-Flag auf True. Wenn Sie z.B. wnschen, dass der Player das Model UND die Blocks passieren darf (z.B. bei einer Wasserfontne), dann knnen Sie auch noch das Passable-Flag bei den Blocks einzeln setzen.


Kapitel 6  Die dunkle Seite (der Macht)
----------------------------------------

Der Schatten des AT-AT Models ist ja ganz schn und es gibt keine Fehler in der Darstellung, aber manchmal treten sie auf. Naja, eigentlich eher seltener, aber meistens dann, wenn eine komplexe Architektur der Shadowblocks existiert. Erstellen Sie niemals kuriose Blockformen! Benutzen sie nie CSG-Subtract! Erstellen Sie alles selber! Fehler sind z.B. unendliche Schatten (schwer zu erklren) oder andere verrckte Dinge. Achja, einige Sachen sollte ich vielleicht noch sagen: Erstens: Seien sie sich immer bewusst, dass das Model die Kontaktflche der Shadowblocks auf die normalen Blocks berdecken muss, da man sonst ein Loch sieht. Zweitens: Ich sagte bereits, dass Animation nicht wirklich gut sind, weil der Schatten sich nicht mitbewegt. Aber ist die Animation eher ruhig, knnen Sie ruhig Animation verwenden. Beispiel: ein Baum mit leicht flatternden Blttern.


Kapitel 7  Guten Morgen, guten Abend und gute Nacht!
-----------------------------------------------------

Das wars. Ich hoffe, dass Sie diesen Workshop toll fanden und das sie jetzt die grafische Seite ihres Spiels nochmals aufwerten knnen. Dank auch noch mal an Marco Grubert und seinen Informationen ber den Compiler und all den anderen Forum-Mitgliedern.

Wenn Sie noch Fragen, Anregungen oder was auch immer haben, zgern sie nicht, mir zu schreiben unter: HeelX_@web.de

Christian Behrenberg im Juni 2002
