EASY Geschrieben 12. August 2019 Autor Teilen Geschrieben 12. August 2019 Hallo, angeregt durch den "Zufallsgenerator" von Roter Brummer, hat es mich interessiert, wie man einen Tausch von Objekten unterschiedlicher Längen machen kann. Mein Ausgangspunkt ist ein Zug mit 5 Wagons, deren Reihenfolge ich tauschen wollte... ... bei den bisherigen Lösungen zum "Zufallsgenerator" wurde mit fixen Koordinaten gearbeitet, die getauscht wurden... bei unterschiedlich langen Objekten kann dies zu Überlappungen oder Lücken führen... ... also dachte ich mir, dass ich die Mittelpunktkoordinaten aus einer durchmischen Wagonreihe aus den Längen der einzelnen Wagons (ausgehend von der Position der Lok) herleite pos=$("L11").transformation.position l=$("L11").length/2 pos.x=pos.x-l for i=1,#ObjektListe do l=ObjektListe[t[i].pos].length/2 pos.x=pos.x-l ObjektListe[t[i].pos].transformation.position=pos pos.x=pos.x-l end und hatte dann dieses Ergebnis... ...so kamen mir erste Zweifel an der Methode... aber die Mathematik dahinter ist für so einen Irrtum zu einfach... ...der "T(r)ick" besteht darin, dass die Wagons immer noch auf den Gleisen stehen... wird ein kleiner Wagon gegen einen größeren getauscht, so drängelt er sich zwischenrein und da das MBS versucht eine Verbindung zur Reihe herzustellen, so wird der Zugverband vor und hinter dem Wagon verschoben... und bei groß gegen klein Tausch kann so eine Lücke entstehen...(...Lücke zu groß um einzurasten)... ... bevor ich die Wagons also neu setze müssen sie vom Gleis genommen... -- Wagons neben das Gleis setzen for i=1,#ObjektListe do pos=ObjektListe[i].transformation.position pos.y=pos.y+3 ObjektListe[i].transformation.position=pos end und wieder der Reihe nach auf das Gleis gesetzt werden...... da die Lok nicht verschoben wird, und als Referenz dient, muß für das Zurücksetzen die y-Koordinate nicht (zurück) korrigiert werden. ... dann geht es so, wie ich es mir vorgestellt habe... Wagen-Tauschen02.mbp P.S. Funktioniert nur, wenn der Zug in x-Richtung steht... ... aber dafür auch während der Zug fährt... Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Roter Brummer Geschrieben 12. August 2019 Teilen Geschrieben 12. August 2019 Hallo @EASY, fantastisch! Da stecken ungeahnte Möglichkeiten drin. Auch wenn ich von LUA so gut wie gar keine Ahnung habe, sehe ich einen Schattenbahnhof kommen, der aus einem einzigen Gleis besteht und immer neue Zugkompositionen auswirft. Das kriegt ihr hin, da bin ich sicher. HG Brummi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 12. August 2019 Teilen Geschrieben 12. August 2019 Das ist prima EASY! Da kann ich dann tatsächlich am Anfang ein Setup der Züge machen, was es mir ermöglicht, mehrere Szenarien aufzusetzen. Und damit ist auch ein Reset-Knöpfchen für den Anwender möglich. Wahrscheinlich kann ich mir dann sogar Daten-Snapshots machen, sodaß ich beim Testen nicht immer alles von Anfang an durchlaufen lassen muß. Damit wird die 'Filmgestaltung' um einiges einfacher. Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 12. August 2019 Teilen Geschrieben 12. August 2019 vor 26 Minuten schrieb Roter Brummer: sehe ich einen Schattenbahnhof kommen, der aus einem einzigen Gleis besteht und immer neue Zugkompositionen auswirft Ja Brummi. Die unbeteiligten Züge können ja in eine Vitrine außerhalb. Ganz ohne Kran Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tesla Geschrieben 13. August 2019 Teilen Geschrieben 13. August 2019 vor 12 Stunden schrieb EASY: ... dann geht es so, wie ich es mir vorgestellt habe... Wagen-Tauschen02.mbp P.S. Funktioniert nur, wenn der Zug in x-Richtung steht... ... aber dafür auch während der Zug fährt... Gruß EASY Hallo Easy, super gemacht... und wenn man aus dem geraden Gleis ein Oval macht, wird bei Betätigung des Schalters manchmal aus der ziehenden Lok eine schiebende Lok. Und wenn Du es noch hinbekommst, daß es auch in anderen Richtungen funktioniert... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 13. August 2019 Autor Teilen Geschrieben 13. August 2019 Hallo, danke für den Zuspruch. vor 23 Stunden schrieb Roter Brummer: sehe ich einen Schattenbahnhof kommen, der aus einem einzigen Gleis besteht und immer neue Zugkompositionen auswirft. ... den Schattenbahnhof hatte ich auch schon etwas im Hinterkopf. Da nicht sichtbar, bietet sich da natürlich immer die Gelegenheit Dinge zu tun, die man in der Öffentlichkeit nie tun würde... ... (natürlich aus rein technischer sicht)... Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 17. August 2019 Autor Teilen Geschrieben 17. August 2019 Hallo, ... was Neo hier beschreibt, hat mich doch etwas neugierig gemacht... Schritt für Schritt, erste Versuche zu Punkt 1... Zitat Ermittle die Fahrtrichtung der Lok als Vektor, in dem du (1, 0, 0) mit der Lok-Rotation (Quaternion) multiplizierst -> Transformation einer relativen Richtung in das Weltkoordinatensystem ... ergibt etwas erweitert die 3 Richtungsvektoren der Drehung aus dem Quaterion von "3D Zeiger". Wenn nun noch die Abstände im Modell vom Drehpunkt bekannt sind (Dimensionen in x,y,z), können die Richtungsvektoren entsprechend skaliert werden und die Koordinaten des Drehpunktes noch dazugerechnet ergibt die Koordinaten für vorne, hinten, links, recht, oben, unten... diese Koordinaten werden von "Markierung..." übernommen (laufender Timer)... ... wenn man bei "Timer läuft ab" aus... pos1={} pos1.x=y.x*l+lpos.x pos1.y=y.y*l+lpos.y pos1.z=y.z*l+lpos.z pos2={} pos2.x=-y.x*l+lpos.x pos2.y=-y.y*l+lpos.y pos2.z=-y.z*l+lpos.z ... dies macht... pos1={} pos1.x=x.x*l+lpos.x pos1.y=x.y*l+lpos.y pos1.z=x.z*l+lpos.z pos2={} pos2.x=-x.x*l+lpos.x pos2.y=-x.y*l+lpos.y pos2.z=-x.z*l+lpos.z ... folgen die beiden Markierungen den Spitzen von "3D Zeiger in x-Richtung"... Richtungsvektor-02.mbp P.S. den "3D Zeiger" gibt es als Entwurf unter 66659D78-7050-469C-89B9-511FA127357B Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 17. August 2019 Teilen Geschrieben 17. August 2019 Ich war schon kurz davor ein zusätzliches Objekt zu machen, dass man als 'Eigengizmo' ansehen könnte. Also einen Gizmo, der sich genau an dem Modell ausrichtet und nicht an Weltkoordinaten. Den könnten wir in vielen Fällen sehr gut gebrauchen. Aber wie steuern wir den? Wir haben keine Tastenereignisse. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 17. August 2019 Autor Teilen Geschrieben 17. August 2019 Hallo, Am 13.8.2019 um 09:42 schrieb m.weber: Und wenn Du es noch hinbekommst, daß es auch in anderen Richtungen funktioniert.. ... (fast) gut so? Wagen-Tauschen03.mbp Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 19. August 2019 Autor Teilen Geschrieben 19. August 2019 (bearbeitet) Hallo, ... da der Spieltrieb mit mir durchgegangen ist, wäre es auch was für die "virtuelle Spielwiese"... aber es sind immen noch meine ersten Versuche in MBS-V5. Einiges an Versuchen zusammengefasst, ist ein (kleiner) Schattenbahnhof dabei rausgekommen. Es stehen für einen Personenzug und einen Güterzug jeweils 10 Wagons und 2 Loks zur Verfügung. Es werden je Zug 4 bis 10 Wagons und eine Lok zufällig ausgewäht und auf die Strecke gebracht. P.S. Das Problem mit den in y-Richtung ausgerichteten Wagons hat eine Lösung gefunden. Es können also alle Wagons verwendet werden. Anmerkung: Wenn es denn mal möglich sein sollte, dass im MBS auch Arrays/Felder in Variablen zugelassen werden, (Lua kann sich keine Variablenänderungen beim Schließen des MBS-Projektes merken), sollte es auch möglich sein, die Auswahl an Wagons und Loks durch einfaches Ziehen aus dem Katalog individuell zu gestalten. P.S. Die gesamte Steuerung des Schattenbahnhofs beruht auf einer einzigen Ereignisdefinition... (... das 2. Ereignis ist Start-Stop). ... dass es ein etwas interaktiver Prozess war, sieht man etwas am Index ...(04) des Projektnamens... Schattenbahnhof04.mbp Gruß EASY Bearbeitet 19. August 2019 von EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
fmkberlin Geschrieben 19. August 2019 Teilen Geschrieben 19. August 2019 Hallo EASY, das eröffnet ja phantastische Möglichkeiten für die Anlagenbauer Viele Grüße fmkberlin Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 vor einer Stunde schrieb fmkberlin: das eröffnet ja phantastische Möglichkeiten für die Anlagenbauer ...kommt bloß nicht auf dumme Ideen, Blender 2.8 ist bestimmt auch hochinteressant Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Roter Brummer Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 Hall EASY, das ist ja unglaublich! Dieses sollt dann aber auch in die Kategorie Anlagenmodule. Kann ich den Fahrzeugpark auch erweitern, wenn ich die Einträge in GWPool, PWPool, LPPool und LGPool entsprechend abändere und erweitere? HG Brummi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
SualokinK Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 Hallo EASY, GENIAL . Schöne Grüße SputniKK Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tesla Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 Hallo Easy, Bahnhof, Koffer klauen, Zug ist weg.... Aber einfach SPITZENKLASSE!!! Gruß, Michael Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 20. August 2019 Autor Teilen Geschrieben 20. August 2019 Hallo, ... danke für den direkten und indirekten Zuspruch (klick)... ...bin dabei es noch ein wenig zu verfeinern, die Loklisten habe ich schon wegbekommen... ist die einfachere Übung, da es pro Zug nur eine gibt (... es kann nur eine geben... [Highlander (w)] und die anderen sind auf dem "Bereitstellgleis" und können so auch direkt aus dem Katalog gesetzt werden... bei den Wagons bin ich noch etwas am tüfteln... vor 8 Stunden schrieb Roter Brummer: Kann ich den Fahrzeugpark auch erweitern, wenn ich die Einträge in GWPool, PWPool, LPPool und LGPool entsprechend abändere und erweitere? ... mit der Version kann man GWPool, PWPool erweitern (Wagons)... LPPool und LGPool (Loks) kann man auch, aber es werden nur die erste 2 Einträge ausgewertet (die Gleislängen müssen dann evtl. angepasst werden... die Gleise müssen "am Stück" sein (beim Umkehren wird der Zug mit dem Gleis gedreht (sehr große Drehscheibe)... Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 Hallo EASY, ich habe in meiner Anlage inzwischen auch einige Tables drin, die mit $-Objekteinträgen gefüttert sind. Das ist praktisch das ROM. Eine Initialisierungsroutine klappert da am Anfang alle Einträge ab und versorgt die Objekte mit OV-Anfangswerten, u.a. auch mit Schlagworten. Die sind damit speicherbares RAM. Zusätzlich bekommen die Objekte noch einen rückverweisenden Index (den Tabellenindex) mit auf den Weg. Somit kann der Nutzer einfach Tabelleneinträge ändern, aber die Dinge bleiben stabil. Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 20. August 2019 Autor Teilen Geschrieben 20. August 2019 Hallo Andy, vor 48 Minuten schrieb Andy: ich habe in meiner Anlage inzwischen auch einige Tables drin, die mit $-Objekteinträgen gefüttert sind. ... und ganau das ist der Knackpunkt, die berühmten Anfangsbedingungen. Ich kann so schön Listen abfragen (...was steht am Anfang auf einem Gleis,... woraus besteht am Anfang ein Zug) aber ich kann diese Daten nicht wiklich festhalten. Im Projekt sowieso (es soll sich ja etwas ändern) und in Lua sind sie flüchtig... (Beenden des Projektes...) So habe ich 2 Möglichkeiten: 1) Ich weise den Objekten Eigenschaften zu, die ich dann abfrage um die Listen zu rekostruieren. 2) Ich stelle vor dem Beenden des Projektes den Anfangszustand wieder her. Du verfolgst 1) ich momentan verstärkt 2) wohl wissend, dass dies nicht die optimale Variante ist. Aber ich bin kein Freund von langen "$-Objekteiträgen", in dem Wissen, dass es auch einfacher gehen würde. (ich schreibe eine Liste (ab), die ich im Programm zwar abfragen kann, aber das Programm kann sie sich nicht merken, deshalb muss ich sie selbst schreiben). Wenn ich momentan im MBS eine Variable erstellen möchte, kommt eine ganze Liste welchen Typ von Variable ich erstellen möchte... fehlt ja nur noch die Auswahl "Feld/Array"...und da Neo schon mal angedeutet hat, dass auch dies angedacht ist, harre ich der Dinge und beschäftige mich "nur" prinzipiell mit dem, was im MBS-V5 so alles machbar ist... und entwickle es dann schrittweise (mit der Weiterentwicklung vom MBS) weiter... Da Neo nicht alle Wünsche erfüllen kann ("Feld/Array" hoffentlich schon) wird es wohl auch zukünftig (gelegentlich) "von hinten durch die Brust ins Auge" geben... wäre ja sonst auch nicht so spannend Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 20. August 2019 Teilen Geschrieben 20. August 2019 Richtig hart wird's, wenn man im virtuellen Tag/Nacht-Modus einen Film á la Koriander drehen will. Da braucht man nun erstmal einen reproduierbaren Ablauf und eine Grundposition, die als Anlage0 abgespeichert ist. Nun muß man immer erst mal schauen, wo denn nun in der nächsten Stunde die schönen Kamerapositionen sind. Also speichert man sich kurz vorher die Anlage ab und schaut erstmal. Dann lädt man wieder ein und positioniert die Kameras und die Aufrufsequenz der Kameras. Nun tackert man sich mit Stop+Go so durch die Stunde. Das kann man danach ruhig abspeichern, es ist dann nur die Frage: wie kommen Kameras und Sequenzen in die vorherigen Speicherstände, insbesondere Anlage0. Mit den Lua-Tables haben wir da wenigstens eine Chance. Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 21. August 2019 Autor Teilen Geschrieben 21. August 2019 Hallo, ...dies im Forum hat mich neugierig gemacht... einen Gleiskontakt an ein Zugende zu setzen ist prinzipiell schon möglich... die Zuglänge mit "layout:getVehicleGroupLength"... da von der Position der Lok ausgegangen werden muß und diese Koordinaten (meist) in der Lokmitte sind, muß noch 1/2 Loklänge abgezogen werden. "vehicle.length/2". Da ein Gleiskontakt für einen anderen Zug nicht "sichtbar" ist, wenn er von einem Zug überdeckt wird (wie es aussieht auch nicht im Grenzbereich)... noch ein kleiner Zuschlag... l=layout:getVehicleGroupLength($("Industri-Lok"))-$("Industri-Lok").length/2+0.15 Aus der Drehung der Lok kann man (dank Quaternion) einen Richtungsvektor ableiten und mit der ermittelten Länge skalieren... so funktioniert es in jeder Lage (solange sie Strecke gerade ist)... Gleiskontakt-setzen-01.mbp Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
SualokinK Geschrieben 22. August 2019 Teilen Geschrieben 22. August 2019 Hallo EASY, das ist ja SUPER. Damit kann man, wenn Mann denn das LUA-Script verstanden hat, davon bin ich aber noch meilenweit entfernt, an jeden beliebig langen Zug eine Lok ankoppeln lassen. . Einer der Script-Modul-Bauer wird dazu sicher noch das Passende bereitstellen, oder? Schöne Grüße SputniKK Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
h.w.stein-info Geschrieben 23. August 2019 Teilen Geschrieben 23. August 2019 Hallo Easy Am 10.08 hattest Du eine Verzögerung ( Schalter ) gezeigt . Ich wollte wissen ob es auch für sowas geeignet ist . Bekannt ist ja , das man ein Taster verknüpfen kann , auch deinen Schalter kann es - und nützlich ist es auch , wenn man in dem Fahrzeug ist ( Wartezeit ) . Tolle Idee von Dir ! Gefällt mir 100%ig . Viele Grüße HnS Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
EASY Geschrieben 25. August 2019 Autor Teilen Geschrieben 25. August 2019 Hallo, ... zwischendurch ein Versuch einer Schiebebühne auf die schnelle... ... die "Schiebebühne" ist ein Gleis als Weiche und wird je nach Weichenstellung verschoben. ... der Gleiskontakt behält seine Position in Schieberichtung, so steht er immer auf dem "Duchgangsgleis"... SB_01.mbp Gruß EASY Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 25. August 2019 Teilen Geschrieben 25. August 2019 Ja, hübsch! Geht dann auch mit Lift-Parkhäusern Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Neo Geschrieben 25. August 2019 Teilen Geschrieben 25. August 2019 Hallo EASY, vor 3 Stunden schrieb EASY: zwischendurch ein Versuch einer Schiebebühne auf die schnelle verfolgst du damit ein bestimmtes Ziel oder ist das nur Just-for-Fun? Schiebebühnen lassen sich ja sehr bequem durch animierte 3D-Modelle erstellen. Viele Grüße, Neo Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden