Jump to content

Versuche MBS-V5 von EASY


Empfohlene Beiträge

Hallo,

ich habe mich mal entschlossen für meine Versuche in MBS-V5 eine eigenes Thema zu erstellen, damit es etwas zusammen bleibt was ich so versuche.

Momentan beschäftige ich mich mit einer Kransteuerung... und so weit bin ich bis jetzt gekommen...
Kransteuerung03.thumb.jpg.bc4cb47b9b1c34e9c1f4990cc835add1.jpg

Kransteuerung03.mbp

@Neo ich kämpfe immer etwas mit der Zeit, die ein Kran braucht bis die Animation für crane.reset abgelaufen ist.
Manchmal würde ich gerne mit der nächsten Aktion warten, bis der Kran seine Grundposition erreicht hat... Ist dann so eine Spielerei mit einer Verzögerung setzen...

Wäre es möglich dem Kran noch ein Ereignis mit auf den Weg zu geben, wenn der reset (optisch) abgeschlossen ist
(Animation hat Ende erreicht [eigentlich ist es ja der Anfang aller Animationen])?

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

...wer mich kennt, weiß, dass ich so etwas gerne mache...
Gestaltungstest01.thumb.jpg.0ae0884755a54bb0d2e421a0a4c4ed04.jpg

... wie man es wieder Rückgängig macht, steht im Ereignis "Gleiskontakt wird ausgelöst" (... wenn die Bedingung nicht erfüllt ist...)

P.S. der kleine Schalter hat den psychologischen Effekt "soll ich oder soll ich doch lieber nicht".:P;)
(ist aber gedacht, dass wenn man dieses Prinzip nur einmal gestalterisch anwendet... dann mit unnötigen Variablen aufräumt wird...)

Gestaltungstest01.mbp

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Stunden schrieb EASY:

... mit den neuen Funktionen … geht das auch.

Feine Sache, Easy.

Sehr schlau, dass du die Geschwindigkeit zuerst von km/h in m/s umformst. Deshalb bekommst du vernünftige Werte für den Bremsweg, wo ich nur mit Fantasiezahlen hantiere. Den absoluten Wert brauchst du in diesem Fall zwar nicht, weil du den Wert anschließend eh quadrierst. Aber es schadet auch nicht.

Mit oder ohne math.abs() stoppt der Zug aber falsch, wenn du den Triebwagen vorne umkehrst und mit negativer Geschwindigkeit über den Kontakt fährst. Denn mit gedrehtem Triebwagen werden die Elemente des Zugverbands in umgekehrter Reihenfolge gelistet.

Zugliste.JPG.621690cf51b056808a73a114bbf29407.JPG

Mir ist das nur aufgefallen, weil ich testen wollte ob man auf math.abs() verzichten könnte oder nicht.

Deine Schleife zum Sammeln der Waggonlängen ist übrigens ein schönes Beispiel für die spezielle in ipairs() Funktion, die Lua anbietet.

for k, v in ipairs(g) do
  l[k] = v.length
  if v.name == "WagenHalt" then 
    hpos = k 
  end
end

k und v (für "key" und "value") bekommen den Index und den Inhalt einer Zelle.
Das k ist also dein i und v ist dein g[ i ]. Im Grunde ist es nur eine andere Schreibweise für dein for i = 1, #g do 

Interessanter wird es, wenn deine Tabelle namentliche Indexe enthält. Dann musst du das i von ipairs weglassen (weil es für iterator steht).
Mit k, v in pairs(Tabelle) do bekommst du die Namen und Inhalte aller Zellen paarweise. Und diese Wertepaare kannst du ohne in pairs nur sehr schwer auslesen. Drum lohnt es sich meines Erachtens, dieses in pairs bzw. in ipairs kennenzulernen.   

Gruß
Götz

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Am 28.7.2019 um 18:10 schrieb EASY:

Manchmal würde ich gerne mit der nächsten Aktion warten, bis der Kran seine Grundposition erreicht hat

hast du dafür ein konkretes Beispiel? Für den eigentlichen Warentransport hat die Grundposition keine Bedeutung, d.h. der Kran kann aus jeder Position heraus jede andere valide Position ansteuern, ein Reset ist dafür nicht notwendig (ein Reset dient eher dazu, eine aktuelle Operation abzubrechen).

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 12 Stunden schrieb Goetz:

Drum lohnt es sich meines Erachtens, dieses in pairs bzw. in ipairs kennenzulernen.

... immer gerne (auch) solche Hinweise:)... bin dabei noch auf  ".. i,v in next  .." gestoßen... auch interessant.

vor 12 Stunden schrieb Goetz:

Mit oder ohne math.abs() stoppt der Zug aber falsch, wenn du den Triebwagen vorne umkehrst und mit negativer Geschwindigkeit über den Kontakt fährst. Denn mit gedrehtem Triebwagen werden die Elemente des Zugverbands in umgekehrter Reihenfolge gelistet

