Da ich hier im Lexikon und im Forum nach kurzer Suche keinen Eintrag dazu gefunden habe: Hier eine kurze Erklärung wie man "Seats" schon bei der Erstellung des Modells z.B. mit Blender vordefinieren kann, sodass diese dann automatisch beim Import in den Model Editor angelegt werden.
Aus dem offiziellen TPF2 Wiki: https://www.transportfever2.com/wiki/doku.php?id=modding:modeleditor&s[]=seat
"To predefine seats, items with seat_
can be imported as part of an .fbx
file. The position and rotation info is used. To mark a seat as a crew position, crew_
should be used."
Die Positionen für Personen werden im Spiel/Model Editor über "Seat Locator" definiert. Im Model Editor kann man im Optionsmenü die Anzeige der Position dieser Seat Locator aktivieren:
Die Seat Locator sind in dem Beispiel die Achsen mit den Nummern 0 und 1.
Für meinen Fall war es am einfachsten für die Seat Locator neue temporäre Meshes zu erstellen, da man diese Meshes sehr leicht und präzise an die Stelle setzen kann, an der die Seat Locator liegen sollen.
Der Mittelpunkt der neu erstellten Meshes soll jeweils an dem Punkt liegen an dem der Seat Locator plaziert werden soll. Für den rechten Seat Locator (0) im Beispiel soll dieser im Punkt x=-0.7, y = 1 und z = 2,51 liegen.
Am einfachsten ist es ein Quadrat zu erstellen, dessen Mittelpunkt in diesem Punkt liegt (die im Beispiel ausgewählten Objekte):
Für die genaue Platzierung im Raum, sollte die Origin des Mesh dafür erstmal im Nullpunkt liegen.
In Blender kann man nun im Object-Mode für die jeweiligen Meshes Object -> Set Origin -> Origin to Geometry wählen und somit die Origin des Objektes in dessen Mittelpunkt zu legen.
Die Origin der jeweiligen Meshes liegt nun an dem Punkt, an dem der Seat Locator angelegt werden soll.
Jetzt kann noch die Orientierung (Drehung) und Skalierung des Seat Locators beeinflusst werden.
Dafür werden die Meshes im Object Mode manipuliert (nicht im Edit Mode).
Bei mir war es notwendig die Meshes auf der Y-Achse um -90° zu drehen.
Außerdem habe ich den rechten Seat_Locator um -15° auf der X-Achse gedreht und beide Meshes auf 95% skaliert.
Resultat:
Auf die so angepassten Meshes darf nie Object -> Apply (Transforms) angewendet werden, sonst gehen die Anpassungen verloren.
Vor dem Export sieht meine Objekt-Liste in Blender so aus:
Wie im Zitat oben beschrieben müssen die Seat-Meshes mit "seat_" beginnen. Mit "crew_" kann man stattdessen die Positionen für das Personal definieren.
Bevor man diese Meshes für alle Sitze anlegt sollte man das Ergebnis mit einigen wenigen Sitzen überprüfen und einen Test-Import im Model-Editor vornehmen.
Hat alles geklappt kann man nun für die restlichen Sitzplätze in seinem Modell die Seat Locator-Meshes duplizieren und an die entsprechenden Stellen verschieben (im Object Mode).
Beim Export in Blender müssen die "seat_"-Meshes mit ausgewählt werden.
Beim Import in den Model-Editor werden nun die Seat Locator direkt angelegt und die jeweilige Transformationsmatrix entspricht den in Blender durchgeführten Transformationen:
Nachdem man den Import im Model-Editor gespeichert hat, muss man nur noch etwas aufräumen.
Aus der .mdl werden alle Verweise zu den "seat_"-Meshes entfernt. Aus dem Mesh-Ordner können nun auch die "seat_"-Meshes gelöscht werden.
Fertig!
Comments 2
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.
Newly created comments need to be manually approved before publication, other users cannot see this comment until it has been approved.
DH-106
Schöne Erklärung. Welche Blenderversion benutzt du?
Micha77
Momentan Blender 2.82