Platzierbare Objekte modifizieren

Seid mir gegrüßt Hilfesuchende,

das folgende Tutorial soll euch einen Überblick verschaffen, wie ihr platzierbare Objekte (placeables) verändert bzw. deren Modelle und Texturen aus dem Spiel exportiert, verändert und das Ergebnis als neues Objekt wieder einspielt. Als Beispiel möchte ich die Fußbodenmuster benutzen, da mich in der Vergangenheit bereits einige Leute gefragt haben, wie sie ihr Gildenlogo, Gottessymbol etc. in das Spiel integrieren können. Ich werde natürlich versuchen, die Erklärungen so weit es geht offen zu halten, damit ihr es auch problemlos mit jedem anderen Objekt nachahmen könnt.

Vorraussetzungen

1. Ihr solltet euch mit Grafikbearbeitung auskennen, da ich nicht das Entwerfen von neuen Texturen erklären werde.

2. Ihr braucht für die Grafikbearbeitung ein Programm, welches Targa (.tga) Dateien verarbeiten und Alphakanäle bearbeiten kann, z.B. Adobe Photoshop oder Paint Shop Pro (PSP).

3. Eine Reihe von Tools, die ihr in unserer Downloadsektion findet: NWNPacker (optional) und NWNViewer, NWN Modelcompiler (nwnmdlcomp.exe) sowie einen beliebigen Texteditor.

Der Ursprung

Bildschirmfoto

Als erstes solltet ihr euch ein Objekt aussuchen, dass ihr verändern bzw. verdoppeln möchtet. In unserem Falle handelt es sich dabei um das Fußbodenmuster. Sucht euch das entsprechende Objekt aus der platzierbare Objekte Palette heraus und ruft die Eigenschaften auf. Normalerweise könnt ihr beim "Aussehenstyp" nachschlagen wie das Modell in der placeable.2da benannt wurde. Bei Originalmodellen von BioWare wird die Sache jedoch etwas schwieriger. Da für diese Objekte StringRefs benutzt werden, können wir den Originalnamen nicht 100%ig identifizieren. Ihr könnt jedoch eine ungefähre Benennung erahnen, wenn ihr euch die Felder Aussehenstyp (Grundlagen), Vorlagen-Res-Ref (Erweitert) und Porträt (Erweitert) anseht. In unserem Falle sind die Felder mit "Floor Designs", "plc_flrdesign1" und po_plc_t07 bezeichnet.

Modell extrahieren und dekompilieren

Nun geht es darum das passende Modell dazu in den NwN Resourcen ausfindig zu machen. Öffnet hierzu mit dem NwN Viewer die NwN Resourcedatei: File->BIF->Neverwinter-Nights. Werft als erstes einen Blick in die 2da.bif (1. Eintrag im Fenster linksoben). Sucht euch in der Filelist (linksunten) die placeable.2da heraus und sucht in ihr (Hauptfenster rechts) nach einem Eintrag der ähnlich den 3 Begriffen ist. Ihr solltet in Zeile 152 fündig werden

Placeable.2da	
        Label           StrRef     ModelName     LightColor     LightOffsetX...	
152     FlrDesigns1     5795       PLC_T07       29             0.003984


Der enthält sowohl die einer Vorlagen-Res-Ref ähnliche Bezeichnung als Label als auch einen dem Portrait ähnlichem Modellnamen. Um letzteren geht es uns zunächst.
Öffnet die models_02.bif (linksoben) und sucht euch das entsprechende Modell aus der Liste raus. Wenn ihr es gefunden habt, exportiert sowohl die .mdl (Eintrag 9085) als auch .pwk (9086) Datei in ein dafür vorbereitetes Verzeichnis.
Sucht nun das Verzeichnis auf eurer Festplatte auf, in das ihr die Dateien entpackt habt und dekompiliert die .mdl mit dem NwN Modelcompiler. Hierzu müsst ihr folgenden Befehl eingeben: nwnmdlcomp.exe -d PLC_T07.MDL

Textur extrahieren

Bildschirmfoto