... nun, auch so etwas läßt sich beheben... denn darin steckt auch eine entscheidende Information zum Auswerten...
Bremsversuch-variabel01.thumb.jpg.19553e8ccf1f32e9152bcd7e116eabce.jpg
... da man die Lok jetzt auch umdrehen kann und es nicht so ersichtlich ist, ist sie vorne markiert...

Bremsversuch-variabel01.mbp

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Minuten schrieb EASY:

auch so etwas läßt sich beheben...

Na klar kannst du das beheben - das hatte ich bei dir auch nicht anders erwartet.

Gute Idee mit der "vorne" Markierung. Ein weniger deutlicher, aber ebenso zuverlässiger Indikator ist die weiße Fensterscheibe vom Abort. 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Stunden schrieb EASY:

Hallo,

... immer gerne (auch) solche Hinweise:)... bin dabei noch auf  ".. i,v in next  .." gestoßen... auch interessant.

... nun, auch so etwas läßt sich beheben... denn darin steckt auch eine entscheidende Information zum Auswerten...
Bremsversuch-variabel01.thumb.jpg.19553e8ccf1f32e9152bcd7e116eabce.jpg
... da man die Lok jetzt auch umdrehen kann und es nicht so ersichtlich ist, ist sie vorne markiert...

Bremsversuch-variabel01.mbp

Gruß
EASY

 

Hallo Easy,

 

was mache ich falsch? Bei mir bleibt der Zug NIE stehen.

 

Gruß,

Michael

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb m.weber:

was mache ich falsch?

ist eine Frage, die ich liebe!

Denn all diejenigen, die diese Frage stellen beschreiben nie, was sie überhaupt machen.
Wie soll man da wissen, was davon vielleicht falsch war?
Wenn man doch nicht zusehen konnte, als sie etwas gemacht haben?

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb Goetz:

ist eine Frage, die ich liebe!

Denn all diejenigen, die diese Frage stellen beschreiben nie, was sie überhaupt machen.
Wie soll man da wissen, was davon vielleicht falsch war?
Wenn man doch nicht zusehen konnte, als sie etwas gemacht haben?

Ich lade "Bremsversuch-variabel01.mbp" in V5 und starte.. nicht mehr und nicht weniger :)

"Sie"? Seit wann das denn?

 

Gruß,

Michael

 

P.S. Steig mal vom Pferd ab :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Michael,

... wenn Du dem Zug von links nach rechts fahren läßt (der Lok im Eigenschaftsfeld eine Geschwindigkeit zuweisen), dann passiert nichts?
P.S. der Schalter ist nur zum Zurückfahren (rechts nach links) nach einem Fahrversuch... damit man dies nicht von Hand machen muß... für weitere Fahrversuche...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb m.weber:

"Sie"? Seit wann das denn?

Das "sie" war für die Mehrzahl, weil ich von allen sprach, die solch eine Frage stellen. Drum war es auch klein geschrieben.

Die entscheidende Info fehlt übrigens noch immer: was tust du, nachdem du die Anlage geladen und gestartet hast? Setzt du den Zug in Bewegung, indem du den Triebwagen auswählst und dann unten rechts den Geschwindigkeitsregler verschiebst? Denn das müsstest du bitte tun ...

Es tut mir leid, dass mein Hinweis falsch bei dir angekommen ist. Aber es ist wirklich so: Wenn du nicht detailliert beschreibst, welche Schritte du im Einzelnen durchgeführt hast, dann kann niemand wissen welchen Fehler du dabei gemacht hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Stunden schrieb EASY:

Hallo Michael,

... wenn Du dem Zug von links nach rechts fahren läßt (der Lok im Eigenschaftsfeld eine Geschwindigkeit zuweisen), dann passiert nichts?
P.S. der Schalter ist nur zum Zurückfahren (rechts nach links) nach einem Fahrversuch... damit man dies nicht von Hand machen muß... für weitere Fahrversuche...

Gruß
EASY

Hallo Easy,

das habe ich ja auch versucht. Der Zug fährt los, durch bis zum Ende des Gleises.

 

Und in der Version 2 zieht der Zug einsam seine Kreise, ich verstehe das nicht. Würd' davon ja ein Video machen, weiß aber nicht, wie das geht.

 

Gruß,

Michael

Bearbeitet von m.weber
.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Michael,

... wenn Du die Version 2 als Projekt aufrufst und dann zuerst das Ereignis Protokoll startest und dann der Lok die Geschwindigkeit 100 zuweist müßte im Ereignis Protokoll dann das bei rauskommen...
Protokoll-starten.thumb.jpg.44b8c34e154fcefbef804416ef38ebc9.jpg

... oder wie sieht das bei Dir aus?

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Michael,

... warum es auch nicht gehen könnte... hast Du die MBS-Version 5.0.3.0 ? (unter Menüpunkt "Hilfe" -> "Über 3D-Modellbahn Studio")?
Version.thumb.jpg.704a8514d3506b75ea5e62c12e1a6eb7.jpg

