Jump to content

Neo

Entwickler
  • Gesamte Inhalte

    7125
  • Benutzer seit

  • Letzter Besuch

Beiträge erstellt von Neo

  1. Hallo,

    ich bin mir nicht sicher ob es so eine gute Idee ist alle Objekte jetzt auf Schalter um zu ändern, nur um eine bessere Verknüpfung zu ermöglichen. Meine Absicht hinter den benutzerdefinierten Schaltern war eher individuelle Kippschalter und Drehregler zu ermöglichen. Wenn Signale jetzt Schalter werden, dann macht das an anderen Stellen Probleme, wie z.B. in der Ereignisverwaltung, wo Signale dann nicht mehr als Signale erkannt werden und entsprechend Ereignisse oder Aktionen nicht mehr greifen.

    Wäre es nicht sinnvoller wenn Signale Signale bleiben und Schalter Schalter und ich eine Erweiterung einbaue, mit der "schaltbare Objekte" (Signale, Schalter, Weichen...) mit anderen schaltbaren Objekten verknüpft werden können?

    Viele Grüße,

    Neo

  2. Hallo Easy,

    es gibt keine Obergrenze für die Anzahl der Animationsframes, es findet immer eine Interpolation zwischen dem ersten und letzten Frame statt (und entsprechenden Zwischenframes). Dementsprechend ist meine Empfehlung, so wenig Frames wie möglich zu verwenden um die Animation noch abbilden zu können.

    Viele Grüße,

    Neo

  3. Hallo,

    es steht eine neue Testversion online zur Verfügung, die folgende Änderungen mitbringt:

    • Bessere Unterstützung von Grundkörpern: Grundkörper können nun Texturen außerhalb des Katalogs referenzieren. Gruppen von Grundkörpern können als zusammenhängendes 3D-Modell dem Katalog hinzugefügt werden.
    • Benutzerdefinierte Steuerobjekte (eigene 3D-Modelle als Kippschalter/Drehregler)
    • Die Größe und Position des Selektionsfensters ist nun variabel und wird gespeichert
    • Probleme mit Bedingungen behoben: Signalbedingungen trafen manchmal nicht zu, "Lok/Wagon steht auf einem Gleis" berücksichtigt nun das gesamte Modell und nicht mehr nur die Mitte.

    Viele Grüße,

    Neo

  4. Hallo Marko,

    diese Funktion ist bereits eingeplant, ursprünglich gedacht um Fragezeichen durch die richtigen Modelle zu ersetzen, wird eine Ersetzen-Funktion auch genutzt werden können, um Modelle komplett auszutauschen.

    Zeitlich kann ich leider noch keine konkreten Aussagen machen, aber in einer der nächsten Updates wird es sicher zur Verfügung stehen.

    Viele Grüße,

    Neo

  5. Hallo BahnLand,

    du hast das schon korrekt erkannt. Es handelt sich hierbei um Mipmap-Artefakte. Zur Performance-Steigerung werden alle Texturen im 3D-Modellbahn Studio als Bildpyramide abgespeichert, d.h. jede Textur liegt in mehreren Auflösungen vor, bis runter zu 1x1 Pixel. Beim Rendern wird dann die Textur verwendet, die größentechnisch am besten mit der aktuellen Objektgröße übereinstimmt.

    Um die einzelnen Auflösungsstufen zu generieren wird das Ausgangsbild jeweils halbiert, wobei die von BahnLand angesprochenen Verläufe entstehen:

    Mipmap.jpg

    Dieses Bild zeigt die 6. Stufe (8fache Vergrößerung) einer Gleisstraßen-Textur von BahnLand. Gut zu erkennen ist der Verlauf zwischen Grün und Transparenz (Cyan). Dieser entsteht durch das bilineare Herunterskalieren der Originaltextur.

    Es gibt nun folgende Lösungen:

    1. Verzicht auf Mipmapping -> Schlecht, da nicht gut für die Performance
    2. Manuelles Erzeugen der einzelnen Mapmap-Level und somit Verwendung anderer Skalierungsfilter bzw. Vermeidung von Verwaschungen -> Ideal, benötigt aber ein Tool um die einzelnen Mipmap-Level zu bearbeiten (GIMP soll es ermöglichen, das DirectX Texture Tool aus dem DirectX SDK unterstützt es ebenso).

    Wichtig zu erwähnen wäre, dass nur das DDS-Format Mipmaps unterstützt, d.h. wenn immer eine JPEG oder ein PNG-Bild im 3D-Modellbahn Studio verwendet wird, werden die Mipmaps automatisch generiert (und dann mit den entsprechenden Artefakten). Nur wenn eine DDS-Textur geladen wird erzeugt das Studio keine zusätzlichen Level. Das bedeutet auch, dass man beim manuellen Bearbeiten der DDS-Textur die kleinsten Level (1x1 und 2x2) weglassen kann.

    Noch ein Hinweis: Die Ausgangstextur ist mit 1024 Pixel arg groß für eine Textur mit wenigen Details. Es sollte wenn möglich nur kleine Texturen verwendet werden, wie z.B. 256x256, und nur bei vielen Details die Auflösung erhöht werden.

    Viele Grüße,

    Neo

  6. Hallo,

    ich kann bestätigen dass es mit der Signalbedingung noch ein Problem gab, welches mit dem nächsten Update behoben sein wird. Bis dahin gibt es einen Workaround: Einfach die Dropdown-Liste (Position) einmal zwischen "Geschlossen" und "Offen" umschalten, dann sollte es auch mit "Offen" gehen.

    @ernesto
    Dein Beispiel mit den Variablen und den Schaltern kann nicht funktionieren, da die Bedingungen erst bei Aktivierung eines Ereignisses geprüft werden. Das Ereignis wird aber nie aktiviert. Besser wäre es statt auf eine Ereignisaktivierung zu warten auf eine erneute Schalteraktivierung zu warten und dort die Variable des anderen Schalters jeweils zu prüfen.

    Bedenke auch, dass Signal 3 nicht mit dem Schalter verknüpft sein darf, denn eine Verknüpfung ist stärker als eine Aktion im Ereignis, d.h. entweder das Signal per Ereignis schalten oder aber per Schalter. Beides zusammen überlagert sich.

    Viele Grüße,

    Neo

  7. Hallo Fred,

    es ist schwer hier eine konkrete Aussage zu machen, ein kurzer Test mit der kostenlosen Any Rail-Version brachte bei mir keine Unterschiede. Du kannst mir gern beide Projekte einmal per E-Mail zukommen lassen, dann schaue ich ob ich einen Unterschied ausmachen kann.

    Viele Grüße,

    Neo

  8. Hallo Ernesto,

    meinst du damit folgendes:

    • Du definierst für jedes Objekt im Studio eine beliebige Liste von Variablen (Namen-Werte-Paare), denen du entweder manuell oder per Aktion einen Wert zuweist. Diese Variablen wären dann Eigenschaften des jeweiligen Objektes, z.B. definierst du für eine Lok "X" eine Variable vom Namen "Maximale Geschwindigkeit" mit dem Wert "50".
    • In der Ereignisverwaltung kannst du auf die Variablen entsprechend zugreifen, soll heißen, wenn die Lok "X" ein Ereignis auslöst, kannst du den Wert der Variable "Maximale Geschwindigkeit" auslesen und für eine Aktion nutzen, um z.B. die Geschwindigkeit der Lok zu setzen.
    • Indem du verschiedenen Loks verschiedene Werte für "Maximale Geschwindigkeit" gibst, brauchst du nur ein Ereignis in der Ereignisverwaltung zu definieren, da sich deren Aktionen an die Werte der gerade auslösenden Lok orientieren und somit dynamisch auf die Inhalte reagieren.

    Ist es das was du meinst?

    Viele Grüße,

    Neo

     

  9. Hallo,

    grundsätzlich wird es auch in Zukunft Erweiterungen und Verbesserungen an der Ereignisverwaltung geben, die Steuerschnittstelle wird nicht als Ausrede genutzt werden damit ich keine Features mehr implementieren muss. So ein Debug-Fenster sehe ich durchaus auch als sinnvoll. Im Moment sammle ich jedoch erst noch die neuen Anfragen bezüglich der Ereignisverwaltung und werde dann in einem Rutsch wieder mehrere Verbesserungen einbauen.

    Auch erwarte ich in nächster Zeit, jetzt wo die Steuerschnittstelle veröffentlicht wurde, Zusatzprogramme zum Studio, die am Ende ja nichts weiter als Plugins sind, wodurch manche Anfragen hier womöglich sogar durch solche Programme beantwortet werden, ohne direkt das Studio zu erweitern. Von mir wird es auch bald ein Programm geben was intensiv die Steuerschnittstelle nutzt und dabei die Ereignisverwaltung im Fokus hat.

    Viele Grüße,

    Neo

  10. Definitiv sind alle Modelle von euch eine Bereicherung für das 3D-Modellbahn Studio und ohne wäre an eine sinnvolle Weiterentwicklung auch gar nicht zu denken, denn Features ohne ordentliche Modelle machen wenig Sinn!

    Freue mich auf jedes neues Modell!

    Neo

  11. Hallo Rainer,

    wie groß ist dein Testgleis? Die Bedingung "Lok/Wagen steht auf einem Gleis" berücksichtigt zur Zeit nur den Mittelpunkt der Lok, d.h. die Mitte der Lok muss sich auf dem Testgleis befinden, es reicht nicht aus wenn die Lok das Gleis nur berührt (ein zukünftiges Update wird hier toleranter sein und die gesamte Lok berücksichtigen).

    Viele Grüße,

    Neo

  12. Hallo,

    die neue Version (mit kleinen Fehlerbereinigungen) sowie die Wiki-Artikel sind nun offiziell online.

    @Katsu
    Der Export der Ereignisse ist nun auch als HTML-Datei möglich, die etwas weniger technisch die Ereignisse darstellt.

    Viele Grüße,

    Neo

  13. Hallo,

    wer die Programmierumgebung Embarcadero Delphi sein eigen nennt, kann das hier zur Verfügung gestellte Beispielprogramm als Vorlage für die Ansteuerung der Steuerschnittstelle des 3D-Modellbahn Studios nutzen. Das Beispiel wird mit einer Exe ausgeliefert, mit der die Schnittstelle auch ohne Delphi angesprochen werden kann, um zumindest einen Eindruck zu bekommen, wie die Kommunikation zwischen Client und 3D-Modellbahn Studio abläuft.

    Viele Grüße,

    Neo

    P.S. Wer das kostenlose FreePascal / Lazarus verwendet, sollte ebenfalls mit nur wenigen Anpassungen die Vorlage nutzen können, solange die Indy Komponenten in Version 10 verwendet werden.

    Mbs-control.jpg

    Mbscontrol.zip

  14. Hallo,

    mit Objekttypen meinte ich wirklich nur Rollmaterial oder einfache Modelle. Es macht keinen Sinn eine Lokgeschwindigkeit für ein Gebäude zu setzen, weshalb sich hier nichts ändern wird (d.h. statt nur einer Lok wird man bei den Aktionen eben 1 bis N Loks auswählen können).

    Für andere Unterscheidungen, die auf speziellen Bedingungen basieren, würde ich ein anderes System empfehlen. Die neuen Bedingungen in der Ereignisverwaltung erlauben ja die Abfrage von verschiedenen Werten. So könnte ich mir z.B. eine neue Bedingung vorstellen die den Namens des Objektes prüft und das Ereignis eben nur bei einem bestimmten Objektnamen auslöst. Dann kann jeder seine eigenen Objekttypen definieren indem er ihnen spezielle Namen gibt.

    Viele Grüße,

    Neo

  15. Hallo Marko,

    mit dem nächsten Update (kommt voraussichtlich morgen), wird das Fenster der Ereignissteuerung frei vergrößer- und positionierbar sein. Ein nicht-dialogtypisches Fenster könnte allerdings problematisch sein, weil z.B. Countdowns weiterlaufen würden oder Aktionen laufen die die Ereignisse ständig verändern könnten (z.B. aktivieren/deaktivieren). Man müsste dann stark aufpassen wenn man Ereignisse bearbeitet dass diese im Hintergrund durch eine laufende Anlage nicht beeinflusst werden. Ich werde mir mal einen Überblick darüber verschaffen, es wird aber recht aufwendig sein, weshalb ich dem zunächst eine eher niedrigere Priorität gebe.

    Viele Grüße,

    Neo

  16. Hallo Rainer,

    ein wenig wundert mich das schon, denn die Daten des Studios werden im User-Verzeichnis abgespeichert, was bei deiner gewählten Installation ja eigentlich erhalten bleiben sollte. Gibt es denn auf deinem System noch das Verzeichnis "C:\Users\<Benutzername>\AppData\Local\3D-Modellbahn Studio"? Liegt es vielleicht in einem anderen Benutzerverzeichnis?

    Unabhängig davon steht der Punkt, das Katalogverzeichnis selber zu bestimmen, bereits auf meiner ToDo-Liste.

    Viele Grüße,

    Neo

  17. Hallo Marko,

    das ist eine gute Idee. Ich denke ich werde die Objektauswahl in der Ereignisverwaltung so abändern, dass auch eine Mehrfachauswahl möglich ist, wodurch die Auswahl nicht auf Objekte mit gleichem Namen beschränkt ist, sondern nur auf den gleichen Objekttypen.

    Viele Grüße,

    Neo

×
×
  • Neu erstellen...