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
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Neo

  1. Hallo, ja, ohne Lua geht es leider nicht, aber wie in Andys Beispiel zu sehen, kannst du Lua und die grafische EV beliebig kombinieren. Das einfachste Beispiel wären folgende wenige Zeilen: local Quelle = $("Transportgut") local Ziel = $("Abstellfläche") Quelle.transformation.position = Ziel.transformation.position Quelle.transformation.rotation = Ziel.transformation.rotation Dabei übernimmt ein Objekt "Quelle" die Koordinaten eines Objekts "Ziel". Das genügt schon, um ein Objekt zu beamen. Viele Grüße, Neo
  2. Hallo, hast du dafür ein konkretes Beispiel? Für den eigentlichen Warentransport hat die Grundposition keine Bedeutung, d.h. der Kran kann aus jeder Position heraus jede andere valide Position ansteuern, ein Reset ist dafür nicht notwendig (ein Reset dient eher dazu, eine aktuelle Operation abzubrechen). Viele Grüße, Neo
  3. Neo antwortete auf Andys Thema in Feature-Wünsche
    Hallo Andy, dieser Wunsch wurde schon mehrfach geäußert, allerdings halte ich davon nicht viel. Die Mehrheit der Leute wissen nichts mit einer Polygonanzahl anzufangen. Auch nicht mit einer abstrakteren "Komplexität". Es ist nicht Aufgabe des Users, sich über solche Dinge Gedanken machen zu müssen. Wenn ein Modell in den Katalog aufgenommen wird, dann ist es für eine Anlage geeignet. Den Rest erledigt die 3D-Engine. Wenn die Anlage zu langsam läuft, dann die Grafikeinstellungen reduzieren. Unabhängig davon wird es mit V6 wieder größere Optimierungen an der 3D-Engine geben, sodass die Performance deutlich verbessert werden kann. Viele Grüße, Neo
  4. Neo antwortete auf V300s Thema in Beta-Bereich
    Hallo Alfredo, die installierte DirectX-Version hat nichts mit den Hardware-Fähigkeiten deiner Grafikkarte zu tun. Wie schon von dir erwähnt ist dein Rechner 13 Jahre alt und unterstützt leider kein DirectX 10 oder 11 mehr, sondern nur noch das ebenfalls bereits in die Jahre gekommene DirectX 9. Die alte Schnittstelle unterstützt Version V5 nicht mehr, zu Gunsten einer einfacheren Weiterentwicklung der 3D-Engine, was die neuen Schatten erst ermöglichte. Du hast daher nur noch die Wahl, mit der Software-Variante von DirectX 11 zu arbeiten (WARP), was zwar funktioniert, aber nicht besonders schnell ist (wobei ein 13 Jahre alter PC auch so nicht besonders gut für das 3D-Modellbahn Studio geeignet ist). Viele Grüße, Neo
  5. Neo antwortete auf Shantymans Thema in Beta-Bereich
    Hallo Stephan, die 3 Ereignisse "Gleiskontakt wird ausgelöst" entsprechen der Auslösung für den Anfang, Mitte und Ende des Zugs. Das wird aus dem Protokoll nicht ersichtlich, was ich verbessern werde. Danke für den Hinweis. Viele Grüße, Neo
  6. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, ich habe auf diese Frage gewartet, auch weil die jetzige Implementierung noch nicht final sein muss. Ich denke, es wird hier noch Änderungen geben, sodass mindestens $ beim Laden von Modulskripten zur Verfügung steht. Auf jeden Fall wird das Verhalten am Ende im Wiki dokumentiert. Yes, but only in Lua. Viele Grüße, Neo
  7. Hallo, Seiteneffekte bezeichnen ungewollte Änderungen von globalen Variablen, die so nicht beabsichtigt waren. Zum Beispiel: objekte = {} function InitObjekte() objekte['ABC'] = 'Mein Gleis' end function ClearObjekte() objekte = {} end function VerarbeiteObjekte(modus) objekte['ABC'].verarbeite(modus) ClearObjekte() end VerarbeiteObjekte(1) VerarbeiteObjekte(2) -- Peng! Dieses konstruierte und sinnlose Beispiel soll verdeutlichen, wie schnell eine globale Variable unbeabsichtigt geändert wird. Weil in VerarbeiteObjekte nach der Verarbeitung ein ClearObjekte steht, ist die Tabelle beim zweiten VerarbeiteObjekte-Aufruf leer. Für jemanden, der dein Skript nur schnell überfliegt, könnte es nicht ersichtlich sein, dass ein VerarbeiteObjekte nach dem Verarbeiten die Objekte löscht. Man provoziert so also schnell riskante Situationen, die speziell bei "Modulen", die anderen zur Verfügung gestellt werden sollen, zu Fehlern führen. Daher mein Tipp, auf so viele globale Variablen wie möglich zu verzichten. Viele Grüße, Neo
  8. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, das gilt für jede transparente Grundplatte, die automatische Höhenanpassung funktioniert dort nicht. Das ist jetzt nicht explizit so gewollt, ergibt sich eher aus den technischen Interna. Führt das zu einem bestimmten Problem? @Andy und @Goetz Alle Skripte, egal ob Modulskript oder Ereignisskript, landen am Ende in einer "Datei", die von Lua kompiliert wird. Somit arbeiten alle Bereiche der EV im gleichen Environment. Wird also irgendwo ein Variable ohne local gesetzt, ist sie anschließend Teil des globalen Environments und steht überall zur Verfügung. Ausgeführt wird die zusammengesetzte Lua-Datei beim Kompilieren. Das geschieht sowohl beim Laden der Anlage sowie nach einer Änderung der EV. Mit dem Play-Button hat das nichts zu tun, dieser steuert nur die Animationen. Alles, was nicht in einer Funktion steht, wird beim Kompilieren von Lua ausgeführt. Ereignisskripte stehen immer in einer Funktion, die vom Studio generiert wird, somit werden also nur die Modulskripte direkt beim Kompilieren ausgeführt, die Ereignisskripte immer dann, wenn das Ereignis eintritt. Die Library-Funktionen des Studios stehen zur Kompilierung noch nicht zur Verfügung, weil ich vermeiden möchte, dass während der Kompilierung Anlagenzustände geändert oder sogar Ereignisse aufgerufen werden. Und da die Kompilierung nach jeder EV-Änderung durchgeführt wird (und später vielleicht auch in anderen Situationen), kann sich ein Anlagenplaner nie genau darauf verlassen, wann und wie oft seine Skripte kompiliert/ausgeführt werden. Das ist auch der Grund, warum die $-Funktion noch nicht funktioniert, weil es beim Kompilieren noch keine Verbindung zur Anlage und den Objekten darin gibt. In welcher Situation wird so etwas benötigt? Für explizite Initialisierungen gibt es Möglichkeiten, z.B. ein Ereignis, was nur beim Laden einer Anlage einmalig aufgerufen wird. In so einem Ereignis könnte man dann seine One-Time-Initialisierungen vornehmen. Zuvor würde mich aber interessieren, was das für Initialisierungen typischerweise sind. Einen EV-Export wird es mit V5 noch geben, wobei ich aber auch gern Suchen und Ersetzen im Skript-Editor noch mit einbauen kann. Viele Grüße, Neo
  9. V5

    Neo antwortete auf kutschers Thema in Allgemeine Diskussionen
    Hallo kutscher, die 32-Bit-Version findest du hier. Viele Grüße, Neo
  10. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, mit Verwindungen hat das Rotationsupdate nichts zu tun, hier geht es darum, Gleise schon im 3D-Modell anstellen zu können, z.B. für echte Rampen, wie man sie z.B. bei Holzeisenbahnen kennt. Das Thema Verwindungen bei Gleisen wird mal ein eigenes Thema werden, hab ich aber auf dem Schirm. Viele Grüße, Neo
  11. Neo antwortete auf streit_rosss Thema in Anlagen
    Hallo, mich wundern diese Aussagen etwas, auch weil an anderen Stellen mitunter erwähnt wird, dass man bei der neuen EV "von vorne anfangen muss". Klar sieht sie anders aus und die Bedienung ist zunächst ungewohnt im Vergleich zu V4, aber das grundlegende Konzept dahinter ist doch identisch, die meisten Ereignisse, Aktionen und Bedingungen besitzen die gleichen Eigenschaften und verhalten sich wie gewohnt. Woher kommt dieser "Neuanfang"? Oder bezieht sich dieser auf die Tatsache, dass mit der neuen EV vorhandene Steuerungen deutlich effizienter umgesetzt werden können, und dafür aber die neu hinzugefügten Funktionen und Konzepte erst verstanden werden müssen? Viele Grüße, Neo
  12. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, ich habe eine neue Version 5.0.3.0 online gestellt, die einige Fehler beseitigt und weitere Verbesserungen enthält. Eine Übersicht erhaltet ihr im ersten Beitrag. Viele Grüße, Neo
  13. Hallo, bitte Hat es einen bestimmten Grund, warum du ein benutzerdefiniertes Ereignis "Kraninit" verwendest, um die Kräne zu initialisieren? Da du komplett auf Lua setzt, hätte ich erwartet, dass du einfach eine Funktion in deinem Modulskript aufrufst. Das Konzept hinter den globalen Tabellen "objekte" und "ziele" finde ich persönlich nicht so schön. Die einzelnen Funktionen in "AblaufTable" besitzen eine hohe Redundanz und unterscheiden sich oft nur in wenigen Details. Hinzu kommt, dass du erst die Funktion aufrufst, um globale Tabellen zu befüllen, um anschließend direkt wieder auf den Tabellen zu arbeiten. Das ist sehr anfällig für Seiteneffekte. Besser wäre es, wenn du eine Funktion schreibst, die die Daten über return zurück gibt, und du so nicht mit globalen Daten arbeiten musst. Prototypisches Beispiel: -- Modulskript Kran10 = function() local objekte = {} local ziele = {} for i = 1, 4 do objekte[i] = "Fass1"..i ziele[i] = "k1"..i end return objekte, ziele end function Kraninit(kran, objekte, ziele) if not kran.variables["buzzy"] then ... end end -- Ereignis if controller.state == 1 then local objekte, ziele = Kran10() Kraninit($("Kran1"), AblaufTable["objekte"], AblaufTable["ziele"]) else ... end Der nächste Schritt wäre dann die KranXX-Funktionen zu vereinheitlichen. Aber das kannst du dir vermutlich sparen. Es wird (wenn auch nicht sofort) Arrays als Objektvariablen geben, wodurch du die Objekte und Ziele eines Krans direkt beim Kran definieren kannst und nicht über eine Funktion initialisieren musst. StartK1 bis StartK3 kannst du dann auch zu einem Ereignis zusammenfassen, da du im Schalter eine Referenz zum entsprechenden Kran hinterlegen kannst. Gibt bestimmt noch weitere Tipps, ich freue mich auf die nächste Iteration Viele Grüße, Neo
  14. Neo antwortete auf streit_rosss Thema in Anlagen
    Hallo, von welchem Radlader sprichst du? Der von @fmkberlin neu in V5 hochgeladene Radlader ist der erste Radlader mit mehreren Animationen, in V4 hatte er schon immer nur eine Animation. Beziehst du dich eventuell auf ein Test-Modell, welches mittlerweile ausgelaufen ist (was auch das Fragezeichen erklären könnte)? Für deine Demo empfehle ich dir noch, dir die neue Aktion "Ausführung verzögern" anzuschauen. Damit kannst du einige Timer durch einen linearen Ablauf ersetzen und reduziert somit die Ereignisse und Komplexität. Viele Grüße, Neo
  15. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, das ist normal, weiter entfernte Schatten verwenden aus Performance-Gründen eine niedrigere Auflösung, was bei solchen synthetischen Anlagen (Zug auf Holzplatte) deutlicher sichtbar wird als bei richtigen Landschaften. Kannst du mir bitte einen Gefallen tun und ein Testmodell zukommen lassen, bei dem du ein Wagon aufs Minimum reduziert hast, also alles entfernen, außer der Hülle? Ich kann dein Problem zwar reproduzieren, möchte aber genauer testen, ob das an dem Schattenalgorithmus oder an der besonderen Modellkonstruktion (mit der Innenbeleuchtung) liegt. Was meinst du damit? Werden Objekte gruppiert, wird daraus eine Gruppe. Es gibt hier keinen Bezug zu einer eventuell früher vorhandenen Gruppe, diese wurde ja gelöscht. Nein, hier gibt es keine Reihenfolge, diese kann als zufällig betrachtet werden. Worauf genau beziehst du dich? Es gibt in V5 ja keine globalen Variablen mehr, jede Variable ist Teil eines Ereignismoduls. Wenn du $ eingibst, erhältst du anschließend die Wahl zwischen einem Objekt und einem Ereignismodul. Wählst du dort das Modul, kannst du anschließend auf die Variablen oder andere Eigenschaften/Funktionen zugreifen. Eine direkte Auswahl der Variablen aus einer Liste gibt es in Lua noch nicht, das habe ich mir noch als Verbesserungsmöglichkeit notiert. Viele Grüße, Neo
  16. Hallo Axel, die maximale Texturgröße leitet sich von den maximal Abmessungen deines Modells ab. Vermutlich haben sich diese durch das Kopftuch verändert, konkrete Aussagen kann ich aber nur mit Beispieldaten treffen. Viele Grüße, Neo
  17. V5

    Neo antwortete auf kutschers Thema in Allgemeine Diskussionen
    Hallo kutscher, herunterladen und installieren. Viele Grüße, Neo
  18. Hallo, im Großen und Ganzen ist das korrekt. Ob eine Tabelle im Hauptmodul oder einem Untermodul erzeugt wird, spielt keine Rolle, weil alle Skripte aller Module beim Speichern der EV zusammengesetzt werden. Hat sich die EV geändert, werden alle Skripte einmalig kompiliert. Dabei werden auch die Tabellen erzeugt. Anders ausgedrückt, globale Tabellen werde nur einmal erzeugt, da spielt die Performance keine nennenswerte Rolle. Etwas anders sieht es aus, wenn Tabellen in Funktionen erzeugt werden, und diese Funktionen sehr häufig aufgerufen werden. Dann werden die Tabellen nämlich bei jedem Aufruf neu erzeugt. Viele Grüße, Neo
  19. Neo antwortete auf maxweis Thema in Modelle
    Hallo, ich habe das soeben erledigt, danke für den Hinweis. Viele Grüße, Neo
  20. Hallo, dem ist leider nicht so. Die Auswahlliste sagt nur aus, in welchem Maßstab ein Gleis angelegt wird, wenn es erstmalig auf die Platte gezogen wird. Der eigentliche Fehler besteht daher darin, dass im Editor eine Auswahl getroffen werden kann, die gar keinen Einfluss mehr hat. Ich kann jedoch gern die vordefinierten Skalierungsfaktoren auf der Transformationsseite aus V3 wieder reaktivieren, die ein schnelles Umskalieren beliebiger Objekte in andere Maßstäbe erlauben. Viele Grüße, Neo
  21. Neo antwortete auf HWB Berlins Thema in Modelle
    Hallo Hermann, bitte schick mir die Dateien per E-Mail, da sonst das Forum mit Daten belastet wird, die nie mehr benötigt werden (die Modelle erscheinen ja im Online-Katalog). Viele Grüße, Neo
  22. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo Andy, während das für die grafische EV noch machbar ist, wird das in Lua nichts mehr. Dort können Variablennamen beliebig zusammengebaut werden, das kann das Studio nicht selber entscheiden. Dir bleibt in diesem Fall nur die Suche nach Zeichenketten (die noch implementiert wird) und ein manuelles Ersetzen. Viele Grüße, Neo
  23. Neo antwortete auf HWB Berlins Thema in Modelle
    Hallo Hermann, ich habe deine Variationen zum Online-Katalog hinzugefügt, außer: MaK 1206 BE - Hier fehlt mir die Datei BR 211 MaK 1000233 - DB 212 097-0 EP VI - Handelt es sich hierbei um ein neues Modell oder eine Erweiterung eines vorhandenen? MaK 1000387 - DB 213 340-3 EP VI - Handelt es sich hierbei um ein neues Modell oder eine Erweiterung eines vorhandenen? Viele Grüße, Neo
  24. Neo antwortete auf Henrys Thema in Beta-Bereich
    Hallo Henry, die fehlerhaften Koordinatenursprünge der Gleise der "Maßstab II"-Kategorie habe ich korrigiert. Viele Grüße, Neo
  25. Neo antwortete auf Neos Thema in Beta-Bereich
    Hallo, einfach noch die ENDE-Taste drücken, wie beim Standard Windows-Texteditor. 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.