An der Sache experimentiere ich auch noch. Leider wird einem was das 3D-Modden angeht, in der deutschen X2 Community nur wenig geholfen. Ich bekomme da immer den eindruck, das die wenigen die was wissen, zu faul sind zum anwtworten und nur dann was schreiben, wenn sie selber was wissen wollen oder einen vorteil/nutzen daraus ziehen.
Also was ich bisher rausgefunden habe, und auch bereits erfolgreich bei mir funktionierte (arbeite auch mit GMax), ist:
1. man braucht eine extra Body-Datei, um einen Cockpit-Part in die Scene zu bekommen.
2. In dieser Body-Datei (ich nehme da die Datei her, in der auch die Frontwindschutzscheibe des Schiffes ist), erstelle ich dann einen Würfel, welcher genau an der stelle platziert wird, an der das Auge des Spielers sozusagen sein soll. (Menü -> Create -> Standard Primitives -> Box).
Wenn man anstat eines Würfels, eine Pyramide verwendet dafür, hat man den Vorteil das man anhand der Spitze der Pyramide, sehen könnte in welche Richtung der Spieler dann schaut. Jedoch klappte es bei mir bisher nur mit Würfeln. Weiss auch noch nicht woran das liegt.
3. Diesen Würfel/Box, gebe ich die Grösse, 0,5 (jeweils Länge, Breite Höhe gleich gross). Danach mache ich "Convert To: Editable Poly". Und gebe dem Object den Namen "Cockpit".
4. Das scheint nun ein wichtiger Arbeitsschritt zu sein. Bei mir gibt es abstürze wenn ich diesen Arbeitsschritt vergesse oder nicht richtig ausführe.
Der neue Cockpit-Würfel, muss nun verlinkt werden mit der Windschutzscheibe. Dazu zuerst den Würfel auswählen! Dann in der Menüleiste von GMax "Select and Link" auswählen. Anschliessend mit der Maus VON der Cockpit-Box eine Verbindung ZUR Windschutzscheibe ziehen und Maustaste wieder loslassen wenn die gestrichelte Linie zur Windschutzscheibe geht. Es sollte nun als Bestätigung sozusagen, ganz kurz die Windschutzscheibe aufblinken. Anschliessend nun das "Select and Link" Tool wieder abwählen. Zur kontrolle ob nun alles richtig verknüpft ist. kann man nun die Windschutzscheibe auswählen und mal bewegen. Die Cockpit-Box sollte sich dann mit bewegen. Jedoch wenn man nur die Cockpit.Box auswählt und bewegt, dann sollte sich die Windschutzscheibe NICHT bewegen! Das ist wichtig, ansonsten würde das bedeuten, das die Verknüpfung in die falsche Richtung geht.
Wenn man übrigens mehrere LOD-Stufen der Windschutzscheibe hat, so muss man Verknüpfungen übrigens immer, mit der obersten LOD-Stufe der Scheibe machen!
5. Anschliessend exportiere ich das Ganze (DBox2 -> Exporter -> Body -> Export All).
Wenn man dann diese Body-Datei mit z.B. Notepad öffnet, dann hat man auch nun in dieser Datei einen Abschnitt mit:
Code: Select all
.......
-99; 00000000000000000001; // end of part
// ----- part Cockpit (12 faces) -----
0; 630; 632; 631; -25; 2; 1.000000; 0.000000; 1.000000; 0.000000; 1.000000; 0.000000; // 0
... usw. ...
0; 634; 631; 637; -25; 64; 0.000000; 1.000000; 0.000000; 1.000000; 0.000000; 1.000000; // 11
-99; 00001000000000000001; // end of part
-99; 0000000000000000; // end of body
........
12 Faces in diesem Fall, weil der Würfel aus 12 Polys besteht
6. Mit GMax das ganze am besten auch noch normal als GMax-Datei speichern, damit man später die Cockpit Position noch verschieben kann, ohne das man mit DBox2 erst das ganze wieder importieren muss.
Sollte man dennoch mit DBox2 irgendwann mal eine solche Cockpit-Body-Datei importieren müssen, so sollte man beim Import die Option "Detach Parts" auf AN haben. Sonst kann man die Cockpit-Box nicht mehr getrennt bearbeiten nach dem Import!
7. Nun gehts bei der Scene-Datei des Schiffes weiter. Dort wird die Body-Datei wieder importiert (DBox2 -> Importer -> Body. "Highest LOD only" auf AN, "Detach Parts" auf AUS !!!). Hier beim Import in die Scene, muss Detach Parts, nun jedoch auf aus sein.
8. Den nun Importierten Part, gibt man den Namen *_1. Also wenn die importierte Datei z.B. den Namen 10777.bod hat, dann wird nach dem Import automatisch das Objekt als "10777" benannt. Das muss man nun noch umbenennen in "10777_1". Das ist anscheinend wichtig, damit X2 das als ein Spezial-Part erkennt. Weiss aber auch nicht ob das so unbedingt nötig ist, oder ob man das auch weg lassen könnte.
Wenn man dann die Scene-Datei exportiert, und sich mit Notepad ansieht, dann sollte dort auch ein Eintrag enthalten sein der z.B. so aussieht:
Code: Select all
P 13; B 10777; C 1; N 10777_1; // idx 13, flags: 0
{ 0x2002; 0;930;-1822; 0.000000;0.000000;0.000000;0.000000; 33; 1; } // 0
{ 0x2002; 0;930;-1822; 0.000000;0.000000;0.000000;0.000000; -1; -1; } // 1
9. In der TShips muss nun noch bei dem Schiff, in der Spalte Turets, bei "front gun", noch Body ID und Path ID eingetragen werden.
In meinem Beispiel wäre das Body ID: 10777 und Path ID: 13
Nun wäre es fertig und sollte funktionieren. Wenn nicht, und X2 dann abstürzt, liegt es meistens daran das bei Punkt 3 oder 4, irgendetwas nicht geklappt hat. Am besten dann die exportierte Body-Datei in Notepad ansehen, und prüfen ob das so aussieht wie die Textausschnitte die ich hier als Beispiel reingestellt habe. Oder die Body Datei vergleichen mit einer Funktionierenden Body-Datei, ob es da unterschiede in der Hierarchie gibt.
Wichtig ist auch, es sollte an einem Body nur maximal 1 Spezialpart verwendet werden.