... mit darunter liegenden Versionen vom MBS-V5 geht es nicht...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Andy hat mich mit seiner "Triggertaster" auf die Idee gebracht mal zu versuchen ob man irgendwie auch eine Verzögerung beim Schalten hinbekommen könnte.
Ich weiß, es geht auch mit einer "verzögerten Aktion" (einfacher)... aber Ihr wisst ja... Standard ist nicht so mein DingB|

Ich habe dem Taster noch eine zweite Animation mit auf den Weg gegeben...
_AnimSwitch;0;1;NoAutoPlay;NoLoop -> die eigentliche Animation der Taste... sie ist nur in der .anim definiert und macht nichts!
Anzeig;2;26;NoAutoPlay;NoLoop -> die Animation läßt einen grünen Balken von links nach rechts laufen.

Meine Idee war nun, daß der Taster seine eigene Animation "Anzeig" aufruft und und ich diese auswerte. So entsteht eine Verzögerung um die Laufzeit der Animation...
... so startet und stoppt die Lok verzögert mit der Betätigung des Tasters.
P.S. der Triggerpunkt ist das Ende der Animation... wer also einen nervösen Klickfinger hat, bei dem passiert nicht viel...
Taster-Verz-002.thumb.jpg.dbe1cbde3575df59cd6f16d6dd95cce0.jpg

TasterVerzoegert01.mbp

P.S. der Taster ist unter 5BF29487-E5EC-4B67-9EA6-F48019C2FA00 als Entwurf hochgeladen...

p.PS. ... so etwas ist eine nette Abwechslung zum Quaternion:/... das leider nicht ganz so einfach im Umgang ist;)

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Neo

Am 30.7.2019 um 11:47 schrieb Neo:
Am 28.7.2019 um 18:10 schrieb EASY:

Manchmal würde ich gerne mit der nächsten Aktion warten, bis der Kran seine Grundposition erreicht hat

hast du dafür ein konkretes Beispiel? Für den eigentlichen Warentransport hat die Grundposition keine Bedeutung, d.h. der Kran kann aus jeder Position heraus jede andere valide Position ansteuern, ein Reset ist dafür nicht notwendig (ein Reset dient eher dazu, eine aktuelle Operation abzubrechen).

... da mußte ich erst noch etwas in mich gehen, wie ich Dir das erklären soll...

Funktional ist es ohne Bedeutung... für mich hat es mehr optische Gründe. Wenn z.B. Ein Güterzug beladen wird und das letzte Ladegut ist gesetzt, dann finde ich es einfach nicht "schön" wenn der Zug dann gleich losfährt. Ich lasse da gerne den Kran in seine Grundposition fahren und dann erst den Zug in Bewegung setzen... sieht einfach nicht so nach "schnell weg hier" / "gehetzt") aus. So ist der Reset für mich weniger ein Abbruch sondern ein Abschluß einer Operation.

Bei meinem letzten Versuch mit dem Taster ist mir ein weiteres Beispiel eingefallen, wo es durchaus Sinn machen könnte, wenn das Objekt das Ende der "Definitionsanimation" (die im Eigenschaftsfenster nicht als Animation gelistet werden)  melden würde... wenn eine Schranke die über _AnimBarrier / _AnimBarrierClosed melden würde "Animation fertig" wäre die Steuerung z.B. einer erlaubten Weiterfahrt (Schranke ist [ganz] oben) evtl. einfacher...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb EASY:

So ist der Reset für mich weniger ein Abbruch sondern ein Abschluß einer Operation.

Aber dann muss die Abfahrt des Zuges auch nicht an das Erreichen der Ausgangsposition gekoppelt sein. Ist es ja in der Realität auch nicht. Der Lokführer füllt noch ein paar Papiere aus, macht den Deckel auf seine Thermoskanne, wischt den Becher aus, bevor er ihn auf diesen Deckel stülpt, sammelt auf dem Smartphone die letzten drei Coins, die er sich mit einem "kostenlosen Onlinespiel" verdient hat, meldet dann über Funk, dass er bereit ist und kriegt von der Leitung die Erlaubnis zur Weiterfahrt. Das dauert alles in allem 10 Sekunden, egal ob der Kran schon früher die Startposition erreicht hat oder nicht.

Mit anderen Worten. Es wirkt lebendiger und glaubwürdiger, wenn nicht eins das nächste auslöst, sondern beide unabhängig (und vielleicht auch zeitlich etwas überlappend) stattfinden. Und mit dem neuen "Aktion verzögern" kannst du die Abfahrt des Zuges ganz fantastisch etwas hinauszögern, ohne Klimmzüge in der EV zu machen.

Im Filmschnitt ist der schlimmste Anfängerfehler der, dass Aktion an Aktion an Aktion geschnitten wird. Das wird steif und ergibt niemals eine flüssige Geschichte.

Bearbeitet von Goetz
Ergänzungen
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...