Jump to content

siggi

Mitglieder
  • Gesamte Inhalte

    103
  • Benutzer seit

  • Letzter Besuch

Beiträge erstellt von siggi

  1. 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

    Original.jpg

    Screenshot (422)_0000_Ebene 4.jpg

    Screenshot (422)_0001_Ebene 3.jpg

    Screenshot (422)_0002_Ebene 2.jpg

    Screenshot (422)_0003_Ebene 1.jpg

  2. 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

  3. 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 Sonntag

    Siggi

    Bild 1.jpg

    Bild 2.jpg

    Bild 3.jpg

    Bild 4.jpg

  4. 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

     

    Panel.jpg

  5. 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.
     

    3D-Viewer.jpg

    Blender_Layout.jpg

    Blender_UV_Editing.jpg

    Modelbahnstudio.jpg

  6. 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

     

  7. 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

    Screenshot.jpg

    Verzögern.mbp

  8. 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

     

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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 = AusgabeText

    Nun 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 end

    Falsch 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 5

     

    LG Siggi

  14. 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

    Belegungen.mbp

  15. 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
    %s

    Loks:   %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

     

     

  16. 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ötz

    Guten 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
     

    Belegung.jpg

×
×
  • Neu erstellen...