view in EnglishImpressumSitemap
  « Übersicht [ HL²-Models in 3ds max importieren ]

Obwohl Valve dem HL²-SDK ein paar gute Tools wie z.B. den Modelviewer und den Hammer Editor hinzugefügt hat, wird nach wie vor nur SOFTIMAGE|XSI unterstützt. Es gibt aber doch einen Weg, seine Lieblings-Models aus HL² (inklusive der zugehörigen Animationssequenzen und Normal Maps) in 3ds max zu importieren. Dieses Tutorial zeigt wie es geht...

Schritt 1: Benötigte Programme & Plugins
GCF Scape um Dateien aus den von Steam genutzten game cache files (.gcf) zu extrahieren
Jed's VTFTool um .vtf Textur-Dateien der Source Engine in .tga Dateien umzuwandel
Canonfodder's MDL Decompiler um die .smd Referenzen und Animationen aus .mdl Dateien zu extrahieren
Canonfodder's 3ds max Importer um .smd Referenzen in 3ds max zu importieren
• (optional: Canonfodder's 3ds max Exporter um eigene Models nach .smd zu exportieren)
Wenn alle Programme heruntergeladen und installiert sind kanns losgehen.

Schritt 2: Daten vom Model extrahieren
Beendet zuerst Steam und geht dann in das X:\[Pfad_zu_Steam]\Steam\SteamApps\-Verzeichnis und öffnet die Datei namens source models.gcf mit einem Doppelklick. (Wenn Steam läuft, bekommt Ihr eine Fehlermeldung, da die Datei, die wir brauchen während der Laufzeit von steam.exe verwendet wird).
GCFScape wird sich öffnen und euch den Inhalt dieser game cache file zeigen. Innerhalb der Datei wechselt Ihr zu hl2\models\ und scrollt in der rechten Hälfte des Fensters nach unten bis Ihr ein paar einzelne Dateien mit der Endung .mdl seht Screenshot ansehen.
Ich habe hier das AntLion_Guard Model zum Extrahieren ausgewählt, um damit die weiteren Schritte in diesem Tutorial zu demonstrieren - natürlich könnt Ihr auch ein anderes Model nehmen, aber empfehle ich das selbe Model zu nehmen, wenn Ihr dieses Tutorial zum ersten Mal macht. Wählt jetzt alle Dateien mit dem Namen antlion_guard aus, macht einen Rechtsklick auf die Auswahl und wählt Extract...
Es ist sehr wichtig alle antlion_guard.* Dateien zu extrahieren, da sie Informationen enthalten, die für den nächsten Schritt benötigt werden.

Schritt 3: Model dekompilieren
Startet Canonfodder's MDL Decompiler und klickt auf den oberen Button mit "..." Screenshot ansehen und wählt die antlion_guard.mdl Datei aus. Klickt auf den unteren Button um das Ausgabe-Verzeichnis zu wählen (normalerweise selbiges wie Input-Verzeichnis) und klickt auf Extract. Bestätigt die dann folgende Nachricht, die euch mitteilt, dass das Model erfolgreich geladen wurde.
Einige HL²-Models enthalten Delta Animationen und Ihr werdet diese Meldung sehen Screenshot ansehen. Alles in Ordnung soweit, wählt einfach eine Animations Sequenz (mit mehr als 1 Frame) von der Liste aus und klickt doppelt darauf um fortzufahren. Wenn die abschließende Nachricht Completed dumping model ercheint, ist alles soweit richtig gelaufen.

Schritt 4: Textur Daten extrahieren
Nun haben wir zwar unser Model aber wir brauchen immer noch die Texturen.
Öffnet die Datei source materials.gcf und wechselt nach hl2\materials\Models\AntLion_Guard Screenshot ansehen. Extrahiert alle Dateien aus diesem Verzeichnis. Ich empfehle hierfür ein neues Unterverzeichnis für die Texturen im Ausgabeverzeichnis anzulegen (z.B."Texturen") da man mit dem Dekompilieren des Models eine Vielzahl von Dateien erzeugt Screenshot ansehen.

Schritt 5: Texturen umwandeln
Startet Jed's VTFTool um die .vtf Dateien in .tga umzuwandeln. Wählt File -> Convert to TGA -> Folder... Screenshot ansehen an und das Verzeichnis, in dem eure *.vtf Dateien liegen. Klickt auf Go! und nach ein paar Sekunden habt ihr die gewünschten TGAs. Ihr werdet ein paar bläuliche TGAs Screenshot ansehen bemerken, die den Basistexturen ähnlich sehen - dies sind die so genannten 'Normal Maps'. Ihre Auswirkung auf ein 3D Model wird später noch gezeigt.

Schritt 6: Models in 3ds max importieren
Jetzt wo die ganze langwierige Arbeit erledigt ist, wird es Zeit 3ds max zu starten und etwas rumzuspielen :) Wenn Ihr Cannonfodder's 3ds max Importer plugin korrekt installiert habt, solltet Ihr nun einen neuen Dateityp namens .smd im File -> Import... Menu Screenshot ansehen zur Verfügung haben. Wählt jetzt die Antlion Antlion_guard_reference.smd unter den Dateien zum Importieren.

