Alles zum Thema "Kupplung/Bounding Box"

  • Dieser Thread soll klären was die BoundingBox ist und welche Funktion sie hat.


    Die BoundingBox ist sozusagen ein Quader, in dem sich die Lok befindet. Er wird sichtbar, indem man die Tasten STRG und Plus (Nummerntastatur) gleichzeitig drückt.
    Die Maße der BoundingBox findet man in der SD-Datei, die sich im Trainset-Ordner zusammen mit der entsprechenden ENG- bzw. WAG-Datei befindet.
    In ihr steht folgender Eintrag:
    ESD_Bounding_Box ( -1.529 0.954 -10.964 1.521 5.440 11.186 )
    Die 6 Werte legen jeweils die Abmessung entlang der X-, Y- und Z-Achse fest.


    Die Breite wird durch den ersten und den vierten Wert definiert:
    ESD_Bounding_Box ( -1.529 0.954 -10.964 1.521 5.440 11.186 )
    Sie erstreckt sich von der Mitte des Gleises ausgehend nach rechts bzw. nach links. Das negative Vorzeichen kennzeichnet den Teil der Breite, der sich in Fahrtrichtung nach links erstreckt. In diesem Fall ist das Fahrzeug nach links 1.529 Meter breit und nach rechts 1.521 Meter; folglich insgesamt 3.05 Meter.


    Die Höhe wird durch den zweiten und den fünften Wert festgelegt:
    ESD_Bounding_Box ( -1.529 0.954 -10.964 1.521 5.440 11.186 )
    Vor allem der fünfte Wert ist hier ausschlaggebend, denn er legt die Oberkante des Quaders fest. Ein negatives Vorzeichen gibt es hier nicht, da sich beide Werte oberhalb des Bodens befinden. Ein negatives Vorzeichen würde in diesem Fall einen Wert unterhalb des Erdbodens bestimmen. Der zweite Wert hat im Spiel keinen Einfluss. Die BoundingBox wird immer vom Erdboden aus angezeigt.


    Die Länge wird durch den dritten und den sechsten Wert festgelegt:
    ESD_Bounding_Box ( -1.529 0.954 -10.964 1.521 5.440 11.186 )
    Sie erstreckt sich von der Mitte des Fahrzeugs ausgehend nach hinten (negatives Vorzeichen) und nach vorne.
    Diese Werte sind vor allem wichtig, wenn man nicht Kuppeln kann, denn die BoundingBox darf nicht grösser als das Shape (3 dimensionales Objekt) der Lok sein.


    Der MSTS benötigt die BoundingBox hauptsächlich um das Fahrzeug zu bewegen, denn das Programm erkennt es nicht als solches. Im Shape definiert man die animierten Objekte (z.B. die Achsen) und weitere Informationen hat der MSTS nicht. Prinzipiell werden programmtechnisch gesehen also Quader umhergeschoben.
    Man bemerkt dies deutlich, wenn man den BoundingBox-Eintrag aus einer SD-Datei entfernt. Man kann mit der Lok beschleunigen, aber sie kommt nicht von der Stelle, da das Programm die Box nicht erkennt und somit nichts vorwärts bewegen kann.
    Je schneller das Fahrzeug, also der Quader wird, desto schneller werden die Achsen animiert. Wie schnell das geschehen muss, gibt man in der ENG- bzw. WAG-Datei durch den Eintrag WheelRadius() vor. Je grösser die Räder desto langsamer die Animation.


    Die US Güterwagen haben aber, was die Kupplung betrifft, ein ganz anderes Aussehen als die europäischen Wagen, die Puffer an den Wagenenden besitzen.
    Wo legt man nun die Kupplung fest, wenn das Fahrzeug nur ein Quader ist?
    Dazu dient die BoundingBox. Sie sollte für den MSTS den Wagenkasten festlegen.
    Am besten sieht man es bei den amerikanischen Güterwagen.


    Die überstehenden Kupplungen werden dann durch r0 festgelegt. r0 wohl deswegen, da die Wagen diese Wegstrecke zur Verfügung haben, um während der Fahrt vor und zurück zu schaukeln.
    In der ENG- bzw. WAG-Datei gibt man bei Size() u.a. die Länge des Wagens an und innerhalb des Coupling()-Eintrages den Wert für r0. Dabei gilt
    Size() + R0(erster Wert) = Länge des Fahrzeuges
    Nicht irritieren lassen, man kann bei einem Fahrzeug zwei Kupplungen, also zwei r0()-Werte definieren. Ist nur ein Coupling()-Eintrag vorhanden, so existiert auch nur ein Wert für r0. Sobald diese beiden Werte grösser sind als das Shape des Fahrzeuges, dann ist im Stillstand zwischen den Puffern der Fahrzeuge etwas Luft.


    Die BoundingBox selbst hat ein etwas merkwürdiges Verhalten. Da sie einen Wagenkasten simulieren soll, muss sie eine harte Oberfläche darstellen.
    Man erkennt dies deutlich, wenn man an ein Fahrzeug mit zu langer BoundingBox ankuppeln möchte. Die zwei Zugverbände reagieren dann wie zwei gleichpolige Magnete und stossen sich gegenseitig ab. Ganz anders sieht die Sache jedoch innerhalb eines Zugverbandes aus. Wenn die BoundingBoxen zweier Fahrzeuge dort überlappen, wirken diese wie zwei unterschiedlich gepolte Magnete und ziehen sich gegenseitig an.
    Wenn man aber nun mit einem Wagen um eine Kurve muss, kommen sich die Innenseiten der BoundingBoxen der Fahrzeuge sehr Nahe. Es würde stören, wenn sie nun eine abstossende Kraft ausüben würden. Daher wirken innerhalb eines Zugverbandes keine abstossenden Kräfte.
    Man sieht dies deutlich bei engen Kurvenfahrten mit verbreiterten BoundingBoxen:



    Es wird allgemein empfohlen die BoundingBoxen zu verkürzen, wenn Fahrzeuge in engen Kurven stecken bleiben und nicht weiterkommen. Dies ist zwar hilfreich, packt das Problem aber nicht bei seiner Ursache an. Die Kupplungen sind vor allem verantwortlich, wenn es klemmt.


    Was ist nun die BoundingBox: fest oder durchlässig?
    Da ist sich der MSTS selbst nicht ganz logisch. Generell gilt, dass innerhalb eines Zugverbandes die BoundingBoxen durchlässig sind (siehe obige Bilder). Anderen Zugverbänden gegenüber sind sie jedoch fest.
    Dies zeigt ein Versuch mit verbreiterten BoundingBoxen bei zwei sich begegnenden Zugverbänden. Erwartungsgemäss kommt es zum Aufprall sobald die beiden Quader aneinanderstossen:


    Im obigen Beispiel waren es zwei unterschiedliche Loks, die aufeinander prallten. Im zweiten Versuch wurde nur die BoundingBox einer Lok verbreitert. Nun waren die Zuglok des einen Zugverbandes und die hintere Schublok des anderen zu breit. Es kam diesmal jedoch nicht zu einem Aufprall. Die BoundingBoxen identischer Fahrzeuge in unterschiedlichen Zugverbänden durchdringen sich:


    Dies war ein Test mit Loks, also ENGs. Wie verhält es sich nun mit Wagen?
    Nun fuhren zwei Güterzüge aufeinander zu. Das jeweils hintere Ende bestand aus den identischen Wagen mit verbreiterten BoundingBoxen. Auch hier durchdrangen sie sich. Bitte nicht durch die identisch aussehenden Dächer irritieren lassen.:


    Und wie sieht es nun mit anderen Streckenobjekten aus?
    Bei allen anderen Streckenobjekten sieht man keine BoundingBox, wenn man sie sich anzeigen lässt. Sie ist bei diesen Objekten scheinbar nicht von Bedeutung.
    Ein Versuch hat gezeigt, dass bei einer Fahrt mit verbreiterten BoundingBoxen diese alle Objekte am Fahrbahnrand durchdrangen. Als Beispiel hier mal ein Baum:


    Daher behaupte ich nun, dass die BoundingBox niemals an etwas hängen bleibt. Schliesslich hat eine Veränderung des zweiten Wertes, also die Unterkante des Quaders, keinen Einfluss. Egal ob man hier den Boden angibt oder 4 Meter in der Höhe. Die Box wird immer gleich angezeigt:

  • Hallo,


    ich hab folgendes Problem mit meinem ICE3: Die Kupplungsabstaände zwischen den Loks/Wagen sind ganz unterschiedlich - mal paßt ken Blatt Papier mehr dazwischen, bei anderen dagegen klafft sogar eine Lücke zwischen den Faltenbälgen !


    Welche Parameter in der eng/wag muß ich wie ändern ? Ich schätze mal irgendwas bei der Abteilung Buffers und Coupling, aber was und wie ?

  • Hallo Alexey


    Im Bild hab ich Dir mal die entscheidenden Daten in der eng/wag-Datei unterstrichen. Den ersten Punkt nicht ändern, das sind die Maße. Der zweite unterstrichene Eintrag muß mit dem Eintrag in der sd-Datei übereinstimmen. Hier kannst Du aber ansetzen, indem Du den letzten Wert (Länge) verringerst. In der sd entsprechend, nur sind hier die Maße von Modellmitte angegeben, d.h. Du mußt bei 10cm in der sd jeweils 5cm abziehen. Befriedigende Ergebnisse wirst Du nur mit probieren erreichen.


    [Blocked Image: http://th2.bilder-hochladen.tv/mcs2j5gL.jpg]


    In der dritten unterstrichenen Zeile solltest Du nur den Wert ändern, wenn die Wagen in engen Kurven oder Weichen anfangen zu schaukeln. Dann den ersten Wert, hier die 0,05m in kleinen Schritten erhöhen, bis Du ein vernünftiges Ergebnis erzielt hast.


    Vor der Änderung aber die Sicherungskopie nicht vergessen!


    Hoffe das hilft Dir.


    Gruß vom Freckel

  • Und noch ein Tip. Mit dem ShapeViewer kannst Du über Werkzeuge mit Punkt BoundingBox (calc) die Maße aus der eng/wag vom Punkt Size am Modell anzeigen lassen (roter Quader)
    und mit Bounding Box from SD die Maße vom eng/wag-Eintrag InertiaTensor (blauer Quader) Der rötliche Quader sollte mit den Umrissen des Modells übereinstimmen, wenn nicht dann anpassen (1. Wert vom Bild vorheriger Beitrag)


    [Blocked Image: http://th2.bilder-hochladen.tv/ghINqGX4.jpg]


    Der Wert "r0" + dem letzten Wert von "InertiaTensor" sollte gleich oder etwas größer dem letzten Wert von Size sein.


    Gruß vom Freckel

  • Hallo Freckel,


    vielen lieben Dank für Deine sehr fundierte und ausführliche Hilfe !


    In der Tat war die Größe der Wgen in den .eng/.wag-Dateien zumindest Teil des Problems. Obwohl alle 3D-Modelle eigentlich gleich lang sein sollten, waren hier unterschiedliche längenwerte eingetragen - ich hab das also zuerst bei allen Wagen vereinheitlicht und dann die Länge durch Anschauung im MSTS soweit angepaßt, bis der Kupplungsabstand akzeptabel war.


    Bounding Box - Der rötliche Quader sollte mit den Umrissen des Modells übereinstimmen, wenn nicht dann anpassen (1. Wert vom Bild vorheriger Beitrag)


    In einem australischen Tutorial habe ich gelesen, daß die BoundingBox die Puffer nicht mit einschließen sollte, weil es sonst zu unerwünschten Kollisionen der Wagen kommen kann, mit der Folge, daß sie entweder entgleisen oder sich in engen Kurven komisch aufschaukeln oder gegenseitig rausdrücken. Sprich, die BoundingBox sollte nur den Wagenkörper umfassen, die Puffer aber sollten hinten und vorne rausschauen.


    Was meinst Du dazu ? Ich habs jetzt einfach mal so gemacht, gab keine Probleme, aber auch keine sichtbaren Veränderungen (Kupplungsabstand).

  • Der Wert "r0" + dem letzten Wert von "InertiaTensor" sollte gleich oder etwas größer dem letzten Wert von Size sein.

    Der Tipp ist Gold wert. Die Australier schreiben nämlich, daß der InertiaTensor niedriger liegen sollte als die Size - hab ich gemacht, und der MSTS ist mir dann ständig abgestürzt. Jetzt weiß ich auch, warum ... also, InertiaTensor immer größer oder gleich Size ! :pinch:


    Nochmal zusammenfassend:


    Über die Korrektur der Wagenlängen in den eng/wag-Dateien konnte ich die Kupplungsabstände verbessern - es berühren sich jetzt keine der - vom 3D-Modell eigentlich identisch langen - ICE3-Wagen mehr, und es klaffen auch keine Lücken mehr dazwischen.


    Aber die Abstände sind immer noch verschieden lang - mal sind es ca. 40, mal 50, mal auch geschätzte 70 cm !
    Da sind die 3D-Modelle wohl irgendwie asymmetrisch auf der Z-Achse im Raum plaziert worden.


    Ich schätze, daß man das mit dem Shape File Manager ändern könnte. Muß ich mal ausprobieren. Vielleicht klappt es auch über die .sd-Dateien ?


    MfG,


    Alexey.

  • Hallo Allexey,
    da ich eigentlich nur DR fahre, kann ich mit ICE 3 nicht viel anfangen. Sind das die ICE- Züge von TTB die BR 411? Ich würde Dein Problem mal selbst nach stellen wollen, um eine Lösung zu finden.
    Aber mal noch fragen von mir: Hast Du die Probleme mit identischen Wagen oder sind es Unterschiedliche Wagen. Und was haben die einzelnen Wagen für Einträge bei "r0"? Gleiche Wagen sollten sich im Zug auch gleich verhalten was Abstände angeht. Abweichungen könnte es eventuell bei gedrehtem Einbau geben.
    Ein Hilfsmittel um zu sehen wie die BoundingBox im Zugverband aussieht: Beim fahren im TS "Strg" und "+" auf dem Numblock drücken. Da sieht man die "Problemkinder"
    Gruß Freckel


    Ach so "Zitat: Vielleicht klappt es auch über die .sd-Dateien ? " wenn Du die Länge in wag / eng Datei änderst, mach die Änderung auch in der sd Datei. Einfach mit dem Editor öffnen.

  • Nein, es ist der ICE3 von Stefan Pufler (ich arbeite gerade an einem Repaint zum chinesischen CRH380B/BL auf dieser Basis (genauer gesagt habe ich das Repaint von trainsimchina.com als Ausgangsbasis genommen, das ebenfalls Stefan Puflers ICE3 benutzt) - eigentlich ist es schon fertig, es fehlt nur noch das Feintuning der Kupplungsabstände und ein paar andere Details).


    Die Wagen sind unterschiedliche *.s-Dateien, die sich aber augenscheinlich nicht unterscheiden und auch sonst gleich lang, breit und hoch sein sollten - mit Ausnahme der Steuerwagen.


    Ich gucke mir jetzt gerade mal die eng und wag Dateien nochmal an -- hab soeben einen Unterschied bei zwei Wagen gefunden: bei einem steht


    " Coupling (
    Type ( Automatic )
    Spring (
    Stiffness ( 1e6N/m 5e6N/m )
    Damping ( 1e6N/m 1e6N/m )
    Break ( 5.1e7N 5.1e7N )
    r0 ( 20cm 30cm )
    ) "


    und beim anderen


    " Coupling (
    Type ( Automatic )
    Spring (
    Stiffness ( 2e7N/m 0 )
    Damping ( 0.2e7N/m/s 0 )
    Break ( 1e7N 0 )
    r0 ( 0.1 1e9 )
    )"


    Ich werde das jetzt mal vereinheitlichen, und dann melde ich mich nochmal. Hätte ich eigentlich früher bemerken sollen. Tut mir leid. :o

  • Also, die Abstände scheinen jetzt bei allen baugleichen Wagen identisch zu sein - zwischen Wagen mit verschiedenen Shapes gibt es noch minimale Unterschiede, aber die kann ich ja jetzt über die längeneinträge in den eng-/wag-/sd -Dateien ausgleichen. :)


    Wahrscheinlich haben die Chinesen da Mist gebaut. Stefan Pufler wurde auch nicht gefragt, bevor sie ihr CRH380-Repaint online stellten.

  • Hallo Leute


    hab heut mal ein neuerliches Problem mit der Trat 321.


    Ich bastel ja zurzeit am D378 "Metropol nach Zugbildungsplan A der DBAG gültig vom 28.9.97 bis 23.5.98


    Wir kommen zunächst als 8 teiliger Zug aus Richtung Bratislava (Aufgabe startet in Kuty um 23.00 Uhr) und fahren zunächst bis Breclav. In Breclav ist es so, dass hier 4 Kurswagen aus Wien Südbf hinzukommen. Also kuppeln wir die Spielerlok ab. Danach wird rangiert über das Bahnhofsareal um ans hintere Ende der Kurswagen zu setzen. Hier wollt ich aber mit einen Lokwechsel auf 2x Sergej machen die vorne drann hängen. Ich habe diesen Loks den M62 sound von trainsim.ru eingepflanzt.


    Wer nicht weiß, welcher Loktyp Sergej ist -> DR V200 "Taigatrommel"


    Nun bin ich mit der E-Lok an den 4 Wagen (z.Zt ein CNL WLAB von Marco M., sowie 3 Ösis von zsoltee) und darf auch abfahren um an den Zug zurück zu rangieren. Währenddessen gibt es auch KI Verkehr der prima rollt.


    Nun kuppeln die Kurswagen aber nicht an den Zug an. In die wag Dateien hab ich geguggt. Der erste Wagen (von Kuty kommend gesehen) hat als erste Kupplung Automatic und als 2. Kupplung Chain. Die Österreicher haben nur Chain.


    Was kann hier das Problem sein. Wer sich das genauer anguggen möchte, kann sich bei mir melden, dem schicke ich ne Materialliste und die Aufgabe im akt. Zustand


    grüße

  • Hallo Salo,
    Lösche den "automatic" Eintrag oder ändere auf "chain", vereinheitliche die Kupplungen in den wag/eng-Dateien, entweder Automatic oder Chain. Die beiden Kupplungstypen lassen sich untereinander nicht kuppeln. Andere Werte müssen normal nicht geändert werden.
    Grüße vom Freckel

  • Entweder das was Freckel gesagt hat, oder die bounding boxen stimmen nicht... dann wird es auch schwierig mit dem Ankuppeln.
    "Quick-and-dirty"-Abhilfe wäre (unter bin) vor dem Ankuppeln Strg+Num5 zu drücken. Dann sind die Kollisionen aus und das Ankuppeln klappt auch meistens wieder...

  • Hallo,


    man sollte bei allen Installationsvorgängen, wo man die Wahl hat zwischen r0 30cm und 80cm, 30cm auswählen.
    r0 ist der minimale Kupplungsabstand.
    Bei der Installation deutscher Fahrzeuge hat man diese Wahlmöglichkeit nicht.
    Dann sollte man sich ggf. selbst überzeugen, welche Werte nun bei dem Fahrzeug installiert wurden.


    Wenn es Probleme gibt, habt Ihr 2 Möglichkeiten.
    1. Wir nehmen uns einen vergleichbaren Wagen (gleiche Größe), wo wir wissen, daß das Kuppeln klappt, und kopieren die Boundingbox aus *.wag und *.sd.
    Das ist der einfache und schnelle Weg.


    Oder 2. Wir versuchen, anhand Michels Anleitung in Beitrag 1 dieses Themas das Problem wirklich zu verstehen, und ändern die Boundingbox selbst.
    Das ist die "hohe Schule", erfordert aber mehr Zeit. ;)


    Grüße Cris

  • Guten Abend, Johannes!


    Was Freckel mitteilt, ist das Allerwichtigtse: Die Kupplungstypen müssen identisch sein. Es ist mir bereits häufiger aufgefallen, dass bei manchem Rollmaterial der Eintrag "CouplingHasRigidConnection ( )" [in die Klammer setze ich immer die 1] fehlte und dadurch Probleme beim Ankuppeln oder gar Kupplungsbrüche erfolgten. Deswegen prüfe ich eigentlich :rolleyes: bei neu heruntergeladenen Fahrzeugen die Kupplungseinträge.


    Viel Erfolg und einen schönen Abend wünscht


    Meinhard

  • Guten Abend Meinhard,


    der Eintrag "CouplingHasRigidConnection ( 1 )" fehlt häufig bzw. enthält häufig nicht die 1.
    Dies führt u.U. zum Kupplungsbruch, wie Du richtig schreibst.


    Auf das Kuppeln hat das aber nicht den Einfluß wie Kupplungstyp und Boundingbox.


    Grüße Cris

  • Nach meinem Verständnis macht der Eintrag "CouplingHasRigidConnection ( 1 )" die Kupplung steif, damit kann zum einen das Aufschaukeln der Wagen verhindert werden, zum anderen sollen unbeabsichtigte Kupplungsbrüche verhindert werden. Auf das Kupplungsverhalten hat der Eintrag aber keinen Einfluß. Als erstes müssen unbedingt die Kupplungstypen gleich sein, ansonsten Kuppeln die Wagen/Loks im TS nicht miteinander! Mit Conbuilder kann man zwar einen Zugverband mit verschiedenen Kupplungstypen erstellen der dann im TS auch fahrbar ist, sobald man so eine Verbindung aber trennt, läßt der TS kein erneutes kuppeln zu.
    Wenn der Wagen zwei unterschiedliche Kupplungseinträge hat, so gilt der erste Eintrag für die Kupplung hinten, der zweite Eintrag für die vorn. Erst nach dem Ordnung in die Kupplungstypen gebracht wurde und die Wagen immer noch nicht kuppeln wollen, sollte man an den anderen Parametern rumschrauben. Wenn Caschis Trick hilft, ist vermutlich die BoundingBox zu groß. Die kann man im TS sichtbar machen durch drücken der Tasten Strg und "+" auf dem NumBlock. Geändert wird die BoundingBox in der sd-Datei. Die Werte die in Klammern hinter "ESD_Bounding_Box" stehen, geben an 1. und 4. Stelle die halbe Breite an, an 2. die untere Höhe (der Box!) über Schienenoberkante (kann ruhig auf 0.25 gesetzt werden) die 5. die Gesamthöhe und der 3. und 6. Wert steht je für die halbe Länge. Diese Werte können getrost um 0,5 gekürzt werden (so lang sind die Puffer)
    Mit r0 und Size wird dann der Pufferabstand eingestellt, für das Kuppelverhalten sind diese Werte nicht wichtig
    Der Freckel