Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

EASY

Mitglieder
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von EASY

  1. Hallo, Du kannst nicht verbundene Teilobjekte (in Deinem Fall das applied Array) eines Objekts... ... im Edit-Mode mit "P" -> "By loose Parts" auswählen... ... in Eineinzelobjekte auflösen lassen... Du kannst das Aussehen der Knochen eines Skeletts... ... hier unter "Ansichtsfenster-Anzeige" -> "Anzeigen als" ändern... ... z.B. Anzeigen als "einzelner Knochen" (und die Namen anzeigen lassen) Gruß EASY
  2. in V9 you can edit the name in the lower menu bar here... ... Eigenschaften / Properties... ... Position... Greetings EASY
  3. Hallo @Hawkeye , danke für die Erklärung. Eine interessante Aufgabenstellung. ... wäre schön, denn es würde sich auch gut dazu eignen Anfangssituationen (Startparameter, wenn eine Anlage anläuft) genauer zu erfassen... Gruß EASY
  4. Hallo, ... da ich neugierig bin, was möchtest Du mit der Information über den Abstand machen? ... es wird nur ein Übergabeparameter erwartet und ausgewertet, weitere Parameter werden einfach ignoriert. Gruß EASY
  5. Hallo, da mir das Ausfüllen der Fahrplan - Variablen etwas aufwendig erschien (viele Klicks für einen Eintrag) habe ich für die Vereinfachung der Eingabe eine Ereignisauswertung geschrieben, die den Fahrplan aus einem Textfeld ("TF Fahrplan") ausliest... (betätigen des Tasters "FP auslesen") P.S. die Modulvariable "Fahrplan" für den Fahrplan wird automatisch angelegt. -[[ - Fahrplan in ein Textfeld eintragen Formatierung Textzeile: HH:MM; Auflistung Fahrstraße(n mit , getrennt) z.B. 08:45; Fahrstraße 1 10:03; Fahrstraße 2, Fahrstraße 3 11:56; Fahrstraße 4 (Führende 0 in der Zeit kann auch weggelassen werden)) --* ={""} Einträge sind eine Liste (nicht ={} -> wird zu Tabelle! -> Adressierung über Name ["x"] ungünstig!) --* -> z.B.print($("Ereignisse").variables.Fahrplan[2]["2"][1]) --* [Liste][Tabelle][Liste] --* einfacher -> z.B.print($("Ereignisse").variables.Fahrplan[2][2][1]) --* [Liste][Liste][Liste] --** Fahrstraßen mit gleichem Namen werden einzeln aufgenommen --*** Schreibweise $("Ereignisse").variables.Fahrplan geht nur, wenn Name ohne Leerzeichen! --*** -> sonst z.B. $("Ereignisse").variables["Fahrplan 01"] --]] $("Ereignisse").variables.Fahrplan={""} --*** Liste anlegen (--*) local text = $("TF Fahrplan").text local lines = {} -- Zeilen text:gsub("[^\n]+",function(c) table.insert(lines,c) end) -- Text in Zeilen auflösen local zeit="" -- Abfahrtszeit local fs="" -- Fahrstraße(n) aus Text local n=0 -- Hilfsvariable local tf={} -- Hilfsliste Fahrstraßennamen local te={} -- Hilfsliste Fahrstraßen for i, line in ipairs(lines) do line:gsub("[^;]+",function(c) zeit=c end,1) -- Zeit extrahieren fs,n=line:gsub(zeit..";","") -- Zeit in Linie Löschen tf={} -- Hilfsliste leeren te={} -- Fahrstraßen extrahieren, Leerstellen vor dem Namen löschen fs:gsub("[^,]+",function(c,a,b) a,b=string.gsub(c, "^%s+", "") table.insert(tf,a) end) $("Ereignisse").variables.Fahrplan[i]={""} --* for i,v in ipairs(tf) do -- Liste Fahrstraßennamen umwandeln in... for k,w in ipairs(layout:getRoutesByName(v)) do --** Liste mit Fahrstraßen table.insert(te,w) end end $("Ereignisse").variables.Fahrplan[i][1]=zeit --*** Abfahrtszeit eintragen $("Ereignisse").variables.Fahrplan[i][2]=te --*** Fahrstraßen eintragen end... in dem Beispiel ist (zu Demonstrationszwecken) noch der Fall mit berücksichtigt, daß 2 Fahrstraßen den gleichen Namen haben. Zur prinzipiellen Funktionsweise hat sich sonst nichts gegenüber dem vorherigen Beispiel geändert. ... zum Ausprobieren und Spielen noch das Projekt... Zeitsteuerung 02b.mbp Gruß EASY
  6. Hallo @Neo, ich fände es praktisch, wenn bei der Vorschau "letzter Beitrag"... ... durch einen (Doppel-) Klick das Thema geöffnet und zum letzten Beitrag gesprungen würde. Gruß EASY
  7. Hallo, Prinzipiell brauchst Du ja nur, wenn der Schalter 'ein' geschaltet wird (alles anhalten) zuerst die aktuelle Geschwindigkeit in einer Objektvariablen im Fahrzeug speichern und die Geschwindigkeit dann auf 0 setzen. Wenn der Schalter auf 'aus' (alles weiterfahren) geschaltet wird, dann weist du den Fahrzeugen die Geschwindigkeit der Objektvariablen wieder zu. (für beides würde sich die Ist-Geschwindigkeit anbieten, da es sonst durch unterschiedliche Beschleunigungs- und Bremswerte zu "Verschiebungen" der Fahrzeuge beim Umschalten des Schalters geben könnte.) ... Du hast es ja schon vorbereitet, daß dies in einer Wiederholung (für alle Objekte mit dem Schlagwort "Verkehr") realisieren läßt. das beschreibt aber einen erweiterten Sachverhalt als die ursprüngliche Anfrage... ... vielleicht magst Du noch näher erklären, was Du mit dem Schalter bezwecken möchtest. Gruß EASY
  8. Hallo, Eine Diskussion über den optional einstellbaren "Dark Mode" finde ich höchst "interessant" . Die Option gegebenenfalls einfach nicht nutzen Gruß EASY
  9. Hallo, ... ich finde es ist die schnellste Möglichkeit (wenn man es "richtig" macht) Zuerst bei den Segmenten, die Du bearbeiten möchtest die Schlüsselbilder wie oben beschrieben, gegebenenfalls entsperren! Zuerst 01.008 und das Kind "Fenster" markieren und mit Shift+D kopieren und mit Enter bestätigen... ... so entsteht 01.011 mit dem Kind "Fenster"... die Kopie nicht bewegen... Das Segment, das ersetzt werden soll 01.006 markieren, den Cursor in die Zeitleiste setzen und die Schlüsselbilder mit Strg+C kopieren... (Wichtig! Die Schlüsselbilder müssen vor dem Kopieren als markiert erkennbar sein (alle gelb). Wenn sie weiß sind, sind sie nicht markiert -> mit "a" alle auf markiert setzen) ... das kopierte Segment 01.011 markieren und den Cursor wieder in die Zeitleiste setzen und die Schlüsselbilder mit Strg+V einfügen. (Wichtig! Die Schlüsselbilder müssen vor dem Einfügen als markiert erkennbar sein (alle gelb). ... 01.006 nun löschen... ... 01.011 umbenennen in 01.006... dann stimmt auch optisch wieder die Reihenfolge... ... für weitere "Fenstersegmente" ähnlich verfahren... Gruß EASY
  10. Hallo, Die Meldung sagt, daß die Schlüsselbilder für die Bearbeitung gesperrt sind. Beispiel an Segment 01.006 Dies sieht zwar auf den ersten Blick nicht so aus, da bei "Action Bake" das Schloß offen ist... ... wenn Du jedoch den Baum öffnest, dann siehst Du, daß alle Animationen gesperrt sind (Schlösser geschlossen)... Bei "Action Bake"einmal auf das Schloß klicken, so daß es geschlossen ist... ... dann noch einmal bei "Action Bake" auf das Schloß klicken, dies öffnet alle anderen Schlösser... ... und die Schlüsselbilder können bearbeitet werden. (... entsprechend für andere Segmente, die Du bearbeiten möchtest) Gruß EASY
  11. Hallo, ... ich habe ein Beispiel gebaut... Der Fahrplan ist folgendermaßen aufgebaut... ... der Fahrplan ist eine Liste... ... jedes Element ist wiederum eine Liste... ... das erste Element dieser Liste ist die Abfahrtszeit... ... das 2. Element dieser Liste sind die Fahrstraße(n) als Liste... ... mit einer Fahrstraße... ... mit zwei Fahrstraßen... Mit dem Ereignis "Zeitpunkt erreicht" -> "jede Minute" wird abgefragt, ob eine Fahrplanzeit erreicht wurde... ... das ganze ist in lua, da die grafische EV nur die Bedingung "Zeitpunkt überschritten" kennt und ich nicht weiß, wie man damit einen einen genauen Vergleich auf nur eine bestimmte Zeit machen kann... --[[ Ungenauigkeiten von Zeitsekunden eliminieren --]] $("Textfeld 1").text=layout.time for i,v in ipairs($("Ereignisse").variables.Fahrplan) do local t=toTime(v[1]) -- Abfahrtszeit if layout.time >= t and layout.time < (t+toTime("00:01")) then --* local text="" for k,w in ipairs(v[2]) do -- Fahrstraßen text=text .. w.name .. " aktiviert " .. tostring(layout.time).."\n" w.active=true end $("Textfeld 2").text=text end end Hier noch die Demoanlage... Zeitsteuerung 02a.mbp Da der Fahrplan zwischen 12:00 und 13:00 abläuft, kann mit dem Taster die Zeit auf 12:00 zurückgesetzt werden (Simulationszeit auf "Virtuell" auf 20 Minuten / 24 Stunden gesetzt) Gruß EASY
  12. Hallo @Hawkeye, noch ein kleiner Hinweis... "isHeadingToward" ist in seiner Reichweite beschränkt. Bei Reichweitenüberschreitung wird "false" zurückgegeben. Soweit ich mich erinnere sollten es 150m (1:1) sein. In der Praxis kann es allerdings ab 135m auch schon einmal kritisch werden. Gruß EASY
  13. Hallo, ... danke für das Lob, das ich jedoch (noch?) nicht verdient habe. Momentan bin ich nur ein "Meister der Korrektur", ... nach dem backen Gruß EASY
  14. Hallo @Thomas_103, anbei noch ein Rolltor ohne Hüpfen, Klappen, "richtige" Endposition, mit Dichtung und 3-mal langsamer... Rolltor 3b.zip ... in der .zip ist die .blend, .glb, .anim, .mbe und die Texturen. Gruß EASY
  15. Hallo, so ganz verstehen kann ich es noch nicht aber... ... wenn ich Deine Rolltror 3aa.glb ins MBS importiere, dann sind die Fenster durchsichtig... Wenn ich Deine Rolltor 3aa.blend in Blender 4.1 öffne und dann gleich als Rolltror 3aa.glb exportiere ind diese im MBS importiere... ... dann habe ich dieses Ergebnis... Wie gesagt eine logische Erklärung hierfür habe ich nicht aber zweifelsohne ist etwas anders Anmerkung: Persönlich würde ich nicht mit einer fenster_alpha.dds arbeiten, sondern die Transparenz direkt in die fenster.dds bringen... Gruß EASY
  16. Hallo, ... das Skript für diese Variante... --[[ * nicht erforderlich, wenn beim Anlegen der Objekte die Sichtbarkeit schon richtig gesetzt wurde! --]] if controller.state==0 then -- definierte Endbedingungen schaffen ! for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do h.visible=false end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do d.visible=true end else if not deferredCall then -- definierte Anfangsbedingungen schaffen ! * for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do --* h.visible=false --* end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do --* d.visible=true --* end -- defer(0.1,"vz1") -- Verzögerung bis zum 1. Umschalten in Sekunden elseif deferredCall=="vz1" then -- Sichtbarkeit umschalten local th=1.5 -- Zeit für Zustand "hell" in Sekunden local td=0.5 -- Zeit für Zustand "dunkel" in Sekunden local hell=layout:getEntitiesByKeyword("hell") for _,h in ipairs(hell) do h.visible= not h.visible end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do d.visible= not d.visible end if hell[1].visible then defer(th,"vz1") -- Schleife erzeugen für Zustand "hell" else defer(td,"vz1") -- Schleife erzeugen für Zustand "dunkel" end end end ... und das Projekt dazu.... 2025-07-12-Objekte blinken 02.mbp Gruß EASY
  17. Hallo, Ich habe ein kleines Beispiel gebastelt, ist allerdings in lua... ... da mit Schlagworten gearbeitet wird, spielt die Anzahl der Objekte keine Rolle... Das Ereignis, wenn der Schalter betätigt wird... --[[ * nicht erforderlich, wenn beim Anlegen der Objekte die Sichtbarkeit schon richtig gesetzt wurde! --]] if controller.state==0 then -- definierte Endbedingungen schaffen ! for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do h.visible=false end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do d.visible=true end else if not deferredCall then -- definierte Anfangsbedingungen schaffen ! * for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do --* h.visible=false --* end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do --* d.visible=true --* end -- defer(1,"vz1") elseif deferredCall=="vz1" then -- Sichtbarkeit umschalten for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do h.visible= not h.visible end for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do d.visible= not d.visible end defer(1,"vz1") -- Schleife erzeugen end end Noch das Projekt zum ausprobieren... 2025-07-12-Objekte blinken 01.mbp Gruß EASY
  18. EASY antwortete auf Klartexters Thema in Modelle
    Hallo, ... da die Häuser ja tatsächlich existieren, kann man ja mit z.B. der Satellitenansicht von Google Maps einfach mal einen Blick auf das Dach werfen... (... wenn man weiß wo...) Gruß EASY
  19. Hallo, ... kannst Du die .blend Datei und die beiden Texturen (Grundtextur und Emissive-Textur) in eine .zip Datei packen und hier mit einstellen, oder mir als PN schicken. Ich habe eine Vermutung war Dir noch fehlt und so könnte ich es Dir am Modell erklären. Gruß EASY
  20. EASY antwortete auf brk.schatzs Thema in Modelle
    Hallo, ... könnte passen... ... hier noch besser zu erkennen... Gruß EASY
  21. Hallo, The interiors are represented by textures of the window panes... Die Innenräume werden durch Texturen der Fensterscheiben dargestellt... EASY
  22. Hallo, ... in der .zip Datei "Blender Lichtkonfiguration" gibt es dazu auch eine .pdf (Blender MeshLight.pdf)... Gruß EASY
  23. Hallo Prinzipiell stimmt diese Aussage nicht ganz. Von der Definition her ist es eine Lichtquelle... allerdings mit zu kleinen Abmessungen und somit Reichweite ja, und du kannst jedes beliebige Objekt verwenden (da es nicht im Modell im MBS angezeigt wird und auch nicht zur Polygonzahl beiträgt) (oder das Blendereigene "Hinzufügen" -> "Licht" -> "Punkt") @Neo ... hier fehlt (vielleicht) noch der Hinweis, daß es ein Hilfsobjekt ist, das im MBS nicht angezeigt wird... Gruß EASY
  24. Hallo, Kennst du schon die .zip Datei "Blender Lichtkonfiguration" in der wiki Modellbau -> Grundbegriffe -> Lichter? Dort habe ich versucht die unterschiedlichen Konfigurationen für Lichter in Blender zu beschreiben. Das _PointLight Objekt ist ein virtuelles Objekt, das im Modell im MBS nicht angezeigt wird. Seine Abmessung in z-Richtung beschreibt den Durchmesser einer Kugel, die die Reichweite des Lichtes darstellt. Dabei ist allerdings zu beachten, daß die Lichtstärke mit dem Abstand vom Mittelpunkt abnimmt und an der Kugeloberfläche 0 ist. Ist deine Lichtquelle bei der Laterne z.B. 2,5 m über dem Boden, so muß das _PointLight Objekt in der z-Ausdehnung > 5m haben, damit der Lichtschein auf dem Boden sichtbar ist. Zu beachten ist, daß das _PointLight vom Mittelpunkt aus gesehen in alle Richtungen Licht abstrahlt. Es entspricht zwar nicht ganz deiner Konstruktion, aber vielleicht bist du für die Darstellung mit einem Spotlicht besser bedient. P.S. Für Versuche kannst du auch zuerst das Modell ohne Lichtquelle in das MBS bringen. Positioniere dann die "Lichtquelle" aus dem Katalog 40F62DD2-BC17-44C1-BF50-CC8CB7F9D5B0 an die Position der gewünschten Lichtquelle im Modell. In den Eigenschaften, kannst die dann die unterschiedliche Lichtquellen und deren Parameter auswählen und einstellen und deren Wirkung im MBS ausprobieren. Dann hast du für das Blendermodell schon einmal Anhaltspunkte für die Parameter das Lichtobjektes. Gruß EASY
  25. Hallo, Dein Beispiel ist zwar auch eine Lösung... ... die einfachere Lösung zum Merken ist allerdings diese... ... weiße Spitze nach außen. (Welche Lösung man wählt, hängt noch davon ab, ob und wie man die Objekte gegeneinander verdrehen möchte...) Gruß EASY

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.