Ihr solltet immer eine *_reference.smd Datei auswählen, da sie alle Information bezüglich des Drahtgittermodells und des Skeletts für ein Model enthält. Die Animationen eines Models sind in den anderen .smd Dateien gespeichert und enthalten nur Informationen über die Orte der Skelettknochen während einer Animation, deswegen sind diese Dateien meist auch wesentlich kleiner.

Ein kleines Fenster von Cannonfodder's importer geht auf. Deaktiviert Screenshot ansehen die option Prompt for missing textures und klickt auf OK.

Schritt 7: (Neu-)Zuweisen der Model-Texturen
So weit so gut, das Model ist in 3ds max aber wenn Ihr [F9] drückt (Quickrender) werdet Ihr feststellen, dass euer Model grau ist. Keine Grund zur Sorge, die Texturen sind nicht verschwunden, sondern 3ds max kann sie nur nicht finden. Und warum?
Was Texturen angeht, enthalten die .mdl Dateien nur Informationen über die Namen und die UVW Koordinaten der Textur-Maps aber es fehlt an exakten Pfadinformationen (wird nicht von Half-Life benötigt, da die Spiel-Engine das Auffinden und Zuweisen der Texturen während der Laufzeit übernimmt).

Wir werden diese Angelegenheit in den folgenden Schritten ausbessern Screenshot ansehen. Drückt [M] um den Material Editor zu öffnen und klickt auf diesen Button --> . Euer Mauszeiger hat nun die Form einer Pipette. Bewegt ihn über das Model und klickt mit der linken Maustaste darauf. Der Material Editor sollte jetzt Multi/Sub-Material mit 2 Sub-Materials anzeigen.

Wendet man diese Methode auf imporierte Models an, die z.B. 6 verschiedenen Texture-Maps enthalten, dann erstellt 3dsmax dafür automatisch ein Multi/Sub-Material mit 6 Sub-Maps.

Klickt auf den ersten Button mit der Bezeichnung legsside.tga um zum ersten Sub-Material zu gelangen.
Eine Vielzahl neuer Rollouts mit Einstellungen erscheint.
<-- Klickt auf den kleine Button mit dem "M".

Wieder erscheint ein neues Rollout mit Einstellungen für euere Bitmap. Klickt auf den Button mit der Bezeichnung legsside.tga Screenshot ansehen und verweist 3ds max auf das Verzeichnis, in dem Ihr die umgewandelten .tga Dateien gespeichert habt.

