Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Neo

Entwickler

Alle erstellten Inhalte von Neo

  1. Hallo Kutscher, was war denn die Lösung für dein Problem? Viele Grüße, Neo
  2. Hallo, das sollte kein Problem sein. Ich werde dafür das bereits existierende Kommando 153 erweitern, sodass dort auch Zwischenwerte möglich sind. Viele Grüße, Neo
  3. Hallo Easy, kurze Antwort, ja. Die Mausbewegungen führen intern zum gleichen Verhalten wie die Aktivierung eines Menüs. Viele Grüße, Neo
  4. Neo antwortete auf FeuerFighters Thema in Modelle
    Hallo quackster, dein Abschied kommt sehr überraschend, gerade weil du zuvor noch deine Modelle mit so viel Leidenschaft vorgestellt hast. Ich fände es schade, wenn wir in Zukunft nichts mehr von dir hören! Viele Grüße, Neo
  5. Hallo Peter, Willkommen im Forum. Das "Tillig H0 Elite" gibt es bisher noch nicht im Gleiskatalog, auch nicht in der Professional-Version. Du kannst jetzt entweder selber die Gleise im Gleiseditor anlegen, oder uns ein paar Tage Zeit geben, bis wir die Gleise übernommen haben Viele Grüße, Neo
  6. Hallo Seehund, ich habe dein aktuelles Programm analysiert und kann sagen, dass es kein Performanceproblem gibt. Der Grund für die Ruckler sind die fehlenden Gruppenkommandos. Dadurch, dass du jedes Kommando 132 einzeln herausschickst und auf eine Antwort wartest, bremst du dein Programm künstlich ab, denn eingehende Kommandos werden vom Studio nur einmal pro Frame verarbeitet. Das erkannt man daran, dass das Kommando 132 genau 16 ms Zeit in Anspruch nimmt, rund 1/60 einer Sekunde. Deaktiviere im Studio einmal die vertikale Synchronisation und entferne die Sleeps, dann wird deine Baggersteuerung einen großen Geschwindigkeitssprung machen. Wegen dieser Kopplung an die vertikale Synchronisation wurden die Gruppenkommandos eingeführt, da alle Kommandos einer Gruppe dann in einem Frame zusammenhängend verarbeitet werden. Fasse die 4 132er-Kommandos in einer Gruppe zusammen und werte die Ergebnisse am Ende nach der Gruppe erst aus. Da du nicht jedes Kommando in einer Gruppe zusammenfassen kannst (da einige Kommandos auf dem Ergebnis des vorhergehenden Kommandos aufbauen), kann es sein, dass wir uns eine Schnittstellenerweiterung ausdenken müssen, um das Studio für eine gewisse Zeit zu blockieren, während ein Client mehrere Kommandos verarbeitet. Dieses Schritt würde ich aber erst zum Schluss gehen wollen. Weiterhin habe ich noch folgende Tipps für dich: Verzichte auf die Sleeps, versuch besser die zeitabhängige Steuerung aus Beitrag 40. Es gibt kein Geschwindigkeitsproblem in VB, Ruckler entstehen durch die vertikale Synchronisation und den fehlenden Gruppenkommandos Die Umrechnungen zwischen Grad und Bogenmaß kannst du dir sparen, wenn du die Schnittstelle am Anfang direkt auf Bogenmaß konfigurierst (Kommando 43). Das macht den Code etwas übersichtlicher. Viele Grüße, Neo
  7. Hallo Seehund, könntest du mir nochmal deinen aktuellen Skript-Stand schicken? Ich würde gern in Visual Studio Zeitmessungen durchführen. In der Vergangenheit konnte ich testweise mehrere 1000 Befehle pro Sekunde über die Schnittstelle verarbeiten, weshalb es mich etwas wundert, dass so wenig schon so langsam sein soll. Ich vermute irgendwo ein Problem, was nicht sofort ersichtlich ist. Viele Grüße, Neo
  8. Hallo, ich konnte das Wochenende das Thema nicht detailliert verfolgen, weshalb ich nochmal nachfragen muss, welche Probleme noch aktuell sind. Zum Thema Rotationen allgemein: Das Studio arbeitet intern nicht mit Euler-Rotationen (X, Y und Z), sondern mit Quaternions. Diese besitzen gerade im Kontext von Rotationen sehr viele Eigenheiten, die einem das Leben einfacher machen (auch wenn sie mathematisch zunächst komplizierter erscheinen). Da Quaternions aber mit einer vierten Dimension arbeiten, sind sie für die menschliche Darstellung nicht geeignet, weshalb das Studio Rotationen bei der Anzeige im Eigenschaftsfenster und über die Schnittstelle in Euler-Rotationen umrechnet. Bei diesen Umrechnungen kommt es dann zu den bisher beobachteten Effekten, dass Winkel "umspringen" oder übergebene Zahlen leicht abweichen. Solange es diese Umrechnungen gibt, lassen sich solche Probleme leider nicht komplett abstellen. Gerade im Eigenschaftsfenster kann man nur mit den Euler-Rotationen arbeiten. Über die Steuerschnittstelle könnte man überlegen, mit Quaternions zu arbeiten. Dann muss man aber im VB auch damit weiterrechnen. Hier wäre eine Bibliothek sinnvoll, die für VB fertige Quaternion- und Matrixoperationen anbietet, da diese alle standardisiert sind und nicht doppelt programmiert werden müssen (das Studio z.B. verwendet viele Mathematikoperationen von DirectX). @Seehund Du bewegst den Bagger in einer Do-While-Schleife mit festen Abständen. Das ist bei Echtzeitanimationen ein Problem, was zu dem Ruckeln führen kann, denn durch das Multitasking unter Windows ist der Abstand zwischen den Do-While-Durchläufen immer unterschiedlich. Solche Probleme löst man folgendermaßen: Beim Start der Animation wird die aktuelle Zeit gespeichert = A Bei jedem Durchlauf der Do-While-Schleife wird erneut die Zeit gespeichert (B) und die Differenz zu A berechnet Alle Bewegungen werden nun mit der Zeitdifferenz multipliziert B wird zu A, die Schleife startet erneut bei 2 Es spielt nun keine Rolle mehr, wie lange ein Schleifendurchlauf dauert, der Bagger wird sich auf jedem Computer im gleichen Zeitintervall immer gleich weit bewegen. Wichtig ist hierbei, dass die Zeitmessung sehr exakt ist. Es reichen hier keine Sekunden, sondern es muss mindestens in Mikro-, besser noch Nanosekunden gemessen werden. Dafür gibt es sicher auch unter VB Möglichkeiten. Ich habe hier ein kleines Tutorial gefunden (interessant ist dort _lastRender  und deltaTime). @Easy BahnLand hat die mathematischen Grundlagen zum Ausrichten von Objekten auf andere Objekte sehr gut beschrieben, das Studio selbst muss sich mit diesen Details aber gar nicht beschäftigen, da vieles von der DirectX-Mathematikbibliothek übernommen wird. Das Studio selbst erstellt lediglich eine Rotationsmatrix aus den 3 Koordinatenachsen. Diese Achsen werden folgendermaßen berechnet: X-Achse: Differenz zwischen Zielposition und Startposition (normalisierter Vektor) Z-Achse: Wird auf (0, 0, 1) festgelegt Y-Achse: Kreuzprodukt aus X und Z Z-Achse (erneut): Kreuzprodukt aus X und Y Die Werte der Achsen werden dann in die Transformationsmatrix eingetragen und zu einer Quaternion konvertiert, mit der das Studio das Objekt dann dreht. Ich denke mal, in diese Richtung muss es auch bei dir geben, ich empfehle hier aber unbedingt eine fertige Vektor- und Matrizenbibliothek einzusetzen, da man sonst mit sehr viel Mathe beschäftigt ist. Viele Grüße, Neo
  9. Hallo Kurt, im Moment ist das nicht möglich, du kannst aber einfach eine Ebene unterhalb deiner Anlage platzieren und dort eine beliebige andere Textur verwenden. Viele Grüße, Neo
  10. Hallo Easy, die Kommandos für den Texturtausch sind in der aktuellen Beta-Version enthalten: 308 - Gibt die Textur-ID für ein bestimmtes Gleis zurück: Parameter 1: Gleisname 309 - Setzt die Textur eines Gleises: Parameter 1: Gleisname, Parameter 2: Texture-ID Viele Grüße, Neo
  11. Hallo Easy, die Richtungsangabe (Parameter 4-6) ist bereits ein Vektor. Es gehen also auch Werte wie z.B. 0.3;0.8;-0.2 (der Vektor wird vom Studio nochmal normalisiert). Wenn du nun einen Vektor in Abhängigkeit der Lokrotation aufstellen willst, kommt ein bisschen Mathematik ins Spiel: Hol dir mit Kommando 104 die Rotation der Lok um die 3 Achsen Für eine Lok, die auf der XY-Ebene fährt, ist nur die Rotation um die Z-Achse von Interesse Der Richtungsvektor für den Ping ist nun: Sin(Z-Rotation), Cos(Z-Rotation), 0 Addiere oder subtrahiere etwas von Z-Rotation, um den Richtungsvektor zu drehen @Seehund Ich werde wohl erst Anfang kommender Woche dazu kommen, mich mit deinem Skript auseinander zu setzen, dann schau ich mir mal, welche Möglichkeiten es noch alles gibt. Viele Grüße, Neo
  12. Hallo, @Seehund Kannst du kurz beschreiben, was es mit der "ObjektOutOfRange-Fehlermeldung" auf sich hat? Wird sie von der Steuerschnittstelle zurückgegeben? Im Moment ist mir so eine Fehlermeldung nicht bekannt. Wie sieht dein Befehl aus, den du an die Schnittstelle übergibst? @Easy Die Grundregel gilt, jede Fläche, die du siehst, kann auch von dem Strahl getroffen werden. Löcher von Bodenplatten sind echte Löcher, wo der Strahl durchgeht, der Strahl trifft dann den Boden der Platte. Was meinst du mit Richtungsvektor? Die Parameter 4-6 geben doch bereits die Richtung des Strahls an. Viele Grüße, Neo
  13. Hi Bad Attitude, 3D Train Studio is fully compatible to Windows 7, there must be a problem with the setup file. Please perform the following steps: Download the latest upgrade from this location Run the downloaded setup file with the following command: MBSUpdate.exe /LOG="C:\Users\<Username>\Desktop\Setup.txt" Replace <Username> with your real username. This starts the update and logs all errors including detailled information to the file "Setup.txt" to your desktop. Please send me the file by mail or attach it to this thread. Kind regards, Neo
  14. Hallo Seehund, du kannst dir hier eine neue Beta-Version herunterladen, die ein neues Kommando enthält: 132 - Berechnet den Kollisionspunkt eines Strahls. Parameter 1-3: Startpunkt (X, Y, Z). Parameter 4-6: Richtung (X, Y, Z), Parameter 7: Optional, Beschränkung der Kollisionsberechnung auf ein konkretes Objekt Der Befehl ist recht allgemein gehalten und kann genutzt werden, um eine beliebige Kollision in der Szene zu berechnen. Für deine Höhenermittlung kannst du den Befehl z.B: so anwenden: 132;0;0;50;0;0;-1;Bodenplatte In diesem Fall wird von der Position "0, 0, 50" ein Strahl nach unten gesendet (0, 0, -1) und eine Kollision mit der Bodenplatte ermittelt. Das Kommando gibt im Erfolgsfall die Koordinate der Kollision (X, Y, Z) zurück. Viele Grüße, Neo
  15. Hallo quackster, dass es sich bei der Kontrastanpassung um die Darstellung von Streckenführungen handelt wird aus deinem ersten Beitrag nicht ersichtlich. Es gibt mittlerweile 3 Themen, die sich mit der Darstellung der Streckenführung beschäftigen: Thema 1, Thema 2, Thema 3. Wenn alle 3 Themen das gleiche Ziel haben, ist es besser, wenn du deine Wünsche in einem Thema zusammenfasst. Ansonsten kann es dir passieren wir hier, wo ein Feature-Wunsch losgelöst von einem konkreten Ziel schnell abgehackt wird, weil er anderweitig bereits umsetzbar ist. Viele Grüße, Neo  
  16. Hallo quackster, Zitatwürde mir einfach die bezeichnung die auch im eigenschaften fenster steht reichen was meinst du damit? Was genau willst du mit dem Namen der Gleistextur anfangen? Ich kann gerne zwei Kommandos einbauen, einmal zum Ermitteln der aktuellen Gleistextur und einmal zum Setzen. Allerdings arbeitet das Studio intern nur mit den Katalog-IDs, nicht mit Namen. Die ID wird unten links im Vorschaufenster der Textur angezeigt. Würde dir das reichen? Viele Grüße, Neo
  17. Hallo quackster, eigentlich sind dafür die Ebenen/Layer eingeführt worden. Indem du deine Objekte, die du unterscheiden willst, zu verschiedenen Ebenen zuweist, kannst du eigene Farben in der technischen Zeichnung definieren. Viele Grüße, Neo
  18. Hallo, Easy hat schon alles korrekt erläutert. Ich habe zusätzlich hier im Forum den Upload von MBP-Dateien freigegeben, sodass man nicht mehr über die Zip-Erweiterungen gehen muss. Viele Grüße, Neo
  19. Hallo Dioramag, die Verzerrungen im Gelände bekommst du nicht durch andere Texturen weg, die gibt es konzeptbedingt bei steilen Hängen. Das Problem kann nur softwareseitig durch mich beseitigt werden. Was die generelle Verwendung von Texturen angeht, musst du mit den jeweiligen Rechteinhabern sprechen. Wenn sie ihr Einverständnis geben, die Texturen hier in einem Online-Katalog zur Verfügung zu stellen, können diese gern verwendet werden. Viele Grüße, Neo
  20. Neo antwortete auf BahnLands Thema in Anlagen
    Hallo, ich werde es zu Beginn einfach halten. Wenn sich im Laufe der Zeit herausstellt, dass eine automatische Reaktivierung sinnvoll ist, lässt sich diese noch nachträglich hinzufügen. Viele Grüße, Neo
  21. Neo antwortete auf BahnLands Thema in Anlagen
    Hallo BahnLand und Modellbahnspass, danke für die Erläuterungen. Wenn ich zusammenfasse, sollte eine explizite Deaktivierung der Kupplungen einer Lok/eines Wagens eine ausreichende Lösung sein. Um den Aufwand gering zu halten, würde es zunächst keine automatische Neuaktivierung der Kupplungen geben, sondern diese müssen ebenso manuell wieder aktiviert werden. Die Steuerung der Kupplungen würde dann wie gewohnt per Eigenschaftsfenster, per EV und per Steuerschnittstelle möglich sein. Viele Grüße, Neo
  22. Neo antwortete auf BahnLands Thema in Anlagen
    Hallo BahnLand, dass die Schiebelok nicht abkuppelt, wenn sie eine gleiche oder ähnliche Geschwindigkeit wie die Zuglok hat, ist nachvollziehbar, da die Schiebelok sich dadurch nicht vom eigentlichen Zug entfernt und durch die automatische Einrastfunktion sofort wieder an den letzten Wagen angedockt wird. Wie würde man so einen Fall bei einer echten Modelleisenbahn lösen? Dort gäbe es ja auch das Problem, dass ein Entkupplungsgleis von der Länge her nicht ausreicht, um eine Lok, die auf eine bestimmte Geschwindigkeit gebracht wurde, abzukoppeln. Unabhängig davon, müsste man das Problem wohl durch beide Ansätze zusammen lösen: Alle Loks in einem Zugverband müssen die gleiche Ist-Geschwindigkeit besitzen (auch wenn ihre Zielgeschwindigkeit kleiner als die Geschwindigkeit der schnellsten Lok ist, was in der Praxis eigentlich keinen Sinn macht) Zusätzlich muss die Andockfunktion für einzelne Wagen/Loks deaktivierbar sein, da die Lok, selbst wenn sie abkoppelt, noch weiterfährt und dadurch Gefahr läuft, durch die automatische Andockfunktion wieder vom Zug mitgezogen zu werden (hier würde ich gern wissen, wie solche Probleme bei echten Modelleisenbahnen gelöst werden) Viele Grüße, Neo
  23. Hallo quackster, das ist möglich, ich würde hier aber erst einmal Easys Antwort abwarten, welche Spezifikationen am Ende für das Kommando genau benötigt werden. Viele Grüße, Neo
  24. Hallo Seehund und Easy, ich denke, ich werde noch diese Woche eine Testversion veröffentlichen können, mit der ihr das neue Kommando ausprobieren könnt. @Seehund Flüssige Animationen sind schon eine neue Art der Herausforderung, am besten du schickst mir mal deinen Plugin-Code, dann kann ich auch mal einen Blick drauf werfen und eventuell Schwachstellen bei der Steuerschnittstelle ausmerzen. Viele Grüße, Neo
  25. Neo antwortete auf BahnLands Thema in Anlagen
    Hallo BahnLand, wirkliche Grenzen kann ich hier nicht ausmachen, die Schiebelok macht immer einen Ruck, wenn sie langsamer fährt als die Zuglok. Da das Studio nicht mit Kräften, sondern mit Endgeschwindigkeiten arbeitet, besitzt ein Zug immer die Geschwindigkeit der schnellsten Lok, nicht die Summe der Einzelgeschwindigkeiten (haben wir hier einmal diskutiert). Solange die Schiebelok also am Zug angekoppelt ist, bestimmt die schnellere Zuglok die Geschwindigkeit. Sobald sie abkoppelt, fällt sie wieder auf ihre eigene Geschwindigkeit zurück. Im Moment lässt sich das nur lösen, indem du der Schiebelok die gleiche Geschwindigkeit wie der Zuglok gibst. Ist das eine Option für dich? Viele Grüße, Neo

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.