-
Gesamte Inhalte
3394 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von EASY
-
Hallo Max, eigentlich wollte ich für heute die Kiste abschalten... geht aber nicht bevor ich Dir meine Hochachtung zu diesem Modell ausgesprochen habe... Gruß EASY
-
Hallo, es hängt leider davon ab, welches YouTube Filmchen man gerade erwischt, was eine Bones-Animation erklärt. Die meisten beziehen sich darauf, dass das Modell aus nur einem Objekt besteht und das mesh von diesem Modell dann mit den Bones "verbogen" wird. Dies kann das MBS (noch) nicht darstellen. (Soll gerüchteweise in V6 kommen). Eine Bones-Animation kann allerdings auch mit einem Modell gemacht werden, das aus mehreren Objekten desteht. Wenn man diese Animation (für die einzelnen Objekte) dann backt, können die Bones wieder weg und das Modell läuft im MBS. Kleines Video zum Zeigen, wie es prinzipiell geht (nur das Backen ist nicht mit dabei) [Ab der Mitte des Filmes kommt die Animation] https://www.youtube.com/watch?v=vWjxdn1R0Ek Gruß EASY
-
Hallo Andy ... als Studienobjekt sehr interessant... ein gefiedertes Tier mit Flugeigenschaften(*)... mit Motor und Zahnrädern... @metallix ...(*) ich habe es extra so umschrieben, damit bei Dir die Phantasie nicht gleich wieder durchgeht.... (Vogel, Vögel, vögeln...) Gruß EASY
-
Hallo @Neo, Das ist ein gutes Beispiel, warum eine andere 3D-Engine oder der Vergleich mit anderen Spielen keine Lösung ist. ... dann muß ich noch ein "gutes" Beispiel bringen für eine Textur-Animation. So wie ich es verstehe, ist es eine Animation die die Textturkoordinaten in der Animation speichert. Ein klassisches Beispiel wäre eine Ampel (3 Kreisflächen in einem mesh) Texturzuordnung 1. Frame... Texturzuordnung 2. Frame... Texturzuordnung 3. Frame... Texturzuordnung 4. Frame... ... so bräuchte man das ganze mit den "Klappen", die die Farbscheiben abdecken nicht... ... aber aus der zwischenzeitlichen Antwort von maxwei muß ich wohl schließen, daß die Texturanimation beim glTF Export wohl nicht unterstütz wird... ... hat sich also schon erledigt, bevor ich geantwortet habe... abschicken tue ich es trotzdem mal noch... Gruß EASY
-
Hallo, ... die Achterbahn von maxwei hat mich dann doch neugierig gemacht, ob man Blender Physiks auch nehmen kann um Animationen zu erstellen. Da sich diese Animationen auch "backen" lassen, geht es auch prinzipiell fürs MBS (nur Keyframe Animation). Mein Versuchsaufbau sieht so aus... ... und so nach Ablauf der Animation... Wer interesse hat, kann sich das Ergebnis ansehen... unter DA230A47-329F-4BC2-BD45-8FE53159A300 ist das Modell als Entwurf hochgeladen... und wer es sich im Blender ansehen möchte... in der .zip ist das Blendermodell und einmal roh( mit Physiks Definitionen) und einmal mit gebackener Animation und eine kleine Textur... Versuche mit Physiks.zip (Hinweis: Dateien sind erstellt mit Blender 8.1 und gehen auch nur mit Blender 8.x) Anmerkung: ... die Parametrierung folgt etwas undurchsichtigen Gesetzen... und ich weiß nicht ob da überhaupt ein Physik-Studium helfen würde...) Gruß EASY
-
Hallo Axel, ... Deine Art Segel zu setzen hat technisch gesehen interessante Aspekte (...konnte ich mir nicht ganz verkneifen... aber die Idee an sich ist gut) Gruß EASY
-
Hallo Max, super gemacht... und noch ein extra für die Effekte in der Beleuchtung vom Schriftzug... (...nur 'mitfahren wollen' ist immer noch nicht [nicht einmal vorwärts...]) Gruß EASY
-
Hallo FeuerFighter , ... der "Regenbogen" ist ein toller Effekt (hast Du sehr schön ungesetzt)... ich verstehe nur nicht so ganz, was was dahintersteckt... ... darum muß ich mal ganz dumm fragen... ist das so (als Logo) oder ein Graffiti? Gruß EASY
-
Hallo Andy, ... habe ich mir auch schon mal angeschaut. Bisher verstehe ich es allerdings eher als eine Art "Verteiler" als wie Multithreading (man muß eine coroutine anhalten, damit die nächste weiter arbeiten kann)[?]... ...da ich momentan zu diesem Thema in Lua einiges an Möglichkeiten angesehen habe, mir allerdings dazu noch kein Plan eingefallen ist, lasse ich es erst einmal auf mich einwirken (festbeißen bringt nicht wirklich voran)... bis dahin... P.S. Lua kann man auch in der Pfeiffe rauchen... dann kommt man auf einem Lua-Trip... Gruß EASY
-
Hallo Frank, ... sorry, ich war diese Woche auf einem Lua-Trip und habe Deine skalierbaren Ladungen erst heute entdeckt... hat mir sofort gefallen, da es die Umsetzung einer Möglichkeit ist, die zwar existiert aber nicht so offensichtlich ist (so etwas gefällt mir besonders) und ich wollte auch etwas dazu schreiben, da mir spontan die eine oder andere Idee kam, was möglich wäre (aber hast Du ja schon umgesetzt)... also nicht gleich ein Paar Tage später schon motzen... gib einem Spätzünder wie mir eine Chance sich dazu zu äußern... Gruß EASY
-
Hallo, ich habe die Kommunikation über die Schnittstelle zwischen V4 und V5 mal rudimentär(!) hergestellt. Der Testaufbau sieht folgendermaßen aus: ... wird der Schalter im MBS-V4 auf "ein" gestellt fährt die Lok im MBS-V5 vorwärts und bei Schalter "aus" rückwärts. ... wird der Schalter im MBS-V5 auf "ein" gestellt fährt die Lok im MBS-V4 vorwärts und bei Schalter "aus" rückwärts. (den Testaufbau hier einzustellen erspare ich mir... beim Nachbau unbedingt auf die Namen achten!) Das Skript dazu ist auf das nötigste beschränkt... -- Kommunikation zwischen MBS-V4 und MBS-V5 local socket = require("socket") -- Biliothek "socket" aufrufen local tcp4e = socket.tcp() -- TCP Client erstellen (MBS-V4 Ereignisse) local tcp4c = socket.tcp() -- TCP Client erstellen (MBS-V4 Kommando) local tcp5e = socket.tcp() -- TCP Client erstellen (MBS-V5 Ereignisse) local tcp5c = socket.tcp() -- TCP Client erstellen (MBS-V5 Kommando) local ok,status,s4,s5 ok,status=tcp4e:connect("127.0.0.1", 31288) -- Client verbinden (MBS-V4 Ereignisse [Port im MBS-V4 auf 31288 gestellt]) if not ok then print("Verbindungsfehler V4: "..status) end ok,status=tcp4c:connect("127.0.0.1", 31287) -- Client verbinden (MBS-V4 Kommando [Port im MBS-V4 auf 31287 gestellt]) if not ok then print("Verbindungsfehler V4: "..status) end ok,status=tcp5e:connect("127.0.0.1", 31286) -- Client verbinden (MBS-V5 Ereignisse [Port 31286=Standardeinstellung]) if not ok then print("Verbindungsfehler V5: "..status) end ok,status=tcp5c:connect("127.0.0.1", 31285) -- Client verbinden (MBS-V5 Kommando [Port 31285=Standardeinstellung]) if not ok then print("Verbindungsfehler V5: "..status) end -- Achtung!!! ab hier Endlosschleife while true do tcp4e:settimeout(0.01,"b") -- Timeout für tcp4e ( bezogen auf tcp4e:receive()) tcp5e:settimeout(0.01,"b") -- Timeout für tcp5e ( bezogen auf tcp5e:receive()) s4,status= tcp4e:receive() -- tcp4e abfragen if s4~=nil then -- wurde etwas gesendet? local EventAnswerV4={} -- Antworttabelle = leer s4:gsub("[^;]+",function(c) table.insert(EventAnswerV4,c) end) -- Antworttabelle erstellen if EventAnswerV4[1]=="210" and EventAnswerV4[2]=="ReglerV5" then -- Event "210" (Steuerobjekt Wert geändert) und Namen abfragen local v5=(EventAnswerV4[3]-0.5)*200 -- Geschwindigkeit für Lok in MBS-V5 local ComV5=table.concat({"371","LokV5","0",v5},";").."\n" -- String zum Senden erzeugen (Lokgeschwindigkeit setzen) print(ComV5) ok,status=tcp5c:send(ComV5) -- Kommando zu MBS-V5 senden if not ok then -- Senden ok? print("Verbindungsfehler V5: "..status) end end end s5,status= tcp5e:receive() -- tcp5e abfragen if s5~=nil then -- wurde etwas gesendet? local EventAnswerV5={} -- Antworttabelle = leer s5:gsub("[^;]+",function(c) table.insert(EventAnswerV5,c) end) -- Antworttabelle erstellen if EventAnswerV5[1]=="210" and EventAnswerV5[2]=="ReglerV4" then -- Event "210" (Steuerobjekt Wert geändert) und Namen abfragen local v4=(EventAnswerV5[3]-0.5)*20 -- Geschwindigkeit für Lok in MBS-V4 local ComV4=table.concat({"371","LokV4","0",v4},";").."\n" -- String zum Senden erzeugen (Lokgeschwindigkeit setzen) print(ComV4) ok,status=tcp4c:send(ComV4) -- Kommando zu MBS-V4 senden if not ok then -- Senden ok? print("Verbindungsfehler V4: "..status) end end end end ... bräuchte es in Lua auch, da auch hier gewartet wird, bis etwas kommt. Ich habe dieses Problem "umgangen" indem ich dem "receive()" ein "timeout" mit auf den Weg gegeben habe. Bei mir sind es momentan 0,01 Sekunde. Ich habe es versuchsweise mal mit 0 Sekunden probiert... Lua kann den Rechner ganz schön belasten wenn es eine Enlosschleife fährt! Ich betrachte mein "Werk" mal als Pionierarbeit um zu zeigen, daß es prinzipiell geht... und frage mal neugierig nach, ob sich schon mal jemand mit Lua und Multithreading beschäftigt hat... Gruß EASY
-
Hallo, ... hätte als Reaktion auch gut gepasst ... bei so etwas bin ich immer gerne dabei... auch Neo war schon mal überrascht, was man mit seinem Programm (noch) so alles machen kann... ... ich habe ja darum gebeten. Andere Sichtweisen bringen immer etwas... und es ist ja nicht zwingend, daß man sie 1:1 übernimmt.... ... das "print()" ist momentan auch nur ein Platzhalter, damit überhaupt etwas passiert... in diesem Fall ist es eben zur Überprüfung der Richtigkeit besser die Ausgabetabelle als Einzelelemente auszugeben. Die Schnittstelle liefert alles in einem String zurück (wenn ich z.B. alle Objekte auslese, kann dieser ziemlich lang sein) und so kann ich überprüfen, ob der String für die weitere Bearbeitung richtig zerlegt wurde.... Gruß EASY
-
Hallo @BahnLand, ... es war sehr positiv gemeint... wenn Dir als unser EV-Spezialist eine ansteuertechnische Möglichkeit gefällt, dann muss es (vom Prinzip her) interessant sein... Gruß EASY
-
Hallo @Goetz, ... danke fürs drüberschauen und die Hinweise. ... da ich etwas aus der VB Ecke komme, definiere ich eigentlich gerne alle Variablen zum Anfang... ... und da habe ich schon in Zeile 6... local ok,status -- Verbindung ok, status liefert evtl Fehlermeldung ... mein Hintergedanke war eigentlich, daß sie innerhalb vom "Modul" lokal bleiben sollen, da sie bei ok,status=tcp:connect(host, port) -- Client verbinden und auch innerhalb der Funktion auftreten... oder habe ich da einen Denkfehler? @Andy... da neugierig...werde ich es mal ausprobieren... wobei sich mir noch nicht ganz erschließt, warum ich von V4 aus etwas in V5 ansteuern soll... (... kann auch daran liegen, daß mir ein "GBS" gerade nicht viel sagt [immer noch kein Anlagenbauer]... aber wenn es BahnLand gefällt... ist schon verdächtig Gruß EASY
-
Hallo, da mich mein Modell gerade ärgert, habe ich zum Frustabbau etwas Lua-iert... In Anlehnung wie ich es damals in VB gemacht habe, bin ich gerade dabei es etwas modularer aufzubauen. So sieht jetzt mein "MBS-Kommando senden" aus... -- Kommando über Schnittstelle senden local host, port = "127.0.0.1", 31285 -- IP und Port festlegen (31285=Kommandoport) local socket = require("socket") -- Biliothek "socket" aufrufen local tcp = socket.tcp() -- TCP Client erstellen local ok,status -- Verbindung ok, status liefert evtl Fehlermeldung ComAnswer={} -- Antworttabelle (global!) ok,status=tcp:connect(host, port) -- Client verbinden if ok == nil then -- Verbindung hergestellt?... print("Verbindungsfehler: "..status) -- ... wenn nicht Fehlermeldung + Programm beenden os.exit() end function SendCom (parameter) -- Funktion Kommando senden ComAnswer={} -- Antworttabelle leeren ok,status=tcp:send(parameter.."\n") -- Kommando senden if ok==nil then -- Verbindung fehlgeschlagen? ComAnswer[1]=status -- Fehlermeldung zwischenspeichern return false -- "false" zurückgeben end local s -- temp. Variable für Antwort s,status=tcp:receive() -- Antwort abfragen if status ~=nil then -- Verbindung fehlgeschlagen? ComAnswer[1]=status -- Fehlermeldung zwischenspeichern return false -- "false" zurückgeben end s:gsub("[^;]+",function(c) table.insert(ComAnswer,c) end) -- Antwort in Tabelle umwandeln; ";" als Trennungszeichen; "+"= ganzer Ausdruck if ComAnswer[1]=="0" then -- Antwort enthält Fehler (z.B. ungültiges Kommando) table.remove(ComAnswer,1) -- Fehlermeldung zwischenspeichern return false -- "false" zurückgeben end if #ComAnswer>1 then -- Anz. Elemente in Antworttabelle>1?... table.remove(ComAnswer,1) -- .. 1. Element löschen (1. Element = 1 oder 0 für gesendetes Kommando ist gültig?) return true -- "true" zurückgeben else ComAnswer[1]="Kein Rückgabeparameter oder leere Liste" -- Antwort hat keine weiteren Elemente (z.B. Kommando 51 [MBS-Animation ein/aus]) return true -- "true" zurückgeben end end ... und dies wäre dann ein einfaches Beispiel für das Hauptprogramm... require("MBS-Kommando senden") -- Datei "MBS-Kommando senden.lua" einbinden [Ohne Pfad = gleiches Verzeichnis!] if SendCom("100;2") then -- Kommando senden ohne Fehler?... ["100"-> Objektliste; "2" -> Rollmaterial] for i,v in ipairs(ComAnswer) do -- Antworttabelle ausgeben. print(i,v) end else print("Fehler: "..ComAnswer[1]) -- Im Fehlerfall: Meldung ausgeben end ... da ich in Lua in den Anfängen stecke, wenn jemand Verbesserungsvorschläge hat... gerne! Gruß EASY
-
Hallo, ... hat mich doch mal interessiert, ob es in Lua auch über die Schnittstelle geht... -- Kommando über Schnittstelle senden local host, port = "127.0.0.1", 31285 -- IP und Port festlegen (31285=Kommandoport) local socket = require("socket") -- Biliothek "socket" einbinden local tcp = socket.tcp() -- TCP Client erstellen tcp:connect(host, port); -- Client verbinden tcp:send("1\n") -- Kommando "1" senden = MBS-Versionsnummer tcp:send("20\n") -- Kommando "20" senden = ID der geöffneten Anlage tcp:send("21\n") -- Kommando "20" senden = Info über geöffnete Anlage while true do -- Auf Antwort warten local s, status = tcp:receive() -- Antwort und Status abfragen print(s) -- Antwort drucken if status == "closed" or status== "Socket is not connected" then -- Abbruchbedingung -> Client geschlossen oder nicht verbunden print(status) break end end tcp:close() -- Client schließen -- Ereignisse über Schnittstelle empfangen local host, port = "127.0.0.1", 31286 -- IP und Port festlegen (31286=Ereignisport) local socket = require("socket") -- Biliothek "socket" einbinden local tcp = socket.tcp() -- TCP Client erstellen tcp:connect(host, port); -- Client verbinden while true do -- Auf Antwort warten local s, status = tcp:receive() -- Antwort und Status abfragen print(s) -- Antwort drucken if status == "closed" or status== "Socket is not connected" then -- Abbruchbedingung -> Client geschlossen oder nicht verbunden print(status) break end end tcp:close() -- Client schließen Da das MBS nur über ein eigeschränkes Lua verfügt, geht es da nicht direkt... ich habe es im "ZeroBrane Studio" (gibt es auch als portable Version) ausprobiert... Anmerkung: Neugierig bin ich wegen dieser Antwort von Neo geworden, wobei Neo gleichzeitig schreibt: also sehe ich es mal als (temporäre) Möglichkeit um meinem Spieltrieb (gelegentlich) nachzukommen und mit Lua zu experimentieren... vielleicht hift es ja auch dann etwas in "einer zukünftigen Version"... Gruß EASY
-
Hallo SputniKK, ... gefällt! (trotzdem) ... Gruß EASY
-
Hallo, nun, die Debatte über Sketchup vs Blender wird wohl immer wieder aufkommen. Gibt es in diesem Forum und gab es schon im Forum zu EP Zeiten (EP = Eisenbahn Planer = der Vorläufer vom MBS) Ist schon etwas her, aber für mich war die Entscheidung für Sketchup damals eine Sache wenigen Stunden. Ich habe beide Programme (Sketchup und Blender) damals ausprobiert. In Sketchup hatte ich nach einer halben Stunde mein erstes Probemodell (einfaches Haus mit zwei Fenstern und einer Türe) fertig. In Blender habe ich nach 2 Stunden entnervt aufgegeben. Natürlich war es für mich einfacher mich in Sketchup zurechtzufinden, da ich beruflich mit einem CAD-Programm (SolidWorks) arbeite und Sketchup von der Bedienbarkeit und der Oberfläche näher (wenn auch weitaus primitiver) an das CAD-Programm angelehnt war. In Blender war ja nicht viel mit Bedienoberfläche und ohne Refferenzliste für die Tastenkombinationen war man als Anfänger einfach aufgeschmissen. Es ist meine persönliche Art Programme zu "testen" indem ich einfach mal schaue wie weit ich rein intuitiv mit der Oberfläche zurechtkomme um zumindest die Grundfunktionen ohne großes Nachlesen hinzubekommen. Wenn das gelingt hat das Programm bei mir eine Chance auf dem Rechner zu bleiben. Blender hatte damals keine! Also habe ich mit Sketchup angefangen und war damit einigermaßen erfolgreich im Erstellen von Modellen. Was ich an Funktionen in Sketchup vermisst habe, habe ich mir aus der Unzahl von Plugins für das Programm zusammengesucht und mir so mein eigenes Sketchup zusammengebastelt. Zufrieden war ich damit, bis ich eben auf das Problem der Animation gestoßen bin. Also habe ich Blender wieder ausgegraben und mich zumindest mit der Erstellung von Animationen beschäftigt. Das ging dann auch relativ schnell zu verstehen, da ist Blender wieder sehr einfach in der Bedienbarkeit. Ich muß schon sagen über Jahre bin ich dann einfach zweigleisig gefahren und habe in Sketchup das Modell erstellt und (gegebenenfalls) in Blender animiert. Schnittstelle für mich war damals das .3ds Format. Ich habe es damals nicht als "umständlich" empfunden, mit beiden Programmen an einem Modell zu arbeiten. Jedes hatte für sich seine Vorteile für mich und ich habe die Modelle so hinbekommen wie ich es wollte (Mittel zum Zweck!). Ein Knackpunkt für mich war, als es aufgekommen ist mit Multitexturen zu arbeiten. In Sketchup wurde es (nach meinem Empfinden) etwas schwieriger die Textur zu setzen. Also in Sketchup Modell bauen und in Blender die Textur setzen (was auch schnell zu erlernen war) und ggf. animieren. Für mich immer noch kein Problem mit 2 Programmen zu arbeiten. Es war besonders Franz, der nicht locker gelassen hat, mich zu Blender zu bringen. Es war eine intensive TeamViewer Sitzung und einige Telefonate... dann habe ich Blender verstanden. Seither arbeite ich nur noch mit Blender. Wie Ihr dem Text vielleicht entnehmen könnt, gibt es für mich nicht die "knallharte" Entscheidung für das eine oder andere. Ich habe mich herangetastet und mich mit beidem beschäftigt und jeweils das genutzt, was mir zweckmäßig für das Erreichen meines Zieles (funktionstüchtiges Modell) erschien. Zugegeben, es ist nicht jedermanns Sache so vorzugehen aber als Anregung sollte man sich im Vorfeld vielleicht zuerst überlegen, was man sich so vorstellt an Modellen bauen zu wollen... es gibt ebenso eine Vielzahl an Möglichkeiten für statische Modelle als auch an (etwas komplexer) animierter Modellen... Gruß EASY
-
Hallo @BahnLand , hallo @Reinhard ...danke für die Antworten. Ihr habt schon recht, es ist etwas zu "leuchtend"... ich habe mal experimentiert mit der Farbgebung... grün dunkler und Farbgebung "aus der Zeit"... ... persönlich tendiere ich (nun) mehr zum linken "rotbraun"... [es eignet sich wahrscheinlich auch für den noch zu bauenden "Omnibus"-Anhänger] ... na ja, wenn ich mir das violette Modell aus Deinem link so ansehe... (da das Bild kostenpflichtig ist... selbst nachsehen) Gruß EASY
-
Hallo, ich habe dem Modell soweit eine Textur verpasst. Irgendwie hat mir nur schwarz und grau nicht so richtig gefallen... so habe ich noch etwas farblich gestaltet. Ich frage mal nach Eurer Meinung ob es so gehen würde? ... oder andere Vorschläge... gerne! Gruß EASY
-
Hallo Michael, ... kann ich Dir geistig nicht ganz folgen was Dir das bringen soll bezüglich der Animation... ... oder möchtest Du dann die .dae z.B. in Blender inportieren, dort die Animation erstellen und als .glb exportieren? Gruß EASY
-
Hallo max, ... interessante Konstruktion... nur Probefahren würde ich da nicht unbedingst wollen... mir wird bei dem Versuch die Laufbahn zu verfolgen schon ganz anders... Gruß EASY
-
Hallo, ... zum Jahreswechsel gibt es noch die Auflösung... dieses Bild aus der Wikipedia hat es mir angetan... Robert William Thomson hat den "Road-Steamer" ca.1860 gebaut und als Besonderheit die Räder mit Gummi belegt. Auf dem Fahrzeug sind es Gummiplatten, die zu einer Endloskette durch Elemente miteinander vernietet waren. Beim Anhänger ist es ein (Voll-) Gummireif. Der Antrieb sind bei dieser Ausführung noch 2 stehende Zylinder hinten. Spätere Modelle hatten 2 liegende Zylinder seitlich in der Mitte. Die Antriebsräder sind nicht direkt angetrieben, sondern es erfolgte eine Übersetzung mit Zahnrädern. Interessant ist auch die Lenkung. Gelenkt wird über eine vertikal angeordnete Kurbel und einem Schneckengetriebe. ... soweit bin ich bisher (als Entwurf) gekommen... P.S. ... da es nicht geht, daß sich im MBS die Kurbel beim Einschlagen des Vorderrades mitdreht, habe ich (in Abwandlung) dem Schneckengetriebe ein Gehäuse verpasst... (... da ich in Blender noch nie versucht habe ein Schneckengetriebe zu bauen, ist dies natürlich auch ein netter Nebeneffekt es noch nicht zu müssen...) ... kommt gut in des neue Jahr und bleibt gesund und munter... Gruß EASY
-
- 1 Antwort
-
- 11
-
-
Hallo Wüstenfuchs, ... es ist ein Landfahrzeug... mit einem interssanten Detail, das der Erfinder sogar patentieren ließ. Er war nur leider seiner Zeit etwas voraus, so daß es sich zu seiner Zeit nicht so richtig durchgesetzt hat. Und ganau das ist das was ich gerne baue... etwas aus den Anfängen einer technischen Entwicklung... Gruß EASY