-
Gesamte Inhalte
8006 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Neo
-
Hallo, handelt es sich hier um eine theoretische Diskussion oder gab es konkrete Beschwerden eines Anlagenbauers, dass seine Anlage von einem anderen Nutzer erneut veröffentilcht wurde? V5 ist seit Ende August offiziell raus, womöglich meinst du das gestern veröffentlichte Update dazu. Viele Grüße, Neo
-
Hallo, es wurden noch zwei Fehler beseitigt (ein Fehler bei Gleisstrang selektieren und ein Problem bei der Videoaufzeichnung). Zusätzlich gab es eine kleine Erweiterung für die Modellbauer, um fremde Modelle mit neuen Texturen auszustatten, was für HWBs Modelle wichtig ist. Viele Grüße, Neo
-
Hallo, die neue Version steht nun für alle zur Verfügung, die "Hookfunktion" habe ich jedoch noch nicht berücksichtigen können, diese ist weiterhin für ein zukünftiges Update geplant. Viele Grüße, Neo
-
Hallo, tatsächlich handelte es sich bei dem alten Export um eine Funktion, um die Unzulänglichkeiten der alten EV zu umgehen, die sehr unübersichtlich war und kenne nennenswerte Suchfunktion besaß. Auch suggerierte der Export einen erneuten Import, den es nie gab und schon aus technischen Gründen nie geben wird. Aus diesem Grund liegt mein Fokus nicht mehr bei einer Export-Funktion für die neue EV, sondern in verbesserten Such- und Anzeigemöglichkeiten, direkt im Programm. Diese möchte ich auch in Zukunft weiter verbessern (die neue EV ist ja gerade erst "geboren"), wodurch ein Export immer unwichtiger wird. Viele Grüße, Neo
-
Anlage laesst sich in V5 nicht laden
Neo antwortete auf norbert_janssens Thema in Technischer Support
Hallo Norbert, die Anlage wurde mit der aktuellen Beta-Version erstellt, die voraussichtlich nächste Woche für alle veröffentlicht wird. Viele Grüße, Neo -
Benutzerdefinierte Ereignisse in Ereignismodulen
Neo antwortete auf Timbas Thema in Fragen zur Steuerung
Hallo, ja, hier verhält sich das Studio konsistent. Wie bei den Objekten wird bei doppelten Namen das "erste" Ereignis verwendet, wobei das erste nicht wirklich definiert ist. Wurde es jedoch verlinkt, bleibt die Referenz anschließend dauerhaft gültig. Durch einen kleinen Testlauf mit einem print() sollte sich dann schnell herausfinden lassen, ob das korrekte Ereignis aufgerufen wurde (oder man wählt das Ereignis gleich über die Auswahlbox aus). Der $-Operator arbeitet mit absoluten Referenzen. Timba scheint jedoch eine Art relative Referenzierung zu benötigen, in dem ein Ereignis eines übergeordneten Moduls ermittelt werden soll. Das riecht nach einer neuen Funktion: self.parent:getEventByName("MyEvent") in Anlehnung an layout:getEntityByName(). self entspricht dem aktuellen Ereignis, parent wäre das übergeordnete Modul. Viele Grüße, Neo -
Benutzerdefinierte Ereignisse in Ereignismodulen
Neo antwortete auf Timbas Thema in Fragen zur Steuerung
Hallo, ich sehe das Problem nicht, bzw. ich glaube, ihr seht Probleme, wo keine sind. Weder sind für den $-Operator unterschiedliche Namen notwendig, noch spielen die Namen überhaupt eine Rolle. Die Namen werden nur zur Unterstützung angezeigt, weil niemand weiß, was hinter der ID 38753956 steht. Der $-Operator funktioniert bei Ereignisreferenzen exakt wie bei den Objektreferenzen, intern erfolgt die Referenzierung über eine eindeutige ID. In welchem Modul ein Ereignis liegt und ob es andere Ereignisse gibt, die den gleichen Namen haben, ist nicht wichtig, eine einmal hergestellte Referenzierung über die Auswahlbox wird dauerhaft beibehalten. Gleiche Ereignisnamen führen lediglich beim Betrachten des Codes zu Verwirrung, weil nicht ersichtlich ist, welches Ereignis aufgerufen wird. Unter dem Aspekt empfiehlt es sich, unterschiedliche Namen zu verwenden, oder einen Kommentar im Code zu hinterlassen. Viele Grüße, Neo -
Hallo, du verwendest einen 1:1-Maßstab in der Anlage, wodurch Modellbahn-Maßstäbe ignoriert werden (der 1:1-Maßstab dient zum Nachbau realer Eisenbahnen). Wähle in den Anlageneinstellungen einen konkreten Modellbahn-Maßstab, um korrekte Modellbahn-Größen zu erhalten. Viele Grüße, Neo
-
Hallo, mach es so wie ich es bereits weiter oben beschrieben habe: local Beschriftung = layout:getEntityByName("Beschriftung " .. track.name) Beschriftung.text = ... Eine bessere Lösung wäre, wenn du die Beschriftungsobjekte in den jeweiligen Gleisen direkt als Objektvariable referenzierst. Dann bist du unabhängig irgendwelcher Namen. Viele Grüße, Neo
-
Hallo, der Operator $ ist MBS-spezifisch und funktioniert nur mit statischen Namen, weil intern das Objekt fest verdrahtet wird. Wenn du dynamisch Objekte anhand von Namen ermitteln möchtest, dann musst du die Funktion getEntityByName verwenden: local track = layout:getEntityByName(x) x kann nun jeder beliebige Text sein, auch eine Variable. Bedenke aber, dass Objektreferenzen anhand von Namen "veraltet" sind, mittlerweile gibt es bessere Möglichkeiten, um dynamisch Objekte zu referenzieren, unabhängig des Namens. Dafür benötigen wir aber mehr Informationen über dein eigentliches Vorhaben. Viele Grüße, Neo
-
Hallo, danke für den Hinweis, ich schau mir die Stelle an. Viele Grüße, Neo
-
Hallo Easy, wie du sicher weißt kennt Lua nur Tabellen, keine Listen. Da das Studio aber zwischen beiden unterscheidet, muss diese Unterscheidung an irgend einem Punkt geschehen. Die Unterscheidung findet bei der Zuweisung einer Variablen statt, d.h. in deinem ersten Fall wird eine fertige Tabelle einer Variablen zugewiesen. Das Studio analysiert die Tabelle, stellt fest, dass es sich um eine Liste handelt, und speichert die Tabelle entsprechend als Liste ab. In deinem zweiten Fall fügst du Elemente zu einer Tabelle im Studio direkt hinzu. Dabei findet keine automatische Konvertierung von Tabelle zu Liste statt. Für die Logik spielt dieser Unterschied am Ende keine Rolle. Ein Iterieren durch eine Tabelle/Liste mit ipairs gibt immer das gleiche Ergebnis (wie du schon in deiner Ausgabe erkannt hast), egal in welcher Reihenfolge die Einträge intern gespeichert werden. Viele Grüße, Neo
-
GPU Auslastung 73 %, Stromverbrauch sehr Hoch
Neo antwortete auf crazymanns Thema in Allgemeine Diskussionen
Hallo Dieter, das 3D-Modellbahn Studio ist vergleichbar mit einem 3D-Spiel, weshalb für größere Anlagen auch entsprechende Hardware benötigt wird. Deine Intel-Grafikkarte ist leider nicht sehr performant, weshalb auch das Studio hier nicht viel ausrichten kann, unabhängig davon, ob das Programm selbst noch weiter optimiert wird. Das Studio verwendet bereits Direct3D 11, besitzt jedoch einen Fallback auf Direct3D 10 für ältere Grafikkarten. Auf die Performance hat das aber keinen nennenswerten Einfluss. Wo das Studio noch stark optimiert werden kann ist bei der CPU, da speziell bei der 3D-Engine noch nicht alle Kerne genutzt werden. Diese Optimierung ist für V6 geplant. Viele Grüße, Neo -
Probleme mit meinen Restaurants
Neo antwortete auf fmkberlins Thema in Modellbau mit externen Programmen
Hallo fmkberlin, ich habe jetzt erst gesehen, dass du das Bergrestaurant als neues Modell hochgeladen hast, obwohl es das schon im Katalog unter einer anderen ID gibt. Ich habe das Modell daher wieder entfernt. Bitte aktualisiere die alten Modelle, statt neue hochzuladen. Lösch beide Modelle aus deinem privaten Katalog, suche sie online und wähle dort "Online-Version herunterladen". Dann kannst du die Modelle in deinem privaten Katalog aktualisieren und die Änderungen hochladen. Viele Grüße, Neo -
Hallo Opax, schön, dass du immer besser mit Sketchup zurecht kommst. Auch ich habe noch ein paar Tipps für dich, um dein erstes Modell abzurunden: Du verwendest an vielen Stellen noch doppelseitige Materialien, wodurch auf vielen Innenseiten (z.B. Rohre, Handläufe etc). Polygone entstehen, die nie sichtbar, aber immer berechnet werden müssen. Du kannst dein Modell noch stark optimieren. Versuche in Sketchup, doppelseitige Materialien komplett zu vermeiden. Du arbeitest mit sehr vielen Farbflächen und wenigen Texturen. Dein Modell wirkt dadurch etwas wie ein Fremdkörper im Vergleich zu den anderen texturierten Modellen im Katalog. Versuch mal dem Boden der Fähre eine Textur zu verpassen, z.B. einem Riffelblech. Die blauen Fenster wirken seltsam. Durch Verwendung der ENV-Funktion (siehe Wiki) kannst du Fenstern eine Reflektion verpassen. Der roten und grünen Leuchte auf dem Dach kannst du noch ein LS spendieren, um sie auch bei Nacht leuchten zu lassen. Viele Grüße, Neo
-
Probleme mit meinen Restaurants
Neo antwortete auf fmkberlins Thema in Modellbau mit externen Programmen
Hallo fmkberlin, der Name des Autors wird ausgeblendet, wenn das Modell zusätzlich auch lokal in deinem privaten Katalog liegt, wenn nicht, wird der Name angezeigt. Modelle werden immer im privaten Katalog gespeichert. Um diese online zu aktualisieren, wählst du nach dem Speichern "Im Internet veröffentlichen". Das direkte Aktualisieren von Online-Modellen ohne lokale Kopie gab es zu alten V3-Zeiten, wo es keinen privaten Katalog gab. Viele Grüße, Neo -
Hallo Maik, du hast schon einen sehr guten PC, ich wüsste im Moment nicht, was du anderes noch tun kannst, wenn du weniger FPS als andere mit einer vergleichbaren Hardware hast. Hast du eventuell irgendwelche Fremdprogramme installiert, die das System belasten? Was sagt der Task-Manager, während das Studio läuft? Viele Grüße, Neo
-
Probleme mit meinen Restaurants
Neo antwortete auf fmkberlins Thema in Modellbau mit externen Programmen
Hallo, doch, auch bei deinen eigenen Modellen stehen dein Name im Online-Katalog. Mittlerweile hast du das Modell aktualisiert und es ist freigegeben. Viele Grüße, Neo -
Hallo Maik, welche CPU besitzt du? Das Studio ist bei großen Anlagen CPU-limitierend, deine Grafikkarte wird sich vermutlich eher langweilen. Viele Grüße, Neo
-
Probleme mit meinen Restaurants
Neo antwortete auf fmkberlins Thema in Modellbau mit externen Programmen
Hallo fmkberlin, wie bei allen Modellproblemen gilt, nur mit Beispieldaten kann ich dein Problem lösen. Viele Grüße, Neo -
Hallo max, wenn du eine sich konstant wiederholende Animation zu jedem beliebigen Zeitpunkt sanft stoppen möchtest, dann müsstest du für jedes Keyframe eine mögliche Endanimation anbieten, die von diesem Keyframe aus das Rad zum Stoppen bringt. Das lässt sich mit zwei Animationen nicht erreichen, es sei denn, die Hauptanimation muss bei einem Stopp immer erst bis zu einem bestimmten Ende durchlaufen, bevor die Endanimation abgespielt wird. Je nach Dauer der Hauptanimation kann dann das Stoppen eine längere Zeit in Anspruch nehmen. Viele Grüße, Neo
-
Keine Verzögerungen bei Wiederholungen möglich
Neo antwortete auf BahnLands Thema in Fragen zur Steuerung
Hallo BahnLand, technisch funktionieren Verzögerungen so, dass ein Ereignis sofort gestoppt und nach Ablauf der Verzögerung wieder von vorn gestartet wird, wobei die bereits abgearbeiteten Aktionen übersprungen werden. Fügst du eine Verzögerung in einer Schleife ein, müsste das Ereignis nicht nur die abgearbeiteten Aktionen, sondern auch die bereits abgearbeiteten Iterationen überspringen. Das mag bei einer konstanten Liste noch funktionieren, aber nicht mehr bei einer While-Schleife, die ein dynamisches Abbruchkriterium besitzt. Das lässt sich technisch auch nicht mehr einfach realisieren. Hinzu kommt, dass Iteration X + 1 erst verarbeitet wird, wenn die Verzögerung für die Iteration X abgelaufen ist. Wiederholungen sind jedoch dafür gedacht, eine Liste von Objekten gleich zu behandeln, d.h. die Aktionen sollen für alle Objekte sofort ausgeführt werden. Das funktioniert leider nicht, da ein Skript erst ausgeführt werden müsste, um zu prüfen, ob eine Verzögerung auch aufgerufen wird. Hinter einem "defer"-Aufruf könnte ja auch eine benutzerdefinierte Funktion oder eine Tabelle oder irgendwas anderes stecken. Code-Analysen im Vorfeld sind bei Skriptsprachen nicht möglich. Genau das ist auch der richtige Weg, Verzögerungen in Wiederholungen einzubauen. Denn nur damit umgehst du das oben beschriebene Problem, dass Iteration X + 1 erst nach Ablauf von Iteration X ausgeführt wird. Technisch wäre das machbar, bisher habe ich darauf aber verzichtet, weil solche Konstrukte immer komplexer werden und ich die Annahme mache, dass die Leute in diesem Fall mit dem Wechsel auf Lua schneller ans Ziel kommen. Für dich wäre in diesem Fall eventuell die "Skript-Wiederholung" ein Kompromiss. Dort kannst du im Skript eine Tabelle generieren, die anschließend in der grafischen EV iteriert wird. Viele Grüße, Neo -
Hallo Baki, du bekommst das auch mit Schlagwörtern hin, du hattest das Ziel auch schon fast erreicht: Deine Modul-Schlagwörter benötigst du nicht, es genügt, wenn du die Objektvariable auf ein Schlagwort prüfst. Verwendest du schon die neue Beta-Version 5.0.7.0, dann geht das noch einfacher mit der neuen Bedingung "Eigenschaft/Variable existiert": Viele Grüße, Neo
-
Hallo Andy, zunächst musst du zwischen zwei Transparenzmodi unterscheiden: Vollständig transparent = "Ausschnitte" ähnlich einer Schere Halbtransparenzen für z.B. Glasscheiben, die nur teilweise den Hintergrund durchscheinen lassen Die Performance-Thematik gibt es nur bei Punkt 2. Punkt 1 spielt für das Studio keine Rolle, du kannst in einer Textur so viele Ausschnitte einfügen wie du willst, das hat keinen Einfluss auf die Performance. Zäune oder Treppengeländer kannst du daher in der gleichen Multitextur unterbringen wie deine nicht-transparenten Bereiche. Erst wenn du mit Halbtransparenzen arbeiten möchtest, musst du dich an die 75%-Regel halten. Wobei es hier nur darum geht, dass der Modellbauer Texturen mit nicht-transparenten und halbtransparenten Pixel nicht vermischt. Viele Grüße, Neo
-
Hallo, dem ist auch so, die 30-Tage-Frist bezieht sich immer auf die letzte Änderung. Viele Grüße, Neo