Geht jetzt zurück bis ganz nach oben in der Hierarchie des Multi/Sub-Materials und wiederholt den letzten Schritt, um dem Model die zweite Textur zuzuweisen.

Um zu testen ob Ihr alles richtig gemacht habt, drückt [F9] oder klickt einfach auf den kleinen Würfel für eine Vorschau im Perspective Viewport Fenster - das Model sollte jetzt vollständig texturiert sein.

Schritt 8: Zuweisen der 'Normal Maps'
Erinnnert Ihr euch an die bläulichen .tgas die während der Umwandlung der .vtf files entstanden sind? :)
Jetzt kümmern wir uns um die 'Normal Maps' und stellen ihre ursprüngliche Funktion wieder her. Sie werden dazu benutzt, ein leichtes Displacement Mapping auf dem Model vorzutäuschen. Dies wird dadurch erreicht, indem man den Winkel verändert, unter dem Lichtstrahlen auf das Model fallen. Somit lassen sich z.B. Vertiefungen simulieren, ohne aber die Polygon-Anzahl eines Models zu erhöhen.
Folgendes Beispiel zeigt die Auswirkungen von 'Normal Maps':

Von der obersten Stufe in der Hierarchie des Multi/Sub-Materials aus, klickt Ihr auf das erste Material mit der Bezeichnung legsside.tga so wie im Schritt davor. Scrollt etwas runter zum Maps rollout, wo sich eine Liste mit Slots befindet. Dort seht Ihr, dass der Diffuse Slot bereits eine Map besitzt (die Ihr ihm vorigen Schritt zugewiesen habt). Aktiviert die Box neben dem Bump Slot, um diesen zu aktivieren und ändert den Wert von 30 auf 100 Screenshot ansehen.

Klickt danach auf den Button rechts daneben, der mit "None" bezeichnet ist, jetzt öffnet sich der Material/Map Browser. Wählt Normal Bump aus der Liste und klickt auf OK. Das Parameter Rollout zeigt jetzt 2 Buttons mit Slots für Normal und Additional Bump an.


Wählt den ersten Button mit "None" Screenshot ansehen an und der Material/Map Browser zeigt sich erneut. Dieses Mal wählt Ihr Bitmap und verweist 3ds max auf die Datei legsside_normal.tga.

Klickt auf OK und geht eine Stufe hoch, zurück zum Rollout mit den Eigenschaften für die Normal Map. Jetzt zieht Ihr das Material vom ersten Button mit gedrückter linker Maustaste auf den Additonal Bump Button und lasst die linke Maustaste wieder los Screenshot ansehen. Wählt die Option "Instance" im nachfolgenden Fenster Screenshot ansehen. Mit dieser Drag&Drop-Methode wird das Material in den zweiten Slot kopiert und alle Änderungen an einer Map wirken sich zukünftig automatisch auf beide Slots aus.

Gratuliere, Ihr seid soeben mit dem ersten Material fertig! Nun geht zurück zum Multi/Sub-Material Rollout und wendet die letzten Schritte auf das zweite Material in der gleichen Art und Weise an.

Um zu überprüfen, ob ihr alle Normal Maps richtig zugewiesen habt, deaktiviert die Option "Diffuse Map" bei beiden Materials und drückt [F9]. 3ds max wird das Model jetzt ohne Texturen rendern und den Effekt der verbleibenden Normal Maps auf dem Model zeigen (das Ergebnis sollte Fig.2 ähnlich sehen).

Fazit
Jetzt könnt Ihr eure Lieblingsmodels aus HL² in 3ds max importieren, damit rumspielen oder Animationen zuweisen.

Wie Ihr seht, ist der zeitaufwändigste Teil das Neuzuweisen der Texturen und ihrer zugehörigen Normal Maps, aber Ihr werdet ja auch mit einem schönen Ergebnis belohnt... :)
« Übersicht [ HL²-Models in 3ds max importieren ]  

 


zum Seitenanfang Sitemap Impressum