Nach dem Dekompilieren könnt ihr die Modelldatei mit jedem beliebigen Texteditor betrachten. Nun müsst ihr die zu verändernde(n) Textur(en) heraussuchen. In unserem Falle ist das sehr einfach, da das Modell nur eine Textur verwendet. Sucht hierzu nach dem Begriff "bitmap". Ihr solltet bereits in der 20 Zeile fündig werden. Dem Begriff bitmap folgt der Name der jeweiligen Textur. In unserem Falle plc_floordes01. Diese Textur müssen wir jetzt ebenfalls aus dem Spiel herausholen.
Startet also wieder den NWN Viewer und öffnet dieses mal die textures_02.bif. Sucht darin die Datei mit dem Namen der Textur. In Zeile 1248 müsstet ihr eine Datei namens plc_floordes01.tga finden. Entpackt diese ebenfalls in das Verzeichnis auf eurer Festplatte.

Die neue Objektvorlage

Bildschirmfoto
Bildschirmfoto

Ab jetzt beginnt der Teil dieses Tutorials, bei dem ich euch am wenigsten helfen kann. Öffnet die Texturdatei (plc_floordes01.tga) mit einem Grafikbearbeitungsprogramm und verändert sie euren Vorstellungen entsprechend. Jede Textur ist unterschiedlich aufgebaut und meist für mehrere Objekte zuständig. So auch bei unserem Fussbodenmuster. Man kann zwar keine genauen Markierungen erkennen, aber es wird schnell klar, dass die Textur für alle drei Bodenmuster zuständig ist. Der Bereich für unser Objekt beschränkt sich lediglich auf ein Viertel der Textur (256x256 Pixel). Fügt in diesem Bereich euer gewünschtes Logo ein und speichert das Ergebnis unter einem neuen Namen (plc_floordes02.tga oder ähnliches). Beachtet bei der Bearbeitung, dass die Grafik einen zusätzlichen Alpha Kanal hat, der bestimmt welche Bereiche der Textur im Spiel sichtbar werden. Weiß entspricht 100% Sichtbarkeit und Schwarz ist transparent. Alles da zwischen liegende ist wird prozentual transparent. In meinen Beispielgrafiken verwende ich deshalb einen weißen Glüheffekt von 5 Pixeln, um den Übergang zum Boden (auf dem das Symbol später platziert wird) nicht so abrupt aussieht. Wenn die Textur so weit fertig ist, könnt ihr die Modelldatei verändern. Benennt sie (und die .pwk Datei) einfach in euren neuen Wunschnamen um und öffnet sie anschließend im Texteditor. Begebt euch wieder zum "bitmap" Eintrag und ändert die Bezeichnung dahinter in die eurer neuen Textur. Somit ist das eigentliche Objekt fertig.
Was nun noch fehlt ist der entsprechende Eintrag in der placeable.2da. Kopiert euch den Originaleintrag ans Ende der Auflistung, gebt ihm eine neue Nummer und passt die restlichen Bezeichnungen ebenfalls eurem Modell an. Der Eintrag könnte somit folgendermaßen aussehen:

Placeable.2da	
        Label              StrRef     ModelName     LightColor     LightOffsetX...	
201	Fussbodenmuster1   ****       pt_flrds01    1              0.003984

Die 4 Sternchen bei der "StrRef" (3. Feld) sind in unserem Falle sehr wichtig, da wir nicht wollen, dass das Objekt unter dem gleichen Namen wie das Originalmodell erscheint. Wenn ihr die 4 Sternchen setzt übernimmt das Werkzeugset automatisch den Namen unter "Label" (2. Feld) als Bezeichnung für den Aussehenstyp.

Zurück ins Spiel

Bildschirmfoto
Bildschirmfoto

Alles was ihr jetzt noch machen müsst, ist die 4 Dateien zurück ins Spiel zu bringen. Hierzu könnt ihr entweder den NwN beiliegenden Hak Pak Editor (nwhak.exe im utils Verzeichnis) oder den NWN Packer benutzen. Für welches ihr euch auch entscheidet, erstellt einfach ein neues Hak Pak und kopiert die 4 Dateien (texturname.tga, modellname.mdl, modellname.pwk und placeable.2da) hinein.
Zuletzt müsst ihr nun lediglich das Hak Pak einbinden (Im Menü Bearbeiten->Eigenschaften des Moduls->Selbst erstellter Inhalt das Hak Pak an die höchste Stelle rücken) und ein neues Bodenmuster mit dem neuen Aussehenstyp erstellen.


Viel Erfolg
Pandur
Abt von Tyr der Stadt Covalinsk

Erstellt von Pandur | am 18.07.2007