Jump to content

Neo

Developers
  • Content Count

    4,359
  • Joined

  • Last visited

Everything posted by Neo

  1. Neo

    Wo sind dieTexturen von Gleisen

    Hallo BahnLand, da die gespiegelten Texturen doch sehr stark den Originaltexturen ähneln würde ich sie wie du schon vermutet hast ungern zusätzlich in den Katalog stellen. Für mich käme also wenn dann nur das Ersetzen der Originaltexturen in Frage. Hätte das nennenswerte Nachteile? Viele Grüße, Neo
  2. Hallo, das hängt mit den Rasterpunkten zusammen und der Tatsache, dass die Plattengröße immer ein Vielfaches der Rasterpunkte sein muss (technisch bedingt). Um das zu gewährleisten, muss die Platte je nach Maßstab ein wenig skaliert werden. Hängt auch damit zusammen, dass der Code der Bodenplatten noch aus dem alten 3D-Eisenbahnplaner stammt und es dort noch nicht die flexiblen Maßstäbe gab (damals war intern alles H0). Mein Wunsch ist es, die ganze Thematik der Rasterpunkte etc. irgendwann vollständig zu überarbeiten und eventuell zu entfernen. Viele Grüße, Neo
  3. Neo

    Neue Beta-Version V5

    Hallo, Überraschung, ich verlege den 15. Juli heute einfach ein paar Tage vor ! Da in den kommenden Tagen keine größeren Änderungen geplant sind, startet schon heute die öffentliche Testphase der neuen Version V5. Auf den folgenden Seiten findet ihr weitere Informationen: Download von V5 inkl. Übersicht über die neuen Funktionen Detaillierte Auflistung aller Änderungen (Changelog) Wie schon in der Vergangenheit haben in den letzten Wochen einige interne Mitglieder die neue Version ausgiebig getestet und Modelle an die neuen/geänderten Funktionen angepasst. Vielen Dank an dieser Stelle! Wer möchte kann die neue Professional Version V5 schon kaufen, sie ist einsatzbereit, gilt aber noch als Testversion, d.h. es gibt hier und da noch ein paar Detailverbesserungen und eventuell stolpert ihr auch noch über einen Fehler. Das soll euch aber nicht davon abhalten, mit der neuen Version durchzustarten. Ich bin gespannt auf eure Meinungen! Viele Grüße, Neo Überblick über Änderungen während der Test-Phase: Version 5.0.6.0 Neue Aktion "Schalter-Verbindung herstellen/lösen", zum dynamischen Verbinden von Schaltern oder Drehreglern per EV Neuer Menüpunkt "Ansicht - Anlagendetails", um Anlagenbeschreibungen erneut anzuzeigen Verschiebung der freien Kamera entlang der Z-Achse mit den Tasten "Bild auf" und "Bild ab" Beschleunigte Objektauswahl bei sehr großen Anlagen und Speicherung der letzten Filtereinstellungen Lua-Erweiterungen Ermittlung der angrenzenden Kupplung per vehicle.couplers[0].connectedCoupler Ermittlung der Objekt-Größe per object.size glTF: Zusammenfügen aller Einzelanimationen zur Unterstützung von Anim-Dateien, solange der Blender glTF-Exporter diese Option noch nicht unterstützt Automatische Erkennung von UTF-8/ANSI-Codierung bei Anim/VarList-Dateien Fehler beim Einfügen einer Anlage mit Objektvariablen beseitigt, die Ereignisse referenzieren Version 5.0.5.0 Unterstützung von glTF 2.0 und somit Unterstützung von Blender 2.8 Lua-Verbesserungen Autovervollständigung kann optional im Kontext-Menü deaktiviert werden (STRG + Leertaste funktioniert weiterhin) STRG + H öffnet das Ersetzen-Fenster transformation.rotation gibt eine Quaternion in der Normalform zurück (w > 0) Ein Klick auf die Content-ID im Infofenster des Eigenschaftfensters öffnet das Modell im Katalog Neues Schnittstellenkommando 403 zur Abfrage der Anzahl der Signalstellungen Anim- und Varlisten verwenden jetzt das UTF-8-Format Fehler bei der Eingabe von Rotationen im Gleiseditor behoben Fehler in der Cockpit-Ansicht in Kombination mit der linken Maustaste behoben Fehler bei benutzerdefinierten Ereignissen in Kombination mit einem Parameter vom Typ "Beliebig" behoben Version 5.0.4.0 Im Simulationsmodus passt sich der Mauszeiger den schaltbaren Elementen an, sodass sofort ersichtlich ist, wo ein Mausklick einen Effekt hat. Lua-Verbesserungen Zugriffe auf $ und andere Objekte in der obersten Ebene von Modulskripten sind nun möglich Suchen und Ersetzen im Skript-Editor layout:enumEntities - Ruft eine Callback-Funktion für alle Objekte in der Anlage auf Detailverbesserungen Leere Bedingungen visualisieren deutlicher die zwei Pfade (True/False) Beim Kopieren von Aktionen/Bedingungen mit der STRG+Taste erscheint ein Plus-Zeichen Löschen von Aktionen/Bedingungen per Tastatur Doppelklick auf einen überwachten Timer oder eine überwachte Variable öffnet direkt den Editor _RandomX-Y aus V4 wurde teilweise nicht korrekt in das neue Format konvertiert Fehler bei rekursiven Ereignisaufrufen behoben Fehler der Steuerschnittstelle/Plugins behoben, die zu falschen Winkelangaben führten Version 5.0.3.0 Signal-Aktionen unterstützen die Auswahl von Auslösern, wenn es sich um ein Gleiskontakt-Ereignis handelt, da ein Gleiskontakt auch ein Signal sein kann Neue Lua-Funktionen/Eigenschaften vehicle.length - Ermittelt die Länge eines Fahrzeugs layout:getEntitiesByName - Ermittelt alle Objekte, die einen bestimmten Namen besitzen layout:getEntitiesByKeyword - Ermittelt alle Objekte, die ein bestimmtes Schlagwort besitzen layout:getVehicleGroup - Ermittelt alle Objekte, die zu einem Zug/Fahrzeugverband gehören layout:getVehicleGroupLength - Gibt die Gesamtlänge eines Zuges/Fahrzeugverbands zurück Spuren im Modell-Editor können nun um alle 3 Achsen rotiert werden Verbesserte Kompatibilität zu alten Anlagen: Ereignisse, deren Auslöser nicht mehr existieren, werden nicht mehr fälschlicherweise als "beliebig" interpretiert Verbesserte Darstellung von Aktion "Weiche schalten", wenn das Gleis keine Weiche mehr ist Absturz des Programms bei zu vielen Lua-Rekursionen behoben Zugriffsfehler in Verbindung mit "Eigenschaft setzen" der EV behoben Fehler bei der Suche nach Umlauten im Selektionsfenster behoben Fehler im Ebenen-Fenster behoben, bei dem das Mausrad nicht berücksichtigt wurde Fehler in der Steuerschnittstelle bei der Rückgabe von Zeichenketten behoben (zu viele Anführungszeichen) Aktualisierung von RocStudio mit Berücksichtigung der seit V4 verwendeten Geschwindigkeitseinheit km/h Fehler beim Beenden des Studios behoben Version 5.0.2.0 Fehler behoben, bei dem Gleiskontakte mitunter nicht ausgelöst wurden, wenn sie exakt an einem Gleisanfang oder Ende positioniert waren Fehler behoben, bei dem Ereignisse für "beliebige Gleiskontakte" zu oft aufgerufen wurden Probleme beim Konvertieren von Ereignissen aus V4-Anlagen behoben Darstellungsprobleme von Bodenplatten im Transparenzmodus behoben Anpassung von Texten beim Schließen/Speichern der Ereignisverwaltung
  4. Neo

    Timer in der EV

    Hallo, "SingleShotTimer" werden sicherlich nicht so schnell verschwinden, das Studio unterstützt ja auch alte Anlagen. Und solange die Steuerung sehr einfach ist, gibt es zwischen Timern und Verzögerungen keine großen Unterschiede. Hat man auf seiner Anlage aber 20 Bahnhöhe mit 10 Gleisen, will niemand 200 Timer verwalten, nur um einen Zug nach einer kurzen Wartezeit wieder im Bahnhof zu starten. Viele Grüße, Neo
  5. Neo

    Timer in der EV

    Hallo Andy, durch eine einfache Bedingung, die du den verzögerten Aktionen vorschaltest, sollte es sich um eine unterbrechbare Verzögerung handeln. Dafür Timer zu verwenden ist problematisch: Die Beziehung zwischen den verzögerten Aktionen ist durch Auslagerung in einen Timer oft nicht sofort ersichtlich Es gibt immer nur eine Instanz eines Timers, Verzögerungen können pro Ereignis mehrfach "gestartet" werden, mit eigenen Parametern. Das ist Grundvoraussetzung für eine schlanke EV. Technisch lassen sich Verzögerungen stoppen, in der EV können Verzögerungen per Benutzeroberfläche gelöscht werden. Das automatisierte Löschen ist jedoch problematisch, weil durch die Mehrfachinstanzen nicht klar genug geregelt ist, welche konkrete Verzögerung gemeint ist. Durch IDs und benutzerdefinierte Kennungen könnte man das lösen, allerdings halte ich das Einfügen einer einfachen Bedingung am Ende für den übersichtlicheren Weg. Viele Grüße, Neo
  6. Neo

    Timer in der EV

    Hallo Timba, genau, wenn du die verzögerten Aktionen stärker von dem ursprünglichen Ereignis trennen möchtest, dann verschiebe die Aktionen in ein benutzerdefiniertes Ereignis und rufe dieses Ereignis (mit deinen gewünschten Parametern) nach der Verzögerung direkt auf. Du bekommst dadurch auch noch die zusätzliche Möglichkeit, die "verzögerten Aktionen" manuell zu starten, z.B. durch einen Schalter. Viele Grüße, Neo
  7. Hallo Opax, schön, dass du dich für ein richtiges Konstruktionsprogramm entschieden hast. Hüte sind jedoch als Einzelmodelle nicht für den Katalog geeignet, da sie als Kleinteile zu aufwendig zu positionieren wären. Wie wäre es stattdessen, wenn du dich mit dem jeweiligen Personen-Bauer zusammensetzt und ihm deine Hüte zukommen lässt? Er kann daraufhin komplette Personen mit deinen Hüten als zusätzliche Variation einstellen. Viele Grüße, Neo
  8. Neo

    Beleuchtung Personenwagen

    Hallo, um eine weiße Bodenplatte zu erhalten muss man nicht mit Screenshots rumhantieren, im Texturenkatalog gibt es unter Material eine weiße Textur, die direkt aufgesprüht werden kann. Viele Grüße, Neo
  9. Neo

    Timer in der EV

    Hallo Timba, Timer ohne automatischen Neustart sind ein Relikt aus V4 und nur aus Kompatibilitätsgründen heute noch enthalten. Wenn du nur eine einmalige Verzögerung erreichen möchtest, ist die verzögerte Ausführung die bessere Wahl. Viele Grüße, Neo
  10. Neo

    Umändern der Plattenart

    Hallo xmanni, erscheint eine Fehlermeldung? Ansonsten sind mir keine Fehler bekannt. Klick doppelt auf die Bodenplatte und wähle anschließend unten rechts im Eigenschaftsfenster "Bearbeiten" aus, um sowohl die Form als auch die Größe zu ändern. Viele Grüße, Neo
  11. Hi Eric, the update supporting list and table variables will be available in the next 2 or 3 weeks. Kind regards, Neo
  12. Neo

    Lampen in einem Schritt schalten

    Hallo, aktuell sehe ich keinen Bedarf für eine Anpassung. Wie Götz schon gespoilert hat, kommt mit dem nächsten Update eine einfache Möglichkeit, per EV eine Gruppe von Objekten einheitlich anzusteuern. Da stimme ich dir zu, es gibt in einigen Bereichen des Studios noch Verbesserungspotential beim direkten "Verbinden" von schaltbaren Elementen. Hier möchte ich mir in Zukunft aber ein einheitliches Konzept überlegen, weil das auch an anderen Stellen sinnvoll erscheint. Die jetzige Lösung durch die EV ist ein Schritt in diese Richtung, wird aber auch für andere Situationen eingesetzt werden können und war leichter zu implementieren als ein komplett neues Konzept. Grundsätzlich spielt aber die Vereinfachung von Abläufen auch in zukünftigen Versionen eine große Rolle. Viele Grüße, Neo
  13. Neo

    Neue Beta-Version V5

    Hallo Andy, danke für das Video, aber ich kann dort kein Problem erkennen, das Zittern bei der Bewegung des Schattens ist wie du schon selbst bei anderen Spielen erkannt hast "by design". Viele Grüße, Neo
  14. Hallo, das self dort ist falsch, mit self greifst du auf das aktuelle Ereignis als Objekt zu. Du willst aber auf eine Tabelle zugreifen, die du global definiert hast. Lass das self einfach weg. Viele Grüße, Neo
  15. Neo

    Historisches

    Hallo, mein Alltag unterscheidet sich nicht nennenswert von dem Alltag eines normalen Angestellten. Ich arbeite größtenteils tagsüber und in der Woche, ansonsten gibt es bei mir auch Privates und Familie, Urlaube und Krankheitstage, nichts wirklich spannendes. Viele Grüße, Neo
  16. Neo

    Neue Beta-Version V5

    Hallo, ja, bedingt durch die verwendete Schattentechnologie würde eine dauerhafte Aktualisierung in einem sichtbaren Zittern resultieren, was noch unschöner wäre (das Zittern sieht man kurz, wenn der Schatten wandert). Das kann ich nicht nachvollziehen, kannst du davon eventuell ein Video drehen, was das Problem aufzeigt? Viele Grüße, Neo
  17. Neo

    Historisches

    Hallo, ja, über mehrere Ecken kam Franzis auf mich zu und suchte einen Programmierer, der den 3D-Eisenbahnplaner weiter entwickelt. Damals waren die Anforderungen auch noch sehr gering, Hauptsache man konnte ein paar Gleise verlegen und Züge darauf fahren lassen. Richtig Fahrt nahm der 3D-Eisenbahnplaner (und später das 3D-Modellbahn Studio) erst auf, als ich ein Forum eingerichtet habe und die Leute mit den Ideen kamen... Ich habe ehrlich gesagt mit keinen Schwierigkeiten zu kämpfen. Vielleicht habe ich auch die richtige Zeit erwischt, aber durch die heutige Digitalisierung kann jeder, der einen Computer besitzt und Programmieren kann, auch Software für einen größeren Markt eigenständig verkaufen, ohne vorher große Investitionen tätigen zu müssen. Es dauert natürlich immer eine gewisse Zeit, bis das Programm über Google gefunden wird und die Nutzerzahl wächst, diese Zeit gilt es zu überbrücken. Viele Grüße, Neo
  18. Neo

    Historisches

    Hallo, wenn es um den 3D-Eisenbahnplaner geht, muss man bedenken, dass es sich dabei um zwei Versionen handelt: Version < 6 stammt von irgendwem, ich kenne ihn nicht Version >= 6 stammt von mir, ist eine vollständige Neuentwicklung und hat mit dem 3D-Eisenbahnplaner < 6 nichts gemeinsam, außer, dass ich die Gleisdaten aus der alten Version übernommen habe. Das war eine schöne Zeit, als Kind wollte man halt nur Ballerspiele programmieren Viele Grüße, Neo
  19. Neo

    Variablenverwaltung

    Hallo, die Bedingung "Zeitpunkt überschritten" ist für einen Zeitbereich gedacht, du interessierst dich aber für konkrete Zeitpunkte. Dafür kannst du direkt auf die Zeit prüfen: Alternativ (und performanter) kannst du ein Ereignis pro Zeitpunkt definieren und darin ein benutzerdefiniertes Ereignis mit den Aktionen aufrufen, dann vermeidest du Redundanzen. Viele Grüße, Neo
  20. Neo

    Signale und Geschwindigkeit

    Hallo Timba, das passiert aber nur bei der Anzeige, intern rundet das Studio nicht bzw. dort wird die volle Gleitkomma-Bandbreite verwendet. Das Verhalten von Bewegungen im Studio ist stark von der Frame-Zeit (FPS) abhängig. Je weniger FPS, desto größer sind die Schritte, die pro Frame gegangen werden müssen. Bei 4x-Abspielgeschwindigkeit werden die Schritte entsprechend größer. Um allerdings negative Effekte etwas zu dämpfen werden zu große Schritte in kleinere Teilschritte unterteilt. Dennoch bleibt am Ende ein etwas zufälliges Ergebnis übrig, wie in der Realität Viele Grüße, Neo
  21. Und Delphi, der Programmiersprache vom MBS Unabhängig davon finde ich die konsequente Kleinschreibung von Lua nicht besonders gut, ich hätte mir lieber ein toString() oder toNumber() gewünscht. In der Programmierung ist es wichtig, konsistent zu bleiben, und wenn man das bei Lua strikt einhalten wollen würde, würde das sehr unleserlich werden: layout:getentitiesbykeyword. Aus diesem Grund habe ich mich für camelCase entschieden und das entsprechend konsistent durchgezogen, weshalb es toTime() und nicht totime() heißt. Viele Grüße, Neo
  22. Hallo Timba, hier darfst du dich nicht täuschen lassen, die Autovervollständigung beachtet nicht die Bezeichner vor dem Punkt oder Doppelpunkt, sondern nur die Bezeichner danach. Das Studio selbst kann während der Entwicklungszeit nicht prüfen, was hinter "os" steht. Es könnte sich ja um folgendes Konstrukt handeln: local os = layout print(os.time) Dieser im Studio gültige Code kann nur während der Laufzeit analysiert werden, weshalb die Autovervollständigung alle Vorschläge anzeigt. Grundsätzlich handelt es sich bei einer Zeitangabe um ein Objekt mit Methoden und Eigenschaften. So kannst du z.B. mit Zeiten rechnen und diese vergleichen: local time = layout.time + toTime("0:30") -- Halbe Stunde addieren if time > toTime("15:45") then ... end Wie die Zeit intern verarbeitet wird spielt für den Aufrufer gar keine wirkliche Rolle, wobei es auch kein Thema wäre, dem Objekt weitere Funktionen zu spendieren, um an weitere Informationen heranzukommen, wie z.B. der Stunde, Minute oder Sekunde. Viele Grüße, Neo
  23. Hallo Timba, was möchtest du denn erreichen? Viele Grüße, Neo
  24. Hallo, jein, der Vorschlag ist eher als Notlösung zu sehen. Besser wäre es, wenn so wenige Ereignisse wie möglich definiert werden. Sobald ihr mehrere Ereignisse habt, die den gleichen Auslöser besitzen, solltet ihr stutzig werden und prüfen, ob diese Trennung in mehrere Ereignisse wirklich Sinn macht. Sinnvoll ist sie ab V5 eigentlich nur noch, wenn es sich um völlig verschiedene Themenkomplexe handelt. Viele Grüße, Neo
  25. Neo

    Blender 2.8

    Hallo, nein, du kannst auch bei glTF in Blender die FPS herabsetzen und erhältst eine verlangsamte Animation, muss dann aber in der Anim-Datei diese Verlangsamung bei den Frame-Zahlen einrechnen. Wenn du also von 24 auf 12 FPS herunter gehst, musst die die Frames in den Anim-Dateien verdoppeln. Viele Grüße, Neo
×