Wenn Du ein Objekt "fertig" hast, zähle die benutzten Materialien. Dann musst Du eine
Nif-Datei suchen die genau so viele Shapes hat wie Du Materialien verwendet hast. In
diese kannst Du Deine Materialien hineinsetzen.
Zum Beispiel hast Du mal ein statisches Objekt mit zwei Materialien gemacht gegen das
der Spieler bei Kollision dagegenlaufen- nicht durchlaufen- soll.
Also zwei Texturen verwendet. Nun suchst Du Dir ein Nif mit zwei sichtbaren Shapes und
einem Shape für die RootCollisionNode. Nehmen wir mal ex_de_ship_trapdoor (oder so
ähnlich heisst das).
Zunächst- bevor Du das Nif importierst mach erstmal Dein Objekt fertig, d.h. speichere es
als uvb (unvollendetes Bild). Dann öffne mit F7 den Materialmixer: Dort gibt es einen
Button: "Alle Mitglieder als Ausschnitt zur Zwischenablage".
Nun packe also alle einzelnen Materialien als Ausschnitte auf verschiedene Ablageplätze
und gib den Ablageplätzen die Namen der für die Materialien verwendeten Texturen damit
Du später gleich weisst was wozu ist.
Speichere meinetwegen alle Ausschnitte als Album, so hast Du sie später nochmal parat.
Nachdem Du alle Materialien die Du verwenden willst, zu Ausschnitten gemacht hast
importiere nun das Nif in das die neuen Figuren eingesetzt werden sollen.(ich nehm mal
die Tür-Luken-Klappe vom Schiff- mir fällt bloss grade die richtige ID nicht ein)- die hat
zwei sichtbare Shapes und eines unter der RootcollisionNode.
Es gibt aber auch einfache Nifs, z.B. für ein simples Teil mit nur einer Textur ist das
i\in_vs_pitfloor_01.nif ideal geeignet weil es nur ein Shape mit zwei Dreiecken hat, nicht
rotiert ist und kein extra Shape für RootCollisionNode braucht. Lediglich Vertex-Farben
muss man entfernen wenn man ein Shape ohne Vertex-Farben oder ein eigenes Bild
reinsetzt. (siehe unten)
Nach dem Import des Nifs kannst Du dann links oben in der Liste einen
NiTriShapeData-Block anklicken = öffnen. Der erste solche Block wäre der Tür-Griff, der
zweite wäre das Brett der Tür selbst und der dritte NiTriShapeData-Block wäre das
Kollisions-Shape.
Öffne also das erste Shape, wähle vom Datei-Menu den Befehl "Beginne neues Bild" -
dabei wird das augenblickliche Shape gelöscht.
Positioniere den Zeiger bei 0,0,0, öffne mit STRG+Z die Zwischenablage, wähle den
Ablageplatz mit dem ersten Deiner Ausschnitte und füge mit STRG+V den Ausschnitt ins
Bild ein. Umschalt+EINFG drücken um den Ausschnitt entgültig zu übernehmen.
Nun wieder links oben kucken, oberhalb des NiTriShapeData findest Du "NiSourceTexture".
Wähle nun für das Shape die entsprechende Textur. Wenn Du's so gemacht hast wie ich
oben beschrieben habe, nämlich das Du den Ausschnitten die Texturnamen gegeben hast
sollte es kein Problem sein zu wissen welche
Verfahre genauso mit dem anderen Shape (Bild löschen und den Ausschnitt einsetzen,
nachher noch Textur zuweisen).
Dann hast Du evtl. noch ein weiteres -unsichtbares- Shape im Nif - unter der
RootCollisionNode welches wie schon erwähnt der Kollisionsabfrage dient. Das ist im Falle
der Schiffsluke leider rotiert worden und völlig verdreht im Bild: Genauso auch der Griff.
Der ist auch eigentlich verdreht.
Die Drehung soll aber weg, denn DU willst Dein Bild ja nicht erst rotieren müssen damit es
ins Nif passt und korrekt dargestellt wird.
Die "Drehung" kannst Du wegmachen - und zwar schau beim NiTriShape oberhalb des
geöffneten NiTriShapeData-Blockes:
Du siehst Werte für Translation X,Y und Z (Versatz) und Rotation (Matrix M11 bis M33,
kann auch sein das dort 1,1 oder M11 steht - wäre das selbe)
Die 3mal3-Matrix sieht etwa so als Tabelle aus:
. 1 2 3
1 1 0 0
2 0 1 0
3 0 0 1
also wenn bei 1,1 2,2 und 3,3 jeweils eine 1 steht und der Rest Nullen sind dann ist das
Shape nicht verdreht. Wenn Du diese Werte also dort so einsetzt kannst Du Dein
Kollisionshape einfach unverdreht ins Shape quetschen. Also. Checke alle
NiTriShape-Blocks ab ob Translation ungleich 0 ist oder ob die Matrix evtl. eine Drehung
vorgibt.
Bei Translation kann sein das dort was steht. Wenn DU STRG+F11 drückst (="alle Shapes
translatiert anzeigen") und das Shape hüpft dabei hin und her so wird es wohl um diese
unter Translation (bei NiTriShape) zu findenden Werte versetzt sein.
Trage für Translation X,Y und Z einfach Nullen ein um den Versatz zu entfernen.
Nun kannst Du das Original-Shape unter der RootCollisionNode ebenfalls löschen und beide
Ausschnitte nacheinander ins gleiche Shape einsetzen um das Kollisions-Modell zu
erstellen oder aber Du könntest auch eine uvb-Datei laden: Dabei würde das Shape durch
die geladene uvb-Datei ersetzt und alle Materialien der uvb-Datei werden automatisch zu
Basismaterial bzw. zum im Shape verwendeten Material.
Du könntest aber auch einfach das vorhandene Shape unter der RootCollisionNode (ist ja
nur eine viereckige Box) durch Versetzen der Eckpunkte auf die gewünschte Grösse
anpassen.
Nachdem Du alle Shapes eingesetzt und auch Texturen gewählt hast kommt noch was
Wichtiges:
Zunächst gehe Shape für Shape durch und lass Dir (STRG+F9) den geometrischen
Mittelpunkt anzeigen, dann lege diesen Mittelpunkt (Bearbeiten-Menu) als neue Mitte
fest, danach lass den Radius für das jeweilige Shape errechnen (Ansicht-Menu) und setze
ihn unter NiTriShapeData ein. (Radius wird nicht automatisch eingesetzt!)
Sollten die Radien nicht stimmen dann flackert das Shape im TES-CS/Morrowind bei
sichtbaren Shapes oder man kann durchlaufen (bei Kollisions-Shapes)
Auch nochmal kucken bevor Du Dein Werk als Nif speicherst: Sind die farbigen Labels der
Eckenfelder (Dreiecks-Liste) alle schwarz? Dann solltest Du vorm Speichern noch die
Vertex-Farben entfernen. Gehe dazu bei NiTriShapeData unter "Vertex-Farben präsent"-
wenn dort ein Wert steht schreib eine 0 rein und die störenden Vertex-Farben sind
verschwunden.
Noch Unklarheiten oder Fragen: Stelle sie hier
Nachtrag:
Als X-Mesh speichern ist nicht unbedingt dazu gedacht um in Morrowind eingesetzt zu
werden. Es lassen sich zwar mit Hilfe der Kombination Morrowind Script Extender und
Morrowind Graphics Extender Direct X-Meshes im Exterior-Bereich darstellen aber diese
Meshes "greifen" nicht ins Spiel ein, als man kann sie vieleicht für Atmosphäre-Zwecke
als Regentropfen, Wolken am Himmel oder entfernt fliegende Vögelchen verwenden
aber nicht so das sie ins Spielgeschehen eingreifen würden.
X-Meshes gibt es in zig verschiedenen Formaten, sind eigentlich ein Standard-Format für
DirectX-Grafikkarten der praktisch in Kombination mit dem DirectX-Programm optimal auf
die Hardware zugeschnitten ist. Oder umgedreht: die Hardware wurde dafür entwickelt.
Der gespeicherte X-Mesh-Typ ist einfachste Kategorie und besteht nur aus dreieckigen
Flächen. Da X-Meshes aber auch vier- fünf oder noch mehr-eckige Flächen haben
könnten kann der Mesh-Messi selbst nicht mal X-Meshes laden um sie weiter zu
bearbeiten da der Mesh-Messi nur mit Dreiecken umgehen kann...