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.
- Beginnt eine Zeile mit einem Doppelkreuz (#), dann wird die Zeile als Kommentar interpretiert und beim Import ignoriert
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.
Lichter
Anlagen in 3D-Modellbahn Studio verwenden unterschiedliche Beleuchtungssituationen. Um Nachts im Dunkeln die Szene zu erhellen, unterstützen 3D-Modelle verschiedene Arten von Lichtern. Das Studio unterscheidet dabei zwischen zwei Grundtypen:
- Reale Lichter, die die Umgebung beleuchten. Diese Lichter orientieren sich an den physikalischen Gesetzen und beleuchten alle umgebenden Objekte.
- Leuchtflächen, die ein Objekt zum Glühen/Leuchten bringen, ohne dabei die Umgebung zu beeinflussen.
Beide Grundtypen haben ihre Berechtigung. Während reale Lichter für eine physikalisch korrekte Beleuchtungssituation sorgen, dafür aber einen höheren Anspruch an die Rechenleistung stellen, können Leuchtflächen ohne Performanceeinbußen Objekte zum Leuchten bringen.
Reale Lichter
3D-Modellbahn Studio unterstützt drei Arten von realen Lichtern:
- Punktlichter, die das Licht gleichmäßig in alle Richtungen abstrahlen (wie z.B. eine Glühbirne)
- Spotlichter, die das Licht von einem Punkt aus in einem Kegelbereich abstrahlen (z.B. Autoscheinwerfer, Laternen usw.)
- Leuchtröhren, die das Licht entlang einer Länge abstrahlen (z.B. Leuchtstoffröhren, Lichtleisten usw.)
Bei Verwendung von Blender oder einem anderen Konstruktionsprogramm, dass Lichter unterstützt, können Punkt- und Spotlichter direkt im 3D-Modell erzeugt und nach glTF exportiert werden (im Blender-Exporter muss die Option "Include - Punctual Lights" aktiviert werden). Aus Gründen der Einfachheit arbeitet das Studio nicht mit Helligkeitswerten, sondern mit Entfernungen, d.h. Helligkeitseinstellungen im Konstruktionsprogramm werden in eine Entfernung konvertiert, bei der die Lichthelligkeit auf nahezu 0 fällt.
Unterstützt das Konstruktionsprogramm oder der Exporter keine Lichter, können diese dennoch durch spezielle Hilfsobjekte in ein 3D-Modell integriert werden. Die Hilfsobjekte werden beim Import in das Studio automatisch zu Lichtern konvertiert. Die Materialfarbe dient dabei als Lichtfarbe:
- _PointLight{Name} - Beginnt ein Objekt mit dem Namen _PointLight, wird es als Punktlicht interpretiert. Die Ausmaße des Objektes geben die Reichweite vor.
- _SpotLight{Name} - Beginnt ein Objekt mit dem Namen _SpotLight, wird es als Scheinwerfer interpretiert. Die Ausmaße des Objektes entlang der negativen Z-Achse geben die Reichweite und Richtung vor, die Ausmaße entlang der Y-Achse werden für den Öffnungswinkel genutzt. Der Alpha-Wert der Materialfarbe gibt den Verlauf an.
- _TubeLight{Name} - Beginnt ein Objekt mit dem Namen _TubeLight, wird es als Leuchtröhre interpretiert. Ist das Objekt um den Koordinatenursprung zentriert, wird das Licht in alle Richtungen abgestrahlt und die Ausmaße des Objektes geben die Reichweite vor. Startet das Objekt im Koordinatenursprung, gilt die Leuchtröhre als gerichtetes Licht ähnlich des Scheinwerfers, wobei die Ausmaße des Objektes entlang der X-Achse die Länge der Röhre vorgeben. Die Ausmaße des Objektes entlang der negativen Z-Achse gibt die Reichweite und Richtung vor, die Ausmaße entlang der Y-Achse werden für den Öffnungswinkel genutzt. Der Alpha-Wert der Materialfarbe gibt den Verlauf an.
- _InteriorLight{Name} - Beginnt ein Objekt mit dem Namen _InteriorLight, wird es als Innenbeleuchtung interpretiert. Dieses Licht besitzt zwei Punktlichter in den entgegengesetzten Ecken, wodurch ein Innenraum relativ konstant ausgeleuchtet wird, ohne Einfluss auf die Außenbereiche zu nehmen. Der Lichtbereich ist ein Quader, wobei die Lichtposition immer der lokale Koordinatenursprung ist. Durch Verschieben der Quader-Vertices kann das Licht innerhalb des Quaders frei positioniert werden.
Hinweis: Lichter unterstützen nur eine uniforme Skalierung, also eine gleichmäßige Skalierung in alle drei Richtungen. Beim Import in 3D-Modellbahn Studio erscheint eine Fehlermeldung, falls eine nicht-uniforme Skalierung erkannt wird. Gleichzeitig kann eine Skalierung ein gestalterisches Element sein, um z.B. Lichter per Skalierungsanimation flackern zu lassen. Dabei gilt zu beachten, dass manche Exporter Probleme mit einer Skalierung von 0 haben. Um Lichter per Animation auszublenden, genügt auch eine sehr kleine Skalierung von z.B. 0.001.
Leuchtflächen
3D-Modelle, die Leuchten, aber keinen Einfluss auf die Umgebung ausüben, werden zunächst über die Emissive-Eigenschaft des Materials konfiguriert. Um die leuchtenden Flächen im Programm umschaltbar zu gestalten, muss das leuchtende Objekt im 3D-Modell den Namen _MeshLight{Name} tragen, wobei {Name} den Namen des Lichts angibt, so wie er später im Studio für die Ansteuerung in Lichtschaltern erscheint. Es können maximal 256 verschiedene Leuchtflächen pro 3D-Modell konfiguriert werden.
Leuchtflächen verwenden im ausgeschalteten Zustand die BaseColor/-Textur des Materials und im aktivierten Zustand die EmissiveColor/-Textur, solange der entsprechende Pixel einen Emissive-Wert > 0 besitzt. Somit lassen sich Leuchtflächen und Nicht-Leuchtflächen in gemeinsamen Texturen kombinieren.
Optimierungshinweise
Da reale Lichter die Umgebung beeinflussen, üben sie einen höheren Einfluss auf die Performance aus als einfache Leuchtflächen. Es ist daher wichtig, einen vernünftigen Kompromis beim Beleuchten von Modellen zu finden:
- Nur Lichter, die einen nennenswerten Einfluss auf die Umgebung ausüben, sollten als reale Lichter konfiguriert werden. Leuchtende Schilder, Fenster, die einen beleuchtenden Raum simulieren, Signallampen, Rücklampen von Autos usw. bieten sich eher als Leuchtflächen an, wohingegen die Scheinwerfer von Lokomotiven/Autos und Laternen reale Lichter sind.
- Ein reales Licht benötigt umso mehr Rechenleistung, je größer die Reichweite ist. Diese sollte daher auf ein vernünftiges Maß eingestellt werden. Ein Fahrzeug muss nicht die gesamte Straße beleuchten, für den Effekt genügen ein paar Meter.
- Die Anzahl realer Lichter sollte auf ein Minimum reduziert werden, oft können mehrere Lichter zu einem Licht zusammengefasst werden, um den gleichen visuellen Effekt zu erreichen.
- Durch Verwendung gleicher Lichtnamen können reale Lichter und Leuchtflächen problemlos kombiniert werden, um z.B. die Scheinwerfer eines Autos im Dunkeln zum Leuchten zu bringen und gleicheitig die Umgebung auszuleuchten.
Zusätzliche Informationen zur Konfiguration von Lichtern in Blender und Sketchup haben die beiden Community-Mitglieder EASY und BahnLand zur Verfügung gestellt:
Blender Lichtkonfiguration.zipSketchup Lichtkonfigration.zip
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;SmoothPosition;SmoothRotation;SmoothScaling
- Animationsname - Name der Animation, so wie er anschließend im 3D-Modellbahn Studio erscheint.
- Startframe - Keyframe, mit dem die Animation starten soll.
- Endframe - Keyframe, mit dem die Animation enden soll.
- AutoPlay - (Optional) 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. Diese Einstellung hat nur einen Effekt, wenn die Animation nicht durch eine Modellaktion gesteuert wird.
- Loop - (Optional) Gibt an, dass die Animation standardmäßig als Endlosschleife startet. Mit Angabe von NoLoop wird die Animation standardmäßig nur einmal abgespielt. Diese Einstellung hat nur einen Effekt, wenn die Animation nicht durch eine Modellaktion gesteuert wird.
- SmoothPosition | SmoothRotation | SmoothScaling - (Optional) Gibt an, dass Werte zwischen zwei Keyframes linear interpoliert werden. Mit Angabe von NoSmoothXXX springt die Animation von Keyframe zu Keyframe. Die Interpolation kann getrennt für die Position, Rotation und Skalierung eingestellt werden. Standardmäßig ist die Interpolation für alle Keyframes aktiviert.
- Beginnt eine Zeile mit einem Doppelkreuz (#), dann wird die Zeile als Kommentar interpretiert und beim Import ignoriert
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.
Bestimmte Animationsnamen sind vordefiniert und besitzen Sonderfunktionen im 3D-Modellbahn Studio:
- _Time - Die Animationszeit wird mit der Simulationszeit der Anlage synchronisiert. Der Anfang der Animation entspricht dabei 0 Uhr, das Ende der Animation 24 Uhr.
Geräusche
Jedes 3D-Modell kann mit einem oder mehreren Geräuschen aus dem Katalog verknüpft werden. Ein Objekt, dass den Namen "_Sound{Name}" trägt, wird als Geräuschquelle interpretiert und kann im Modelleditor mit einem Geräusch aus dem Katalog verknüpft werden (das Objekt selbst wird im Studio nicht angezeigt). 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.
Partikeleffekte
3D-Modelle unterstützen integrierte Partikeleffekte wie Rauch oder Feuer. Ein Objekt, dass den Namen "_Particle{Name}" trägt, wird als Partikelemitter interpretiert und kann im Modelleditor entsprechend als Partikeleffekt konfiguriert werden (das Objekt selbst wird im Studio nicht angezeigt).
Aktionen
Ein Konstrukteur kann ein 3D-Modell mit Steuerelementen ausstatten, die der Nutzer später bedienen kann, z.B. zum Schalten von Weichen, zum Schalten von Signalen oder zum Aktivieren von Lichtern. Alle Steuerungselemente werden dabei in Aktionen zusammengefasst. Pro Modell werden bis zu 15 verschiedene Aktionen unterstützt. 3D-Modellbahn Studio unterscheidet dabei zwischen drei Aktionstypen:
- Schalter-Aktion - Verwaltet zwei Zustände, an oder aus.
- Schalter-Aktion (erweitert) - Verwaltet eine freie Anzahl von Schaltzuständen (maximal 48), mit individuellen Namen pro Zustand.
- Taster-Aktion - Verwaltet wie ein Schalter zwei Zustände, an oder aus, wobei der Aus-Zustand automatisch aktiviert wird, nachdem der An-Zustand erreicht ist.
Pro Aktionszustand gibt es bis zu 16 Befehle (Kommandos), die ausgeführt werden, wenn der Zustand aktiviert wird. Folgende Befehle werden aktuell unterstützt:
- Animation abspielen - Eine Modellanimation wird bis zu einer bestimmten Zielzeit abgespielt (relativ zwischen 0 und 1). Zirkuläre Animationen interpretieren die Zeiten als "Kreis" und gehen immer den kürzesten Weg (wie z.B. bei einer Drehscheibe), d.h. eine Startzeit von 0,9 und eine Zielzeit von 0,1 bedeutet eine Länge von nur 0,2.
- Geräusch abspielen - Spielt ein Modellgeräusch ab, wahlweise in einer Endlosschleife
- Licht einschalten - Aktiviert ein Licht
- Partikeleffekt aktivieren - Aktiviert ein Partikeleffekt
Es gibt keine Kommandos, um Befehle rückgängig zu machen. Standardmäßig sind alle Animationen, Geräusche, Lichter und Partikeleffekte deaktiviert und fallen auf diesen Zustand automatisch zurück, wenn kein Kommando aktiv ist, dass das jeweilige Element aktiviert.
Spezielle Objekte
Zur Erkennung spezieller Funktionen nutzt das 3D-Modellbahn Studio bestimmte Namensschemen. Besitzt ein Unterobjekt eines 3D-Modells folgenden Namen, werden zusätzliche Funktionen freigeschaltet:
- _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. Durch zusätzliche Kennzeichnungen kann der Kontaktpunkt konfiguriert werden:
- _Source - 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.
- _Target - 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.
- _Spline - Enthält der Kontaktpunkt die Erweiterung _Spline, dann rastet der Punkt nicht an anderen Kontaktpunkten ein, sondern auf den Spuren von flexiblen Modellen (Gleise, Straßen usw). Bei Angabe der Erweiterung _Source wird der Kontaktpunkt zusätzlich mit der Spur verknüpft.
- _Track - Gleiches Verhalten wie _Spline (mit _Source), gilt jedoch als Gleiskontakt, d.h. der Kontaktpunkt löst ein Ereignis "Gleiskontakt wird ausgelöst" aus, wenn ein Fahrzeug den Kontaktpunkt berührt. Gleiskontakte rasten nur auf befahrbaren Spuren ein (nicht auf "Nur 3D-Modell"). Pro Modell wird ein Gleiskontakt unterstützt.
- _Track_Dynamic - 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 - 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.