Jump to content
  • Grundbegriffe

    Variationen

    Jedes 3D-Modell besteht aus mindestens einer Datei (glTF oder X-Format), und somit aus einer Variation. Besitzt ein 3D-Modell darüber hinaus noch weitere Ausprägungen, wie z.B. einen weiteren Farbanstrich, dann können diese Ausprägungen in Form von weiteren Modell-Dateien als weitere Variationen hinzugefügt werden. Die Nutzer des 3D-Modellbahn Studios haben anschließend die Möglichkeit, sich flexibel für eine Variation auf der Anlage zu entscheiden, ohne ein weiteres 3D-Modell aus dem Katalog auf die Anlage ziehen zu müssen.

    Wann bieten sich Variationen an?

    Mehrere Modell-Dateien sollten immer dann zu einem 3D-Modell mit Variationen zusammengefasst werden, wenn sich die Modelle in ihrer Funktion nicht unterscheiden und eine starke visuelle Ähnlichkeit besitzen.

    Beispiele:

    • Ein Wagon besitzt eine Variation für die 1. und die 2. Klasse
    • Ein Fahrzeug besitzt einen blauen, roten und gelben Anstrich
    • Ein Gleis besitzt eine Variation mit Bettung und eine ohne
    • ...

    Im Zweifel hilft das Forum eine Entscheidung zu treffen, ob bestimmte Modelle zu Variationen zusammengefasst werden sollten.

    Zu berücksichtigen

    • Der Name der Variation leitet sich vom Dateinamen ab. Da der Name auch in der Auswahlliste für den Nutzer erscheint, ist es sinnvoll, aussagekräftige Dateinamen zu verwenden. Die Verwendung von Umlauten ist ausdrücklich erwünscht.
    • Animierte Modelle müssen die gleichen Animationen verwenden, bzw. bei mehreren Variationen werden nur die Animationen der Standardvariation berücksichtigt.
    • Es werden maximal 50 Variationen pro Modell unterstützt.

    Variationslisten

    Besteht ein 3D-Modell aus sehr vielen Variationen, ist es mühselig, alle Variationen einzeln in den Modelleditor zu laden bzw. zu aktualisieren, falls sich die Variationsmodelle geändert haben. Dafür bieten sich Variationslisten an, einfache Textdateien mit der Dateiendung .varlist, die folgendes Format besitzen:

    Name der Variation;Dateiname des Modells;Texturname 1=Dateiname der Textur 1,Texturname 2=Dateiname der Textur2...
    • Eine Zeile entspricht einer Variation
    • Die erste Variation wird als Standard-Variation gesetzt
    • Dateinamen müssen relativ zum Pfad der Variationslisten-Datei angeben werden
    • Die Angabe von Texturdateien ist optional. Falls definiert, werden nicht die Texturen im 3D-Modell geladen, sondern die in der Variationsliste angegebenen Dateien.

    Durch separate Angaben der Modell- und Texturdateien ist es möglich, aus nur einem Basismodell verschiedene Variationen beim Import in das Studio zu erzeugen.

    Tauschtexturen

    Tauschtexturen erweitern Variationen um die Möglichkeit, eine Textur des 3D-Modells durch eine vom Nutzer selbst erstellte Textur auszutauschen, und somit das Modell ein Stück weit nach eigenen Vorstellungen zu individualisieren. Jede Textur, die den Namen _Custom trägt (die Dateiendung spielt keine Rolle), wird als Tauschtextur erkannt und lässt sich durch den Nutzer austauschen.

    Wann bieten sich Tauschtexturen an?

    Während Variationen allein vom Modellbauer definiert werden, bieten Tauschtexturen die Möglichkeit, dem Nutzer eigene Gestaltungsmittel in die Hand zu geben. Tauschtexturen werden allerdings nicht in den Online-Katalog hochgeladen, wenn eine Anlage geteilt wird. Somit eigenen sich Tauschtexturen für individuelle Anpassungen, die nicht für die Allgemeinheit gedacht sind:

    • Individuelle Namen auf Bahnhofs- oder Ortsschildern
    • Persönliche Namen auf KFZ-Nummernschildern
    • ...

    Auch hier eignet sich das Forum, um im Zweifel bei der Entscheidung Variation vs. Tauschtexturen zu helfen.

    Materialien und Texturen

    3D-Modellbahn Studio verwendet PBR-Materialien im standardisierten Metallic-Roughness-Workflow, wodurch ein Material aus verschiedenen Parametern/Texturen besteht. Unterstützt werden im Studio "BaseColor", "Metallic", "Roughness" und "Emissive".

    Während Metallic in der Praxis eher binär ist (0 oder 1), steuert Roughness die Reflektion eines Materials. Die Emissive-Eigenschaft steuert, wie viel Licht ein Objekt von sich aus ausstrahlt. Je höher der Wert, desto stärker wird das Material als Lichtquelle interpretiert. Dies hat z.B. auch Einfluss auf die Überbelichtung (Blooming).

    Durch Verwendung von Texturen für die einzelnen Parameter kann einem Objekt verschiedene Eigenschaften innerhalb eines Materials zugewiesen werden. So können verschiedene Bereiche einer Lokomotive glänzend, andere Bereiche abgenutzt und stumpf dargestellt werden, mit nur einem Material.

    Da nicht jedes Dateiformat PBR-Materialien unterstützt (z.B. das ältere X-Format), gibt es im Studio eine Speziallösung. Existiert neben der normalen Textur eine weitere Textur, die die Namenserweiterung _Metallic, _Roughness und/oder _Emissive enthält, werden diese Texturen beim Import in das Studio entsprechend verwendet, unabhängig der Materialeinstellung im Dateiformat.

    Weitere Anmerkungen

    • Jedes Material wird getrennt von der 3D-Engine verarbeitet, es ist daher ratsam, die Anzahl der verwendeten Materialien auf ein Minimum zu reduzieren (im Idealfall auf ein nicht-transparentes und ein transparentes Material).
    • Das Studio unterstützt verschiedene Dateiformate für Texturen, empfohlen wird das PNG-Format, da es verlustfrei ist und eine Nachbearbeitung erlaubt. JPEG sollte vermieden werden, da leicht Kompressionsartefakte sichtbar werden können.
    • Die Breite und Höhe aller Texturen muss eine Zweierpotenz betragen, also z.B. 64, 128, 256 usw...
    • Texturen mit Halbtransparenzen (Alpha-Werte) sollten nicht mit Texturen ohne Transparenzen vermischt werden. Genauer gesagt ignoriert das Studio alle Transparenzen von Texturen, wenn diese nicht mindestens zu 75% aus transparenten Pixeln bestehen.
    • Unabhängig des Dateiformats konvertiert das Studio automatisch alle Texturen in ein für die Grafikkarte optimiertes Dateiformat (DXT) und wählt dabei die optimalen Einstellungen.

    Weitere Informationen zur Konfiguration von PBR-Materialien (speziell für Blender) hat Community-Mitglied maxwei zur Verfügung gestellt:

    Kurzanleitung MBS-Material.pdf Kurzanleitung MBS-Material (Emissive).pdf

    Beschriftungen

    Beginnend mit 3D-Modellbahn Studio V8 unterstützen 3D-Modelle Texte und Beschriftungen, die vom Nutzer angepasst werden können (z.B. Zugzielanzeigen, Schilder usw.). Die Beschriftungen sind Teil der Modelltexturen und werden vom Studio bei einer Änderung entsprechend aktualisiert. Jede Basis- und Emissive-Textur unterstützt Beschriftungen. Die Informationen werden aus einer TXT-Datei ausgelesen (UTF-8 kodiert), die den gleichen Namen wie die Textur besitzt.

    Beispiel einer Beschriftungsdatei:

    [0]
    Name = Beschriftung
    Text = Großheim 5 km
    FontName = Bahnschrift
    FontSize = 36
    FontStyle = Bold, Italic
    FontColor = FFFF8000
    Animated = False
    Align = Center, Top
    Area = 90,438,493,510

    Jede Textur unterstützt bis zu 20 Beschriftungen. Pro Beschriftung existieren folgende Eigenschaften:

    • [0] - Laufende Beschriftungsnummer innerhalb der Beschriftungsdatei. Die Nummer selbst hat keine Bedeutung, sie muss jedoch einmalig innerhalb der Datei sein.
    • Name - Beschreibung der Beschriftung, so wie sie dem Nutzer präsentiert wird. Unter diesem Namen wird die Beschriftung zudem über die Ereignisverwaltung adressiert. Hinweis: Verschiedene Beschriftungen eines 3D-Modells können den gleichen Namen verwenden. In diesem Fall verwenden alle Beschriftungen den gleichen Text, sinnvoll z.B. bei Zugnummern, die an verschiedenen Stellen eines 3D-Modells (in verschiedenen Ausprägungen) positioniert sind.
    • Text - Inhalt der Beschriftung für neue 3D-Modelle, kann vom Nutzer beliebig angepasst werden. Über die Zeichenkette \n wird ein Zeilenumbruch eingefügt.
    • FontName - Schriftart der Beschriftung. Folgende Schriftarten werden mit dem Studio mitgeliefert und stehen aktuell zur Verfügung:
      • Auto Digital
      • Arial
      • Bahnschrift (Standard)
      • Bahnschrift Condensed
      • Consolas
      • DIN 1451 Mittelschrift DB
      • Dot Matrix
      • Futura Book
      • Old Town
      • Times New Roman
    • FontSize - Textgröße in Pixel
    • FontStyle - Textstil, unterstützt werden Kombinationen aus Bold, Italic und Underline, oder leer für den Standard-Stil.
    • FontColor - Textfarbe als Hexwert im Format AARRGGBB (Alpha, Rot, Grün, Blau)
    • Animated - Gibt an, ob es sich bei dem Text um einen Lauftext handelt (True/False). Hinweis: Eine Beschriftung wird nur dann als Lauftext animiert, wenn der Textinhalt größer als der Beschriftungsbereich ist.
    • Align - Ausrichtung des Texts innerhalb des Beschriftungsfelds. Unterstützt werden Left, Right und Center (horizontal) und Top, Bottom, VCenter (vertikal).
    • Area - Koordinaten des Beschriftungsfelds innerhalb der Textur in Pixel (links, oben, rechts, unten)

    Hinweise zur Performance: Statische Beschriftungen, die nur unregelmäßig vom Benutzer angepasst werden, stellen keine besonderen Performance-Ansprüche, da solche Beschriftungen im Hintergrund aktualisiert werden. Texturen mit Lauftexten hingegen müssen kontinuierlich vom Programm aktualisiert werden, weshalb solche Texturen eine maximale Größe von 0,25 MPixel besitzen dürfen (z.B. 512x512 oder 1024x256). Bei Lauftexten bietet es sich daher häufig an, ein eigenes Material zu verwenden. Ebenso sollte es vermieden werden, statische Texte mit Lauftexten auf einer Textur zu kombinieren, zumindest solange es deutlich mehr statische Texte als Lauftexte gibt.

    Detailstufen (LOD)

    Grafikkarten können nur eine begrenzte Anzahl an Polygonen pro Sekunde verarbeiten (je nach Leistungsstufe), weshalb es sinnvoll ist, jedes 3D-Modell mit so wenig wie möglichen Polygonen auszustatten. Ist eine Optimierung nicht mehr möglich, sollte eine zusätzliche Detailstufe gebaut und zum Modell hinzugefügt werden. Detailstufen erlauben dem 3D-Modellbahn Studio, ein weniger komplexes Modell anzuzeigen, wenn dieses soweit von der Kamera entfernt ist, dass Details nicht mehr sichtbar sind.

    • Detailstufen werden automatisch geladen, wenn die Modell-Dateien mit dem Namen _LOD1 bzw. _LOD2 enden
    • Die Umschaltung der Detailstufen erfolgt vom Studio automatisch und ist abhängig der Modellgröße (große Modelle werden später umgeschaltet als kleine)
      • LOD1 wird für mittlere Entfernungen genutzt, bei denen Objekte noch gut zu sehen sind, aber nicht mehr im Fokus des Betrachters liegen
      • LOD2 wird für große Entfernungen genutzt, bei denen nur noch die Umrisse des Objekts sichtbar sind
      • LOD1 ist optional, falls zwischen dem Hauptmodell und LOD1 zu wenige Unterschiede bestehen
    • Jede Detailstufe sollte die Anforderungen (Polygone oder Materialien) um mindestens 30% reduzieren

    Tipps für das Erstellen von Detailstufen

    • In niedrigen Detailstufen sollten zuerst kleine Details entfernt werden, die in einer bestimmten Entfernung eh kaum noch wahrnehmbar sind (z.B. drahtiger Stromabnehmer, kleine Objekte, Rundungen). Solange die Kontur des Modells in etwa erhalten bleibt, fallen kleine Detailänderungen kaum auf.
    • Detailstufen, die nur in großer Entfernung angezeigt werden, können auf Spezialobjekte wie Radanimationen oder bewegliche Drehgestelle verzichten, da eine Animation oder eine Drehung in großer Entfernung kaum wahrnehmbar ist.
    • Verzicht auf transparente Objekte und somit dem Innenleben bei niedrigen Detailstufen

    Animationen

    Das 3D-Modellbahn Studio unterstützt für jedes 3D-Modell eine beliebige Anzahl an vordefinierten Keyframe-Animationen. Mehrere Animationen können sowohl in Blender, in 3D Studio Max oder in allen anderen Programmen definiert werden, die timeline-basierte Keyframes exportieren können. Dabei gilt zu beachten, dass mehrere Animationen, die getrennt im Programm angesprochen werden sollen, in der Timeline hintereinander angelegt werden müssen. Grund ist der, dass die meisten 3D-Programme keine klare Definition von Multianimationen besitzen, und daher immer nur die Timeline als eine Gesamtanimation exportieren, die das Studio anschließend in die Einzelanimationen auftrennen muss.

    Die Auftrennung der Gesamtanimation in Einzelanimationen erfolgt durch eine zusätzliche Animationsdatei, die den gleichen Namen wie das Modell besitzt, jedoch die Endung .anim verwendet und im gleichen Verzeichnis wie das Modell liegen muss. Die Animationsdatei ist eine einfache Textdatei und enthält für jede Einzelanimation genau eine Zeile, die wie folgt aufgebaut ist:

    Animationsname;Startframe;Endframe;AutoPlay;Loop
    • Animationsname - Name der Animation, so wie er anschließend im 3D-Modellbahn Studio erscheint. Es wird empfohlen, aussagekräftige Bezeichner zu verwenden. Wichtig: Der Animationsname darf sich später nicht mehr ändern, da z.B. Aktionen in der Ereignisverwaltung die Animationen per Namen referenzieren.
    • Startframe - Keyframe, mit dem die Animation starten soll.
    • Endframe - Keyframe, mit dem die Animation enden soll.
    • AutoPlay - Gibt an, dass die Animation beim Einfügen auf die Anlage automatisch starten soll. Statt AutoPlay kann auch NoAutoPlay gewählt werden, um die Animation zu Beginn zu pausieren.
    • Loop - Gibt an, dass die Animation standardmäßig als Endlosschleife startet. Mit Angabe von NoLoop wird die Animation standardmäßig nur einmal abgespielt.

    Ein Beispiel für eine Zeile der Animationsdatei wäre: Door;0;15;AutoPlay;NoLoop - Definiert wird die Animation "Door", die vom Keyframe 0 bis einschließlich 15 läuft, automatisch startet, aber nur einmal abgespielt wird.

    Geräusche

    Jedes 3D-Modell kann mit einem Geräusch aus dem Katalog verknüpft werden. Dabei gibt es folgende Punkte zu beachten:

    • Nicht jedes 3D-Modell benötigt ein Geräusch. Um den Nutzer nicht mit lauter Klängen zu nerven, sollten nur ausgewählte Modelle wie Fahrzeuge, Schranken oder größere Eisenbahnobjekte vordefinierte Geräusche zugeteilt bekommen. Der Nutzer hat am Ende immer noch die Möglichkeit, durch Hinzufügen einer Geräuschquelle eigene Klänge auf der Anlage zu platzieren.
    • Beim Hinzufügen von Sounds zum Katalog sollten diese im OGG-Format (empfohlen ist Kompressionsstufe 6) vorliegen und auf den Standardpegel normalisiert werden (z.B. über das kostenfreie Audacity, normalisieren auf -1,0 dB). Die Sounds können zudem in Mono gespeichert werden, da das 3D-Modellbahn Studio die Geräusche selbstständig in 3D positioniert und entsprechend auf unterschiedlichen Lautsprechern abspielt.

    Spezielle Objekte

    Zur Erkennung spezieller Funktionen greift das 3D-Modellbahn Studio auf bestimmte Namensschemen von 3D-Modellen und Geräuschen zurück. Besitzt ein Unterobjekt eines 3D-Modells oder eine Animation folgenden Namen, werden zusätzliche Funktionen freigeschaltet:

    Spezialobjekte

    • _Scale_1_100_mm - Gibt den Maßstab und die Einheit an, in dem das Modell im 3D-Programm konstruiert wurde. Statt 1_100 kann jeder beliebige andere Maßstab gewählt werden (die erste Zahl gibt den Zähler, die zweite Zahl den Nenner an). Statt mm ist auch eine Angabe in cm oder m möglich. Ein _Scale-Objekt wird nicht dargestellt, es zählt nur der Name. Ohne ein _Scale-Objekt erscheint beim Import des 3D-Modells ein Abfragedialog, um den Maßstab anzugeben.
    • _CP - Beginnt ein Objekt mit diesem Namen, dann wird es als Kontaktpunkt interpretiert. Kontaktpunkte verbinden sich automatisch mit anderen Kontaktpunkten. Die Ausrichtung des Objekts bestimmt dabei die Richtung, in die ein Objekt beim Verbinden gedreht wird. Kontaktpunkte werden nicht gezeichnet, ihre Geometrie spielt daher für das 3D-Modellbahn Studio keine Rolle.
      • _CP_Source - Ab V6. Der Kontaktpunkt wird automatisch mit anderen Kontaktpunkten verknüpft, die als Ziel markiert sind (_Target). Beispiel: Ein Kontaktpunkt eines Ladeguts. Wird die Ladung auf einem Wagon platziert, wird diese mit dem Wagon verknüpft und bewegt sich automatisch mit.
      • _CP_Target - Ab V6. Der Kontaktpunkt wird automatisch mit anderen Kontaktpunkten verknüpft, die als Quelle markiert sind (_Source). Beispiel: Ein Kontaktpunkt auf einem Wagon. Wird eine Ladung auf dem Wagon platziert, wird diese mit dem Wagon verknüpft und bewegt sich automatisch mit.
      • _CP_Spline - Enthält der Kontaktpunkt die Erweiterung _Spline, dann rastet der Punkt nicht an anderen Kontaktpunkten ein, sondern auf den Spuren von Gleisen und Straßen.
      • _CP_Track - Ab V5. Gleiches Verhalten wie _CP_Spline, gilt jedoch als Gleiskontakt, d.h. der Kontaktpunkt löst ein Ereignis "Gleiskontakt wird ausgelöst" aus, wenn ein Fahrzeug den Kontaktpunkt berührt. Pro Modell wird ein Gleiskontakt unterstützt.
      • _CP_Track_Dynamic - Ab V7. Entspricht einem Gleiskontakt, der dynamisch vom Nutzer verschoben werden kann (z.B. um den Abstand zum Signal zu verändern und/oder für eine Konfiguration des Parallelabstandes). Pro Modell wird ein Gleiskontakt unterstützt.
      • _Top - Ab V5. Enthält ein Spline- oder Track-CP diese Erweiterung, dann rastet der Punkt auf der Oberkante der Spur ein, dort wo auch das Rollmaterial aufsetzt.
    • _LS (bis V5) - Ein LS-Objekt wird als Lichtquelle interpretiert (Light source). Alle Objekte mit diesem Namen bekommen ein Material zugewiesen, dass immer leuchtet, auch Nachts. Wird ab V6 nicht mehr unterstützt, da hierfür die Emissive-Eigenschaft der PBR-Materialien genutzt werden kann.
    • _LC - Ein LC-Objekt wird als Lichtkegel interpretiert (Light cone). Auch diese Objekte leuchten immer, besitzen zusätzlich noch die Eigenschaften, dass ihre Textur im additiven Verfahren gezeichnet wird, wodurch Helligkeitsverläufe ermöglicht werden. Besitzt ein LC-Objekt keine Textur, bekommt es eine Standardtextur, die einem Lichtkegel ähnelt. Fahrzeuge blenden LC-Objekte automatisch je nach Simulationszeit ein oder aus.
    • _ENV_X (bis V5) - Objekte, die im Namen die Zeichenkette "_ENV_X" enthalten, reflektieren die Umgebung, und zwar mit der Stärke X (zwischen 1 und 100). Wird ab V6 nicht mehr unterstützt, da hierfür die Roughness-Eigenschaft der PBR-Materialien genutzt werden kann.

    Spezialobjekte, die nicht vom Studio gezeichnet werden (sollen), können z.B. in Blender mit Hilfe von "Null-Objekten (Emptys)" erzeugt werden.

    Spezialanimationen

    • _Time - Die Animationszeit wird mit der Simulationszeit der Anlage synchronisiert. Der Anfang der Animation entspricht dabei 0 Uhr, das Ende der Animation 24 Uhr.


×
×
  • Neu erstellen...