====== Erstellen eines statischen Modells mit dem XSI ModTool ====== In diesem Tutorial werden wir ein statisches Model (ein volumetrisches Licht) für die Source-Engine erstellen. ===== Vorraussetzungen ===== * Source SDK * XSI Mod Tool mit ValveSource-Addon * VTFExplorer ===== Vorbereitungen ===== * Laut VDC ist die aktuelle Version des ValveSource-Addons inkompatibel mit der aktuellen Version 7.5 des ModTools, es wird empfohlen, das ModTool in Version 6 zu benutzen. * Das Interface des ModTools kann über die Registerkarte //Modes// am oberen Bildschirmrand geändert werden, dieses Tutorial bezieht sich auf das Interface //XSI Default (Pro Mode)//. ==== Modellieren ==== Zuerst wird ein simpler Würfel über //Get->Primitive->Polygon Mesh->Cube// erstellt, als Kantenlänge werden 64 Units eingestellt. {{:source:modeling:xsi:wuerfel_erstellen.jpg}} Nun werden alle Polygone, bis das vordere, angewählt (''U'') und gelöscht. Das verbliebene Polygon wird nun auf die vierfache Größe (256) in Y-Richtung skaliert (''X''). {{:source:modeling:xsi:ebene_skalieren.jpg}} ==== Texturieren ==== === Vorbereitung === Da es für volumetrisches Licht bereits eine Textur gibt, werden wir diese verwenden. Sie befindet sich in der Datei ''source materials.gcf'', diese befindet sich in ''...Steam/SteamApps/''. Diese Datei öffnet man jetzt mit VTFExplorer, und navigiert zu ''root/hl2/materials/models/effects/''. Wir benötigen hier die Datei ''vol_light001.vtf''. ''VTF'' ist das Texturformat der Source-Engine, aber da XSI es nicht verarbeiten kann, extrahieren wir die Textur via //Save As...// als ''TGA''-Datei. Der Speicherpfad ist ''.../Steam/SteamApps//sourcesdk_content/hl2/materialsrc/models/effects/''. === In XSI === Die Textur wird jetzt importiert. Über das Rendermenü drücken wir auf //Get->Texture->Image//. Nun öffnet sich ein Fenster namens //Material:Image//. Hier gibt es ein Dropdown-Menü //Image//, mit dem momentanen Wert //noIcon_pic//. Hier gehen wir rechts davon auf //New->New From File//, und wählen danach unsere TGA-Datei aus. {{:source:modeling:xsi:textur_importieren.jpg}} Danach müssen wir noch festlegen, wie die Textur auf das Model abgebildet werden soll. Hierfür wählen wir im Material-Fenster unter //Texture Projection//, //New->Unique UVs (polymesh)//. {{:source:modeling:xsi:textur_projizieren.jpg}} Zuletzt öffnen wir mit ''ALT+7'' den UV-Editor, und drücken den Button für eine planare Projektion (''CTRL+SHIFT+P''). Im sich öffnenden Untermenü muss der Haken bei //Maintain Aspect Ratio// weg, da sonst nicht die ganze Textur auf dem Model erscheint. Jetzt noch auf //Best Fit// klicken, fertig. {{:source:modeling:xsi:textur_seitenverhaeltnis_beibehalten.jpg}} ==== Fertig Modellieren ==== Da die meisten volumetrischen Lichtmodelle eine Art Gitterstruktur aufweisen, machen wir die hier auch noch: Das Polygon wird im Object-Modus (''Leertaste'') ausgewählt, mit ''CTRL+D'' dupliziert, und danach mit dem Move-Tool (''V'') etwas weiter nach hinten bewegt. Dies wiederholt man je nach Bedarf. Zuletzt dupliziert man noch einmal, und dreht (''C'') das Polygon um 90° entlang der Y-Achse, und dupliziert/verschiebt es wieder beliebig oft, um die Gitterstruktur zu erzeugen. {{:source:modeling:xsi:ebene_kopieren.jpg}} ==== Exportieren ==== Alle Polygone müssen jetzt im Object-Modus angewählt werden (**Wichtig**: Die grünen Rahmen sind Hilfsobjekte für die Texturprojektion. Diese dürfen für diesen Schritt nicht angewählt sein!). Danach im Model-Menü (''1'') //Create->Poly.Mesh->Merge// drücken. {{:source:modeling:xsi:ebenen_zusammenfuegen-1.jpg}} {{:source:modeling:xsi:ebenen_zusammenfuegen-2.jpg}} Im neuen Fenster den weißen Balken bei //Tolerance// auf //0// ziehen. Danach unter //Materials, UVs, VertexColors, WheightMaps// auf //Merge//, und anschließend weiter oben (bei //Inputs//) auf //Delete// drücken. Jetzt müssen alle Schritte noch bestätigt werden, dies geschieht über die zwei Knöpfe //Freeze// und //Freeze M//, diese befinden sich unten rechts. Jetzt kann man das Objekt als ''SMD'' exportieren. Dies wird über //ValveSource->Export SMD// gemacht. {{:source:modeling:xsi:smd_exportieren.jpg}} Im folgenden Fenster wählt man unter dem Punkt //File// die Zieldatei aus. Sie sollte sich immer im Verzeichnis ''.../Steam/SteamApps//sourcesdk_content//modelsrc/'' bzw in einem Unterordner davon befinden. Als //File Type// lassen wir //Model (.SMD)// so stehen, auch alle anderen Optionen sind in Ordnung so. Durch Drücken von //Ok// wird die Datei exportiert. Wichtig: Will man ein Modell erneut exportieren, müssen //Freeze// und //Freeze M// erneut betätigt werden. Da das Model keine Animationen und kein Kollisionsmodell benötigt, müssen hierfür auch keine speziellen SMDs exportiert werden, das Model ist also bereit für den Kompiliervorgang.