-
Gesamte Inhalte
103 -
Benutzer seit
-
Letzter Besuch
Beiträge erstellt von siggi
-
-
Hallo und ein frohes neues Jahr!
Ich möchte euch mein erstes 3D Modell vorstellen, es handelt sich um eine Nachbildung der "Frauenkapelle in Fischen im Allgäu". Ich fahre jedes Jahr dorthin in Urlaub und bin von dieser Kapelle beeindruckt, zumal sie für eine Kapelle recht groß ist. Bei der Erstellung des Modells musste ich mit vielen Hürden kämpfen und ich hätte sicher einiges besser und einfacher machen können. Es waren meine ersten Erfahrungen mit Blender und einiges könnte ich nur mit eurer Hilfe lösen, danke dafür.
Das Modell hat die Content-ID: 22849915-A409-4EA0-A987-B0F47DE79493 -
-
Hallo EASY,
danke, jetzt hab ich's verstanden.Siggi
-
Hallo Douglas,
danke für deine Antwort! Das mit getrennten Texturen habe ich genau so gemacht, es scheint bei mir entweder an der Erstellung der Animation in Blender zu liegen oder an den Export Einstellungen. Wenn ich das Modell mit leuchtendem Fenster exportiere (ohne Animation), leuchten diese auch im MSB.
Siggi -
Ich versuche mich gerade in Blender 2.9 und komme auch schon sehr gut klar. Beim Animieren klappt auch das Bewegen von Objekten, jetzt hänge ich nur beim Versuch Fenster zu Leuchten zu bringen.
Zur Veranschaulichung habe ich in Blender einen Würfel mit Fenster gebaut. In Bild 1 und Bild 2 sind die Einstellungen in Blender (Emission) zu sehen. Beim Wechsel im Zeitstrahl von 0 auf 1 wechselt auch das Leuchten des Fensters.
Wenn ich das Modell nun nach *.glb exportiere (Export Einstellungen Bild 3) und in MBS hinzufüge ist im MBS für das Modell keine Animation zu sehen.
Animationen wie Tür auf oder zu klappen ohne Problemen.
Schönen SonntagSiggi
-
Danke Sputnikk,
dass Solarmodul hatte ich nicht gefunden, ist aber nicht schlimm, war eine schöne Übung.
Noch eine Frage zum Einbinden der Datailstufen bei Variationen.
Muss man die Detailstufen vorher separat hochladen oder mit den Variationen?
Bei MSB 9 hatte ich wohl die 9 von Blender 2.9 im Kopf.
-
Hallo maxwei,
danke für deinen Tipp. Ich habe den Fehler inzwischen behoben, die Normalen lagen richtig, dann habe ich die Textur noch einmal geöffnet und unter einem anderen Namen gespeichert, die neue Textur dann in Blender neu eingebunden und das Objekt damit versehen. Und siehe da, nach dem Export sah es in MBS richtig aus.
Ergo war es wohl ein Fehler in der Textur-Datei.
Schönen Tag
LG Siggi -
-
Guten Morgen,
ich erstelle gerade mein erstes Blender Modell und habe beim Exportieren nach nach *.glb bzw von *.glb nach MBS ein Problem bei der Darstellung der Textur.
Im Blender wie auch im 3D.Viewer sieht mein Modell so aus wie ich es mir vorstelle. Wenn ich das Modell dann als "neues Modell" in MBS einstelle stimmt die Textur, wie auf dem Foto "Modellbahnstudio" zu sehen, nicht mehr.
Die Textur hat eine Größe von 256x256 und ist im *.png Format.
-
Hallo shpaul13,
tolle Idee mit den Schläuchen. Wie komme ich daran?
Gruß
Siggi
-
Vielen Dank für eure Antworten,
schon wieder neues gelernt zu Lua.
Ich wünsche euch einen guten Rutsch ins neue Jahr!
Siggi
-
Hallo Götz,
danke für deine Antwort!
In der Anlage von Neo (StartKFZ-verzögert .mbp) funktioniert der Ablauf, ist dort irgend etwas anders?local t = layout:getEntitiesByKeyword("AutoStart") for i, Wdh in ipairs(t) do $("Fahrzeug starten"):invoke(Wdh, i) end
Zum Verständnis für mich: <for i> nimmt den ersten Eintrag in der Tabelle <t>, führt das Benutzer definierte Ereignis <Fahrzeuge starten> aus und nimmt dann den nächsten Eintrag aus <t>.Gruß Siggi
-
Hallo zusammen,
ich hänge mich mal an.
Ich versuche gerade eine Gruppe von Feuerwehrleuten (5) nacheinander sichtbar zu machen (die Reihenfolge ist unwichtig).
Nach einigen Versuchen bin ich auf diesen Foreneintrag gestoßen, bekomme es aber nicht gelöst. Ich habe je Feuerwehrmann 3 Sek. Verzögerung eingestellt. Aber sie werden immer alle gleichzeitig sichtbar (nach Ablauf der 5x3 Sekunden). Abschnitt 1 im Dialogprotokoll erscheint sofort nach Betätigen der Taste, Abschnitt 2 nach den Besagten 5x3 Sekunden.
Ich habe den Versuch mal angehängt.Gruß
Siggi -
Danke für eure Antworten,
im aktuellen Fall habe ich es nach dem ersten Vorschlag von Götz gelöst.
vor 13 Stunden schrieb Goetz:Du könntest beispielsweise für alle Fälle ein und dasselbe Ereignis verwenden und in der Klammer (hinter invoke) ein Argument übergeben, anhand dessen du im Ereignis unterscheidest, welchen Weg du einschlagen willst.
vor 6 Minuten schrieb Goetz:Tabellen sind der Schlüssel zu Lua.
Ich habe auch schon viel mit Tabellen gelöst, nur noch nicht Ereignisse in Tabellen das werde ich dann als nächsten lernen.
Euch noch schöne Feiertage.
Siggi
-
vor 10 Stunden schrieb Goetz:
Kannst du bitte mal beschreiben, worauf du letztlich aus bist? Vielleicht gibt es einen eleganteren Weg als den Ereignisnamen per Variable zu übergeben.
Guten Morgen Götz,
danke für deine Antwort!
Ich habe 3 Gleise im Bahnhof und für jedes Gleis die Aktionen zur Abfahrt des Zuges in ein Benutzerdefiniertes Ereignis gepackt (Weichen, Signal stellen, Variablen belegen..). In bestimmten Situationen wird nun ein entsprechendes Gleis freigegeben. Ich dachte, es gibt in Lua eine Methode, ähnlich wie für die Objekte, auch für Ereignisse.
Die Übergabe über das Argument <Voke> kenne ich auch, nur dann müsste ich wieder im Ereignis über <if then> die Wege trennen und das wollte ich vermeiden. Leider gibt es in Lua nicht die <select case> Methode.
Aber jetzt feiern wir erst mal Weihnachten!
Die und deiner Familie besinnliches Feiertage.
Siggi -
Hallo, noch eine Frage vor den Festtagen:
Wie spreche ich eine Benutzerdefiniertes Ereignis mit einer Variablen an? Wie das mit einem Objekt geht weiß ich inzwischen.-- Objekt mit einer Variable ansprechen local i = 1 local objWeiche = layout:getEntityByName("Weiche "..i) objWeiche.state = 1 -- Benutzerdefiniertes Ereignis mit einer Variable auslösen ?? $("BD Ausfahrt Gleis 1"):invoke()
Ich möchte den Bezeichner "BD Ausfahrt Gleis 1" in Zeile 8 durch eine Variable ersetzen.
Gruß Siggi -
-
Hallo,
stehe mal wieder auf dem Schlauch, obwohl icj mich seit ca. 2 Wochen mit Lua beschäftige, bekomme ich ein Problem nicht gelöst.
Wie spreche ich ein Tabelle über eine Variable an?
Hier mein Skript:
1 -- Deklaration 2 local tblFahrzTypen = $("Ereignisse").variables["FahrzeugTypen"] 3 local BahnListe = {} 4 local StrassenListe = {} 5 local LuftListe = {} 6 local WasserListe = {} 7 8 -- Tabelle auslesen 9 for index, Art in pairs(tblFahrzTypen) do 10 print(index) 11 local tblTemp = tblFahrzTypen [index] 12 for Typ, TypText in pairs(tblTemp) do 13 ListenName = (index.."Liste") 14 print(ListenName) 15 table.insert(ListenName, Typ.." - "..TypText) 16 end 17 end
Es geht um die Zeilen 13 und 15, in Zeile 13 wird der Tabellenname erzeugt (ListenName =..),
in Zeile 15 soll die Tabelle gefüllt werden.
In Zeile 15 erfolgt dann die Fehlermeldung "Table expected, got string".
Wie mach ich aus einen String einen Tabellennamen?Gruß und schönen Abend
Siggi
-
vor 5 Minuten schrieb Neo:
layout:getEntityByName(Gleisname).text = Ausgabetext
Danke Neo,
sobald mein MBS wieder stabil läuft werde ich es probieren, im Moment gehen alle durchgeführten Änderungen verloren, da ich nicht speichern kann.
Gruß Siggi -
vor 1 Minute schrieb Goetz:
Bitte, Siggi - pack deine Code Beispiele in den dafür vorgesehenen Kasten.
Du siehst doch bei anderen, wie viel lesbarer das ist?Der Knopf dafür ist dieser hier: <>
Danke für den Hinweis Goetz,
werde ich dran denken.
Ich musste den Scriptschnippsel von Hand schreiben, da mein MBS im Moment ständig abstürzt. Stefan Werner ist schon dran.
Gruß Siggi -
Hallo,
wie kann ich ein Objekt auf der Anlage per Variable ansprechen?
Ich habe auf der Anlage 3 Textfelder mit den Namen "txt-Gleis-1" bis "txt-Gleis-3".
In Lua möchte ich per Schleife den Namen mit Gleisname = "txt-Gleis-"..i ( i = Schleifenindex) ansprechen.Die normale Ausgabe sieht ja so aus:
1 local ZugName = "RE 1111“
2 local AusgabeText = ZugName
3 $("txt-Gleis-1").text = AusgabeTextNun dachte ich, den Objektbezeichner "txt-Gleis-1" in Zeile 3 einfach durch eine Variable zu ersetzen
1 for i 1,3 do
2 local ZugName = "RE 1111“
3 local AusgabeText = ZugName
4 local GleisName = "txt-Gleis-" .. i
5 (GleisName).text = AusgabeText
6 endFalsch gedacht: Die Ausgabe erfolgt nicht. Ich habe in den Lua Beschreibungen leider nichts passendes gefunden.
Entwerder liegt mein Fehler in Zeile 4 oder an der Syntax in Zeile 5LG Siggi
-
Hallo Götz,
danke für deine Arbeit. Ich habe das Script für meine Zwecke noch etwas modifiziert. So habe ich Loks und Wagen in getrennte Tabellen geschrieben, für den Fall, dass mehr als eine Lok auf dem Gleis steht. Die Textausgabe habe ich so gestaltet, dass der Text immer oben im Anzeigefeld beginnt (bei mehr als 12 Zeilen müsste man das Textfeld natürlich vergrößern, leider kann man Text im Textfeld ja nicht scrollen).
In der Anlage mein derzeitiger Stand des Versuchs. Heute einiges über Lua gelernt.
Gruß Siggi -
Hallo Götz,
vor 7 Minuten schrieb Goetz:möglicherweise durch Einrückungen in deinem Code?
Im mehrzeiligen String dürfen die natürlich nicht stehen, weil Lua sie dort nicht als Einrückungen, sondern als Teil des Textes versteht.Nichts eingerückt!
local TextMuster = [[
Zug: %s
%sLoks: %d
Wagen: %d
Gesamt: %d
]]local AusgabeText = string.format(TextMuster, ZugName, ZugElemente, Loks, Wagen, Loks+Wagen)
$("GBS_txt-Gleisbelegung").text = AusgabeText
vor 8 Minuten schrieb Goetz:Der Name eines Objekts ist eine Eigenschaft namens "name". Und der Inhalt dieser Variablen ist ein String.
-- Variablen vorbelegen
local tbl = layout:getVehiclesOn(Gleis)
Local Wagen = 0 .........Wenn ich die Variable "Gleis" (Als Parameter(Objekt) von der Taste übergeben) aus dem Script ausgeben will, bleibt die Anzeige leer. (Nicht wirklich schlimm, ich werde studieren und forschen.
vor 15 Minuten schrieb Goetz:Das ist die Reihenfolge, in der das Modellbahn Studio die Fahrzeuge auf dem Gleis liefert.
OK! Wieder was dazugelernt!
vor 16 Minuten schrieb Goetz:Viel lieber hätte ich gelesen, dass du sie studiert und verstanden hast.
😊Hab ich!!Um die Vorschläge zu verstehen, kopiere ich sie nicht einfach sondern schreibe sie selber neu.
Ich werde auch nicht immer warten bis ich eine Antwort aus dem Forum bekomme, zwischenzeitlich forsche und probiere ich selber! 😉Viele Grüße
Siggi -
vor einer Stunde schrieb Goetz:
Hallo Siggi,
Dann möchte ich dir gerne noch eine (bessere) Alternative anbieten.
Du kannst Strings in Lua erstens mehrzeilig anlegen und zweitens mit Platzhaltern (für Namen, Nummern etc.) versehen.
Der Befehl string.format() setzt dann der Reihe nach die Daten dort ein, wo die Platzhalter stehen.Ein mehrzeiliger String wird in doppelte eckige Klammern anstelle der Anführungszeichen eingebettet.
Platzhalter markiert man mit einem vorangestellten % Zeichen. Der nachfolgende Buchstabe deklariert dann den Typen, der hier eingesetzt werden soll.
%s ist der Platzhalter für einen String, %d ist der Platzhalter für eine Ganzzahl.local TextMuster = [[ Zug: %s %s Loks: %d Wagen: %d Gesamt: %d ]] local AusgabeText = string.format(TextMuster, Zugname, Zugteile, Loks, Wagen, Loks+Wagen) $("Versuchstext").text = AusgabeText
Wie du siehst, sind die Zeilenumbrüche hier einfach im Textmuster enthalten. Der Steuercode für eine neue Zeile entfällt damit.
Das wäre in Lua der "amtliche" Umgang mit Textbausteinen.Viele Grüße
GötzGuten Morgen Götz,
nochmal danke! Beide Varianten getestet und für gut befunden.
Und gleich kommen wieder Fragen auf:
1 - wo kommen die Blanks in Variante 2 her (sh. Foto)?
2 - kann ich auch Objektbezeichnungen in Lua in Strings umwandeln (zB. Gleis 2 in "Gleis 2")
3 - Wie man in der Textausgabe sieht, ist die Reihenfolge der Zugteile willkürlich. Kann man die Reihenfolge abfragen?
Am Anfang von Modellbaustudio wollte ich mich eigentlich nicht mit Lua befassen, aber irgendwann kommt man nicht daran vorbei.
Nachdem ich laufe meines Lebens einige Scriptsprachen erlernt habe (Informix, VB Script für Access, ASP, Visual Studio, Java Script) komme ich auch langsam in Lua rein, man muss nur immer wieder andere Syntax und Befehle aus dem Kopf bekommen.
Viele Grüße Siggi
Mein erstes Blender 3D Modell
in Modelle
Geschrieben
HaNNoveraNer danke für den Hinweis, ist korrigiert!