-
Gesamte Inhalte
7870 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von BahnLand
-
Hallo Michael, Der Fehler liegt in den AnimationKeys für die Türen "Stcock1A" und "Stcock1B" an der Position "044" (im obigen Bild gelb unterlegt und leider auch schon in meinem letzten Beitrag falsch angegeben ). Da müsste eigentlich "014" stehen! Dann reduziert sich nämlich die Zeitspanne für die Bewegung der Tür von aktuell 3 Sekunden auf die eigentlich beabsichtigte 1 Sekunde. Du hast übrigens in allen Deinen AnimatinKey-Defintionen einige Zustandszeilen mit dem falschen "Ende-Zeichen" (Semilkolon statt Komma oder umgekehrt) abgeschlossen (siehe rote Markierungen). Ich bin überrascht, dass die x-Datei trotzdem problemlos eingelesen werden konnte. Bitte beachte, dass der Abschluss ";;;" (3 Semikolons) nur in der jeweils letzten Zeile stehen darf und alle anderen Zeilen jeweils mit ";;," (Komma am Ende) abgeschlossen werden müssen. Diese Korrektur musst Du in allen AnimationKeys Deiner x-Datei durchführen. Viele Grüße BahnLand
-
Hallo Michael, als ich bei der Gruppe "Bodenplatte" die Koordinaten für die "Zwischenhalte" berechnet hatte, ging ich noch davon aus, dass alle Stockwerke im gleichen Abstand angeordnet sind. Dass dem nicht so ist, habe ich erst bei der Anwendung der obigen Benutzer-definierten Ereignisse auf Deinen Aufzugsturm festgestellt. Du musst also die Höhen für die Zwischenstockwerke neu berechnen (im Verhältnis der vertikalen Abstände der Türrahmen). Viele Grüße BahnLand
-
Hallo / Hello Douglas und / and Michael, I'm darned glad that I chose Blender..! Ich bin verdammt froh, dass ich mich für Blender entschieden habe..! Die obige Beschreibung von mir hat nichts mit der Verwendung von Blender oder Sketchup zu tun, sondern bezieht sich ausschließlich auf die Steuerung der im Modell vorhandenen Animation innerhalb der Ereignisverwaltung. Mt welchem 3D-Modellierungs-Programm das animierte Modell erstellt wurde, spielt hierbei keine Rolle. The above description of mine has nothing to do with the use of Blender or Sketchup, but refers exclusively to the control of the animation present in the model within the event management. It does not matter which 3D modeling program was used to create the animated model. Wie das im Ablauf aussieht, kann man sehr schön an dem Beispiel von Douglas A686F0DC-79E4-4070-9C9D-63ED62443624 sehen, wenn man sich während des Ablaufs der Animation die Positionsanzeige im Eigenschaftsfenater des Aufzug-Modells anschaut. Auf Deine x-Datei angewendet könnte Deine AnimationSet-Definiton folgende Aniations-Abschknitte enthalten: How this looks in the sequence can be seen very nicely in the example of Douglas A686F0DC-79E4-4070-9C9D-63ED62443624, if you look at the position display in the property window of the elevator model while the animation is running. Applied to your x-file, your AnimationSet definition could contain the following aniation sections: Die Gesamtanimation umfasst sowohl die Auf-Ab-Bewegung des Aufzugs mit Pausen in den einzelnen Stiockwerken als auch den Tür-Öffnungs- und Schließ-Mechanismus in den einzelnen Stockwerken. Hiernei habe ich für den Weg des Aufzugs zwischen 2 Stockwerken 2 Sekunden, für das Öffnen und schließen der Türen jeweils 1 Sekunde und für die Verweildauer des geöffneten Aufzugs jeweils 6 Sekunden vorgesehen. Daraus ergibt sich für einen vollständigen Zyklus zwischen den 4 Stockwerken eine Anmationsdauer von 60 Sekunden. Der Zyklus soll hierbei in der Mitte der geöffneten Zustands im Erdgeschoss beginnen und enden. The overall animation includes both the up-down movement of the elevator with pauses in the individual floors and the door opening and closing mechanism in the individual floors. Here I have provided 2 seconds for the travel of the elevator between 2 floors, 1 second each for the opening and closing of the doors and 6 seconds each for the dwell time of the opened elevator. This results in an animation time of 60 seconds for a complete cycle between the 4 floors. The cycle is to start and end in the middle of the open state on the first floor. Hieraus ergibt sich mit den Positionsdaten aus Deiner x-Datei die Auf-Ab-Animation des Aufzugs des im obigen Bild gezeigten AnimationKeys: Der Aufzug setzt sich im Erdgeschoss nach 4 Sekunden nach oben in Bewegung, um 2 Sekunden später im 1. Obergeschoss anzukommen und hier einen Halt von 8 Sekunden einzulegen. Es folgt die Fahrt in den 2. und 3. Stock, jeweils gefolgt von einer weiteren Pause von 8 Sekunden. Der Rückweg in Richtung Erdgeschoss erfolgt in der gleichen Weise. Der Zyklus endet 4 Sekunden nach der Ankunft im Erdgeschoss. This results with the position data from your x-file in the up-down animation of the elevator of the AnimationKey shown in the picture above: The elevator starts moving upwards after 4 seconds on the first floor, to arrive 2 seconds later on the 1st floor and to make a stop of 8 seconds here. This is followed by the trip to the 2nd and 3rd floors, each followed by another pause of 8 seconds. The return journey towards the first floor is made in the same way. The cycle ends 4 seconds after arrival at the first floor. Dieser Animationkey ist die "Richtschnur" für die Animationkeys der Aufzugstüren in den einzelnen Stockwerken: In jedem Stockwerk werden in der Pause, die der Aufzug dort einlegt, die Türen geöffnet (1 Sekunde), dann 6 Sekunden für den Ein- und Ausstieg offen gehalten und danach wieder geschlossen (1 Sekunde). In den anderen Bereichen des Animationszyklus bleiben die Türen geschlossen. Entsrechend der Aufenhaltszeit des Aufzugs in den einzelnen Stockwerken ergeben sich für die jeweiligen Türen folgende AnimatiionKey-Definitionen: This animation key is the "guideline" for the animation keys of the elevator doors on the individual floors: On each floor, during the pause that the elevator takes there, the doors are opened (1 second), then held open for 6 seconds for entry and exit, and then closed again (1 second). In the other areas of the animation cycle, the doors remain closed. Corresponding to the elevator's stay time on the individual floors, the following AnimatiionKey definitions result for the respective doors: Erdgeschoss / First floor 1. Obergeschoss / 1st upper floor 2. Obergeschoss / 2nd upper floor 3. Obergeschoss / 3rd upper floor Ich habe hier jeweils nur einen Türflügel betrachtet. Der andere Türflügel auf dem jeweils gleichen Stockwerk besitzt dasselbe zeitliche Verhalten. I have only considered one door leaf at a time. The other door leaf on the same floor has the same temporal behavior. Die anim-Datei reduziert sich bei dieser Lösung auf einen Eintrag, weil die Animationen für die Auf-Ab-Beweung des Aufzugs und das Öffnen und Schließen der Türen im selben Animationszyklus abgespielt werden: The anim file is reduced to one entry with this solution, because the animations for the up-down movement of the elevator and the opening and closing of the doors are played in the same animation cycle: Eventuell kann man hier auch gleich "Autoplay" und "Loop" einstellen. Dann braucht die Aufzugs-Animation nicht explizit gestartet zu werden. Maybe you can also set "Autoplay" and "Loop" here. Then the elevator animation does not need to be started explicitly. Der Nachteil dieser Animaton liegt darin, dass der Aufzug nicht individuell gesteuert werden kann, sondern immer denselben Ablauf über einen kompetten Zyklus wiedergibt, der dann bei Bedarf wiederholt werden kann. The disadvantage of this animaton is that the elevator cannot be controlled individually, but always reproduces the same sequence over a compact cycle, which can then be repeated as needed. Für die individuelle Steuerung des Aufzugs mit der von Dir in Deinem Modell realisierten AnimationSet-Definition eignet sich dagegen genau die Beschreibung aus meinem letzten Beitrag: Platziere Deinen Aufzugs-Turm in das oben beschriebene Anlagenbeispiel und füge in den beiden genannten Benutzer-definierten Ereignissen als Animation "Aufzug Hoch / Runter" ein und wähle als Objekt den "Fahrstuhl Transit" aus. Setze dann zuerst in das Sprungziel-Nummernfeld des roten Tasters "1" ein und verlagere den Aufzug mit der roten Taste nach oben (hierduch wird die für den grünen Taster benötigte Objektvariable "Position" eingerchtet und initialisiert). Anschließend kannst Du als "Ziel" rechts vom grünen Taster die Zahlen 0, 31, 64 und 100 eingeben, um den Aufzug das entsprechende Stockwerk 0, 1, 2 oder 3 ansteuern zu lassen (die Abstände zwischen den Stockwerken sind nicht gleichmäßig, weshalb die Abstände zwischen 0 und 100 nicht gedrittelt sind). For the individual control of the elevator with the AnimationSet definition you realized in your model, exactly the description from my last article is suitable: Place your elevator tower in the system example described above and add in the two mentioned user-defined events as animation "Elevator Up / Down" and select as object the "Elevator Transit". First enter "1" in the jump target number field of the red button and move the elevator upwards with the red button (this sets and initializes the object variable "Position" required for the green button). Afterwards you can enter the numbers 0, 31, 64 and 100 as "destination" to the right of the green button to let the elevator go to the corresponding floor 0, 1, 2 or 3 (the distances between the floors are not even, that's why the distances between 0 and 100 are not divided into thirds). Du darfst die beiden Bentzer-definierten Ereignisse gerne in Deine Anlage übernehmen, um Deine dort zu instalierenden Aufzüge enspechend zu steuern. You are welcome to use the two Bentzer-defined events in your system to control the elevators to be installed there accordingly. Viele Grüße / many greetings BahnLand
-
Hallo / Hello Michael und / and Douglas, bezüglich der Animations-Problematik der Aufzugsteuerung mit dem Anhalten der Animation in den Zwischen-Stockwerken habe ich etwas getüftelt und entsprechende Benutzer-definierte Ereignisdefinitionen gebaut. Da die Animation des Aufzugs zum großen Teil durch die Wand des Aufzugschachts verdeckt ist, habe ich für die Definition ein kleines Modell mit einer den Bereich 0 bis 100 umfassenden Skala entworfen, entlang dieser sich ein mit der Animation gesteuerter Pfeil bewegt. Regarding the animation problem of the elevator control with the stopping of the animation in the intermediate floors I have fiddled a bit and built corresponding user-defined event definitions. Since the animation of the elevator is largely hidden by the wall of the elevator shaft, I designed a small model for the definition with a scale covering the range 0 to 100, along which an arrow controlled by the animation moves. Das obige Bild zeigt eine kleine Demo-Anlage, bei der die Säule mit dem sich nach oben und unten bewegenden Pfeil von Tastern und Beschriftungsfeldern mit Zahlenwerten umgeben ist. Sowohl die Beispiel-Anlage als auch das darauf platzierte Beispiel-Modell sind im Online-Katalog als Entwürfe hinterlegt und können daher direkt getestet werden. The above picture shows a small demo layout where the column with the arrow moving up and down is surrounded by buttons and labeling fields with numerical values. Both the example layout and the example model placed on it are stored in the online catalog as drafts and can therefore be tested directly. Beispiel-Anlage / Example layout : 88526CF3-18A4-4A70-9CDF-7AF1CDE9F93E Beispiel-Modell / Example model : CFB94DD0-9772-4905-90B8-D2E191721BE4 Die Pfeil-Animation wird mit den beiden Tastern gesteuert, wobei mit dem grünen Taster links der Pfeil von einer vorgegebenen Startposition zu einer ebenfalls vorgegebenen Zielposition bewegt wird. Diese Positionen mit Werten zwischen 0 und 100 (jeweils einschließlich) werden in den mit "Start" und "Ziel" gekennzeichneten Beschriftungsfeldern hinterlegt und von dort beim Drücken des grünen Tasters eingelesen und in der Animation entsprechend eingesetzt. The arrow animation is controlled with the two buttons, whereby the green button on the left moves the arrow from a predefined start position to a likewise predefined target position. These positions with values between 0 and 100 (inclusive in each case) are stored in the label fields marked "Start" and "Ziel" (destination) and read in from there when the green button is pressed and used accordingly in the animation. Ist die Bewegung abgeschlossen, wird die Zielposition als neue "aktuelle" Position des Pfeils in einer dem animierten Modell (hier der Skalen-Säule) zugeordneten Objekt-Variable "Position" hinterlegt. Once the movement is complete, the target position is stored as the new "current" position of the arrow in an object variable "Position" assigned to the animated model (here the scale column). Enthält das Beschriftungsfeld für die Start-Position einen negativen Wert (im obigen Bild "-1"), wird beim Drücken des grünen Tasters der Wert dieser Objekt-Variable eingelesen, um die aktuelle Position des Pfeils zu bestimmen und als Start-Position für die zu vollziehende Pfeil-Bewegung zu verwenden. If the label field for the start position contains a negative value (in the above image "-1"), the value of this object variable is read in when the green button is pressed in order to determine the current position of the arrow and use it as the start position for the arrow movement to be executed. Das mit "Pause" bezeichnete Beschriftungsfeld wird weiter unten erklärt. The label field labeled "Pause" is explained below. Mit dem roten Taster rechts wird der Pfeil direkt mit einem Sprung dorthin an jene Position (ebenfalls im Bereich 0 bis 100) gesetzt, die in dem mit "Sprungziel" bezeichneten Beschriftungsfeld eingetragen ist. With the red button on the right, the arrow is set directly with a jump there to that position (also in the range 0 to 100), which is entered in the label field marked "Sprungziel" (Jump target). Durch Modifikation der Zahlen in diesen Beschriftungsfeldern können beliebige Bewegungen und Sprünge im Bereich der Skala durchgeführt werden. Die Beschriftungsfelder mit den Zahlen für die Positionswerte dürfen keine Leereichen und keine Zeilenvorschübe enthalten. Sonst kann die Zahl von der Ereignisverwaltung nicht korrekt erkannt werden. By modifying the numbers in these label fields, any movements and jumps in the range of the scale can be carried out. The label fields with the numbers for the position values must not contain any spaces or line feeds. Otherwise the number cannot be recognized correctly by the event management. Nach meinem aktuellen Kenntnisstand bietet die Ereignisverwaltung für die Steuerung von Animationen zwar die Ereignisse "Animation abspielen" und "Animation stoppen" an, aber nicht eine Abfrage-Möglichkeit des aktuellen Animations-Zustands (zur Formulierung einer Bedingeung) und auch nicht ein Ereignis, welche die Beendigung eines Animations-Ablaufs meldet. To my current knowledge, the event management for controlling animations offers the events "Play animation" and "Stop animation", but not a query possibility of the current animation state (for formulating a condition) and also not an event which reports the termination of an animation run. In den vorhandenen Ereignisdefinitionen können als Start-Position (Animation abspielen) und als Stopp-Position (Animation stoppen) nur Postionen "Anfang", "Aktuell" und "Ende", aber keine individuell festzulegenden Positionen spezifiziert werden. Das Ziel der Animationsbewegung (Animation abspielen) ist immer die Anfangsposition oder Endposition der Animation in Abhängigkeit von der eingestellten Bewegungsrichtung. Man kann also in der grafischen Ereignisverwaltung die Animationsbewegung nicht an einer explizit vorgegeben Zwischenposition enden lassen. In the existing event definitions only positions "Start", "Current" and "End" can be specified as start position (play animation) and as stop position (stop animation), but no individually definable positions. The target of the animation movement (play animation) is always the start position or end position of the animation depending on the set movement direction. It is therefore not possible to have the animation movement end at an explicitly specified intermediate position in the graphical event management. Um die Funktionalität der hier beschriebenen Beispiel-Anlagen realisieren zu können, muss man daher auf folgende in der Lua-Ebene zur Verfügung stehende Funktionen zugreifen: In order to realize the functionality of the example systems described here, one must therefore access the following functions available in the Lua layer: Die Funktionen "play" und "stop" sind die Abbilder der grafischen Aktionen "Animation abspielen" und "Animation stoppen", solange man bei ersterer die Parameter "min" und "max" nicht spezifiziert (min = max = -1, Voreinstellung min=0, max=1). Damit ist immer gewährleistet, dass die Steuerung der Animation im Eigenschaftsfenster des animierten Modells immer über die gesamte Animation hinweg möglich ist. Bei der Funktion "stop" fehlt in der grafischen Ereignisverwaltung die Möglichkeit, einen konkreten Wert zwischen 0 und 1 für die Stopp-Position anzugeben. The functions "play" and "stop" are the images of the graphical actions "play animation" and "stop animation", as long as you do not specify the parameters "min" and "max" for the former (min = max = -1, default min=0, max=1). This always ensures that control of the animation in the animated model's properties window is always possible throughout the entire animation. With the function "stop" the possibility is missing in the graphical event management to specify a concrete value between 0 and 1 for the stop position. Über die Parameter "min" und "max" schränkt man in der Funktion "play" den Bereich ein, auf welche die Animation eingeschränkt werden soll. Liegt der Wert des Parameters "position" außerhalb des Bereichs [min,max], springt die Animation zuerst zu dem nächstgelegenen "Grenzpunkt" min oder max, bevor von dort aus die Animationsbewegung in der vorgegebenen Richtung gestartet wird. Die Bewegung wird spätestens beim Erreichen des in der Bewegungsrichtung vorne liegenden Grenzpunkts gestoppt. Man kann also durch Festlegen von min als Startpunkt und max als Zielpunkt der Animation (oder umgekehrt in Abhängigkeit von der Bewegungsrichtung) erreichen, dass die Animationsbewegung einen individuell festgelegten Teilabschnitt innerhalb des gesamten Animationsbereichs [0,1] durchläuft. The parameters "min" and "max" are used in the "play" function to limit the range to which the animation is to be restricted. If the value of the parameter "position" lies outside the range [min,max], the animation jumps first to the nearest "border point" min or max, before the animation movement is started from there in the given direction. The movement will be stopped at the latest when reaching the front border point in the direction of movement. Thus, by defining min as the starting point and max as the target point of the animation (or vice versa depending on the direction of movement), it is possible to achieve that the animation movement passes through an individually defined subsection within the entire animation range [0,1]. Die Einschränkung auf diesen Bereich ist allerdings auch über diesen Animationsablauf hinaus weiterhin gültig, bis sie über einen erneuten Aufruf der Funktion "play" wieder korrigiert wird. Würde man also nach dem Abschluss diese Aufrufs der "play"-Funktion die Animation weiter über das Eigenschaftsfenster des Modells steuern wollen, wäre man auf diesen zuletzt eingestellten Bereich [min,max] innerhalb des Bereichs [0,1] der vollständigen Animation eingeschränkt. However, the restriction to this range is still valid beyond this animation sequence until it is corrected again via a renewed call of the "play" function. If you want to continue controlling the animation via the properties window of the model after this call of the "play" function, you would be restricted to this last set range [min,max] within the range [0,1] of the complete animation. Es ist daher notwendig, nach Beendigung des Animationsablaufs den "Navigationsbereich" für die Animationssteuerung über das Eigenschaftsfenster des animierten Modells wieder auf [min,max] = [0,1] zurückzusetzen. It is therefore necessary to reset the "Navigation area" for animation control via the properties window of the animated model to [min,max] = [0,1] after the animation process is finished. Das Benutzer-definierte Ereignis für die Animations-Bewegung enthält daher einen zusätzlichen "play"-Aufruf, mit dem die Einschränkung des Animationsbereichs wieder aufgehoben wird. Da hierdurch auch eine neue (nicht gewollte) Animationsbewegung gestartet wird, muss diese sofort wieder mittels der "stop"-Funktion angehalten und die Stopp-Position erneut auf den ursprünglichen Zielpunkt gesetzt werden. Da diese Aufrufe "sofort" ausgeführt werden, muss mit dem Start dieser "Korrektur" gewartet werden, bis die ursprüngliche Animationsbewegung abgeschossen ist. Deshalb wurde in den obigen Funktionsablauf eine Verzögerung eingebaut, deren Wert von der Dauer des beabsichtigten Bewegungsablaufs abhängt. The user-defined event for the animation movement therefore contains an additional "play" call, with which the restriction of the animation area is removed again. Since this also starts a new (unwanted) animation movement, it must be stopped again immediately using the "stop" function and the stop position must be set to the original target point again. Since these calls are executed "immediately", the start of this "correction" must wait until the original animation movement has been shot down. Therefore, a delay has been built into the above function sequence, the value of which depends on the duration of the intended motion sequence. Dieser wird über den Zahlenwert "Pause" (Anzahl Sekunden) definiert, der als Parameter des Aufrufs in der grafischen Ereignisdefinition mitgegeben wird. Und genau dieser Verzögerungswert kann vom Anwender der Beispielanlage über das Beschriftungsfeld mit der Bezeichnung "Pause" (im ersten Bild sind 5 Sekunden Verzögerung hinterlegt) vorgegeben werden. Ist dieser Wert kleiner als die tatsächliche Dauer des Bewegungsablaufs der ursprünglich gestarteten Animation, wird diese vorzeitig mit einem Sprung zum Zielpunkt abgebrochen. Deshalb ist stets darauf zu achten, dass die Pause immer die Dauer des tatsächlichen Animationsablaufs umfasst. This is defined via the numerical value "Pause" (number of seconds), which is given as a parameter of the call in the graphical event definition. And it is exactly this delay value that can be specified by the user of the example installation via the label field with the designation "Pause" (in the first image, 5 seconds of delay are stored). If this value is smaller than the actual duration of the motion sequence of the originally started animation, it will be prematurely aborted with a jump to the target point. Therefore, always make sure that the pause always includes the duration of the actual animation sequence. Der aus den Einstellungen in den Beschriftungsfeldern der Beispiel-Anlage abgeleitete Aufruf des im obigen Bild wiedergegebenen Benutzer-definierten Ereignisses ist im nachfolgenden Bild dargestellt. The call of the user-defined event reproduced in the above image, derived from the settings in the label fields of the example layout, is shown in the following image. Der Sprung zu einer bestimmten Position innerhalb der Animation, der über das Drücken des roten Tasters veranlasst wird, wird über die nachfolgend gezeigte Benutzer-definierte Ereignisdefinition realisiert: The jump to a specific position within the animation, which is initiated by pressing the red button, is realized via the user-defined event definition shown below: Dies ist exakt die Aufruffolge für die Korrektur aus der vorherigen Ereignisdefinition für den animierten Bewegungsablauf. Auch hierfür noch der zugehörige Aufruf in der grafischen Ereignisverwaltung: This is exactly the call sequence for the correction from the previous event definition for the animated motion sequence. Also for this still the associated call in the graphical event management: Um diese Ereignisdefinitionen auf Animationen anderer animierter Objekte anzuwenden, muss diesen eine Objektvariable "Position" hinzugefügt werden. Danach braucht man in den Aufrufen der Benutzer-definierten Ereignisdefinitionen nur noch die Parameter "Animation" und "Objekt" mit dem neuen Objekt und der darin zu steuernden Animation zu versorgen. To apply these event definitions to animations of other animated objects, an object variable "Position" must be added to them. After that, in the calls of the user-defined event definitions, one only needs to provide the parameters "Animation" and "Object" with the new object and the animation to be controlled in it. Und nun wünsche ich Euch viel Spaß beim Ausprobieren dieses Beispiels und der Übertragung von dessen Funktionalität auf die von Euch zu steuernden Objekte (z.B. auf Deinen Aufzug, Michael). And now I wish you a lot of fun trying out this example and transferring its functionality to the objects you want to control (e.g. your elevator, Michael). Viele Grüße / many greetings BahnLand
-
Hallo @Modellbahnspass, das kann ich so nicht bestätigen. https://www.google.com/maps/@48.1423039,11.5540727,61a,35y,150.76h,77.86t/data=!3m1!1e3 (Bild kann vergrößert werden) Sieht man einmal davon ab, dass die Detail-Wiedergabe von Google Maps qualitätsmäßig nicht mehr das ist, was sie vor Jahren einmal war (da wurden beispielsweise die Züge noch "sauber" ohne Artefakte dargestellt), kann ich immer noch zur 3D-Ansicht ... https://www.google.com/maps/@48.1348743,11.5823105,3a,84.4y,298.21h,90.41t/data=!3m6!1e1!3m4!1ssesKv68_iqLIT02BZ5Jblw!2e0!7i13312!8i6656 ... und - da, wo es angeboten wird - zu Street View wechseln. https://www.google.com/maps/@46.7698128,8.6741968,2175a,35y,219.38h,77.8t/data=!3m1!1e3 Selbst da, wo es keine 3D-Nahaufnamen aus der Vogelperspektive und kein Street-View gibt, lässt sich die Landschaft noch in 3D darstellen (hier das obere Reußtal zwischen Gurtnellen und Göschenen an der Gotthard-Nordrampe - alle Bilder gerade eben mit Google Maps abgegriffen). Viele Grüße BahnLand
-
Hallo @Sintbert, ich glaube, hier und hier liege ich richtig. Bitte baue die obere Strecke in Richtung Süden weiter! Wer noch weiter raten möchte, sollte sich diese Links lieber nicht anschauen! Übrigens besitzen der Bahnhof, den ich hier meine, und seine Umgebung sehr interessante Gleisführungen: Die obere 2-gleisige Strecke überquert alle 3 Gleise der unteren Ebene, von welchen sich die beiden Gleise rechts unterhalb des Bildausschnitts vereinigen. Auf den Gleisen der betrachteten Bahn herrscht Linksverkehr. Der Bahnhof im Hintergrund besitzt einen Hausbahnsteig und einen Inselbahnsteig, wobei der Hausbahnsteig auf der linken Seite nur vom linken Gleis der oberen Strecke erreicht wird. Das linke Gleis der unteren Ebene führt unter dem rechten Gleis der oberen Ebene hindurch zur linken Seite Inselbahnsteigs, die aus dieser Richtung von keinem anderen Gleis aus erreicht wird. Von der rechten Seite des Inselbahnsteigs aus starten die Züge in die Richtung zum Betrachter des Bildes, wobei sowohl des rechte Gleis der oberen 2-gleisigen Strecke als auch das Gleis ganz rechts in der unteren Ebene befahren werden können. Das mittlere untere Gleis verschwindet genauso wie das linke untere Gleis im Bereich des kurz vor dem Bahnhof zu unterquerenden oberen rechten Gleises im Untergrund, taucht aber im Gegensatz zum linken Gleis kurz dahinter nicht mehr auf. Die Lösung, wo das mittlere untere Gleis wieder ans Tageslicht tritt, findet man unter diesem Link (an die im obigen Bild sichtbare Einfahrt des Bahnhofs heran zoomen und dann dem dort auch unterirdisch angezeigten Gleis folgen). Schließlich sei noch auf ein berühmtes Viadukt hingewiesen, das von der oberen zweispurigen Strecke kurz nach dem Verlassen des obigen Bildausschnitts am unteren Bildrand erreicht wird. Viele Grüße BahnLand
-
Hallo Walter, zuerst einmal herzlichen Dank für den Anstrich Deiner Augsburger Tram im Reutlinger Farbkleid. Ich bin begeistert und freue mich schon auf die Variation im veröffentlichten MBS-Modell. Was die störenden Balken bei der zweiten Reutlinger Textur-Variante angeht, bin ich etwas ratlos. Denn wenn Du auf der Textur nur die Wagennummer und das Fahrziel geändert hast, sollte alles andere unverändert angezeigt werden. Probiere bitte einmal folgendes aus: Bisher hast Du die Multitextur im Sketchup-Modell ausgetauscht und dieses dann neu exportiert. Tausche nun einmal die Referenz auf die Texturdatei in Deiner originalen x-Datei für die Augsburger Tram aus. Material Multitextur1 { 0.7294117647058823;0.7372549019607844;0.7333333333333333;1.0;; 0.0; 0.000000;0.000000;0.000000;; 0.000000;0.000000;0.000000;; TextureFilename {"multitextur.png";} } Wenn Du in dieser Datei in der Materialdefinition bei "TextureFilename" den Dateinamen der neuen Textur einträgst und dann die x-Datei neu in das Modellbahn-Studio hochlädst (die Texturdatei muss dann natürlich im selben Verzeichnis wie die x-Datei liegen), wird diese neue Textur anstelle der ursprünglichen Textur auf dem MBS-Modell angezeigt, ohne dass Du hierfür die Texturzuweisung im Sketchup-Modell ändern und dieses neu exportieren musst. Mache nun diese Textur-Änderung sowohl mit der ersten als auch mit der zweiten Reutlinger Textur. Wenn dann die störenden Balken bei der zweiten Textur immer noch auftreten, hat die zweite Textur einen Fehler. Denn es wurde an der x-Datei ja nichts anderes als nur die Name der zu verwendenden Texturdatei abgeändert. Sind die störenden Balken bei der zweiten Textur dagegen weg, musst Du beim Austauschen der Multitextur - wenn auch versehentlich - eine Veränderung an der Sketchup-Datei vorgenommen haben - möglicherweise eine unwissentliche Verschiebung der Textur auf den betroffenen Oberflächen der Tram. Nach dem Hochladen der beiden veränderten x-Dateien kannst Du zumindest erkennen, ob Du den Fehler in der Multitextur oder im Sketchup-Modell suchen musst. Viele Grüße BahnLand
-
Demoanlage - Bahnübergang mit Überwachungssignalen
BahnLand antwortete auf tim-fischertechniks Thema in Anlagen
Hallo @Goetz, stimmt. Die rote Ampel hat die Glocke ersetzt. Ich kann mich noch an einen Bahnübergang aus den 1950er Jahren erinnern, der noch eine Glocke hatte. Der hatte auch noch Handbetrieb. Wenn der Schrankenwärter zu kurbeln anfing, fing zuerst die Glocke an zu bimmeln. Dann senkten sich langsam die Schranken. Und wenn die Schranken unten waren, hörte auch die Glocke zu schlagen auf. Viele Grüße BahnLand -
Demoanlage - Bahnübergang mit Überwachungssignalen
BahnLand antwortete auf tim-fischertechniks Thema in Anlagen
Hallo Achim, theoretisch ja. Es gibt im Geräusche-Katalog des Modellbahn-Studios ein "Schrankengeläut", das man kurz vor und während dem Schließen der Schranke abspielen lassen könnte. In der genannten Anlage ist es jedoch nicht eingebaut. Viele Grüße BahnLand -
Demoanlage - Bahnübergang mit Überwachungssignalen
BahnLand antwortete auf tim-fischertechniks Thema in Anlagen
Hallo Tim, Dein Bü-Signal würde gut zur Anlage "Bahnübergangs-Steuerung" (Content-ID = 3FD7F227-BFD1-4630-A162-00F7EFA87D34) passen. Allerdings müsste ich dann wahrscheinlich den Zeitpunkt, an dem die Züge das Schließen der Schranke anfordern, weiter nach vorne verschieben (die Strecke zwischen den Schaltkontakten und dem Bahnübergang vergrößern. Dann hätte allerdings bei der vorhandenen Kürze der Gleisschleife der Straßenverkehr überhaupt keine Chance mehr, den Bahnübergang zu passieren. Viele Grüße BahnLand -
Hallo Mirror, wenn man die Frage mit "Ja" beantwortet, werden alle Gleise, welche auf denselben Katalogmodellen basieren (vom selben "Typ" sind) wie die ausgewählten Gleise, ersetzt. Baut man nun mit dem 3D-Modelleditor aus einem einfachen Gleis eine Weiche, indem man eine zusätzliche Spur hinzufügt, bleibt der ursprüngliche "Typ" dieses Gleises erhalten. Bei der Beantwortung der Frage mit "Ja" würde also diese Weiche mit umgewandelt und damit das Gleisprofil des "einfachen" Gleises aus dem Vorbild-orientierten Gleissortiment bekommen. ´Wenn man nun im zweiten Durchgang diese Weiche nicht ausschließt, werden bei der Beantwortung auch dieser Frage mit "ja" auch alle bereits umgewandelten Gleise mit erfasst (ihr "Typ" wurde ja mit dieser einen Weiche mit ausgewählt) und erhalten daher ebenfalls das Gleisprofil der Vorbild-orientierten Weichen. Es ist also "gefährlich", die Frage mit "Ja" zu beantworten, wenn man sich nicht sicher ist, ob nicht zufällig ein Gleis, das nicht umgewandelt werden soll, mit erfasst wird. Die Beantwortung der Frage mit "Nein" ist also korrekt. Viele Grüße BahnLand
-
Hallo Maik, Ich hätte da für Deine Regal-Eck-Anlage noch ein paar kleine Detail-Verbesserungen: Du hast für Deine Landstraßen immer die "Einfach"-Variation genommen. Bei der ist das Spline-Segment relativ groß, um Polygone zu sparen. Deswegen gibt es bei scharfen Kurven diese Knicke. Die "Einfach"-Variationen sind daher eher für gerade Strecken und Kurven mit großen Radien geeignet. Für enge ausgerundete Kurven gibt es die Variationen "... geteilt". Bei diesen ist das Spline-Segment deutlich verkürzt, weshalb im Vergleich zu den Variationen "... einfach" bei gleicher Länge des daraus gebildeten Straßenabschnitts mehr Polygone benötigt werden. Deshalb sollte man diese Variationen nur bei solchen Kurven anwenden, bei denen die bei den "Einfach"-Variationen in der Kurve auftretenden Knicke im Spurverlauf als zu störend empfunden werden. Für Gleise in der Straße gibt es bei den "Vorbild-orientierten" Gleissortimenten auch "Rillengleise", die insbesondere auch für Bahnübergänge eingesetzt werden können - hier eine spezielle Bahnübergangs-Gleisvariation mit schwarzer Riffelblech-Nachbildung aus dem Gleistexturen-Katalog als Gleis-Füllung. Du hast auf Deiner Anlage Gleise mit den "Standard"-Sortimenten verlegt, die nur die Variationen "Mit Bettung" und "Ohne Bettung" anbieten. Um Rillengleise oder auch andere Eigenschaften der Vorbild-orientierten Gleise anwenden zu können. kannst Du alle Gleise auf Deiner Anlage mit wenigen Klicks in solche des Vorbild-orientierten Gleissystems umwandeln, ohne Deine Anlage neu aufbauen zu müssen: Wähle zunächst alle Gleise aus, die keine Weichen oder Kreuzungsweichen sind. Diese kannst Du mit einer Aktion umwandeln, indem Du nach der Auswahl im Bearbeiten-Menü die Funktion "Ersetzen ..." aufrufst und dann aus der Kategorie "Verkehrswege\Gleise\Vorbild-orientiert\Normalspur 1435 mm" irgend ein einfaches Gleis (z.B. "|1435| G138 Normalgerade" auswählst. Beantworte die anschließend gestellte Frage mit "Nein". Danach wird für alle von Dir ausgewählten Gleise das Gleisprofil dieses Gleisstücks übernommen. Die Geometrie Deiner Gleise wird hierbei nicht angetastet, sodass keine Korrekturen an den Gleisen erforderlich sind. Wiederhole nun diesen Vorgang für alle Weichen und Kreuzungsweichen. Wähle herbei als "Ersatz" aus derselben Kategorie eine beliebige Weiche aus (z.B. "|1435| W790/10R Rechtsweiche"). Alle ausgewählten Weichen und Kreuzungsweichen erhalten nun das Gleisprofil dieser Weiche, welches sich von dem Gleisprofil der "einfachen" Gleise unterscheidet. Die Gleisgeometrie bleibt auch hier wie bei der vorangehenden Umwandlung erhalten. Nachdem Du die Gleise auf Deiner Anlage auf diese Weise auf das Vorbild-orientierte Gleissystem umgestellt hast, stehen Dir alle Variationen dieses Gleissystems für Deine Gleise zur Verfügung. Damit lässt sich dann insbesondere der im obigen Bild gezeigte Bahnübergang nachbilden. Die Weichen des Vorbild-orientierten Gleissystems unterscheiden sich von den Weichen der "Standard"-Gleise durch die abstehenden und schaltbaren Weichenzungen. Herzstück-Bereiche können zusätzlich mit Flügelschienen und Radlenkern ausgestattet werden. Viele Grüße BahnLand
-
Hallo Michael, das liegt daran, dass Du bei den äußeren Flächen Deines Flughafen-Gebäudes teilweise die Rückseite nach "außen" gekehrt und angemalt hast. Wenn Du an den Einstellungen für die "Standard-Farben" von Sketchup nichts verändert hast, werden bei allen nicht texturierten Flächen die Vorderseiten weiß und die Rückseiten hellblau dargestellt. Da kann man am Sketchup-Modell sofort unterscheiden, welches Vorderseiten und welches Rückseiten sind. Wenn nun von einer Fläche nur die Rückseite, aber nicht die Vorderseite bemalt ist, kann es vorkommen, dass Sketchup in den Daten für den Sketchup-DirectX-Exporter bei einer Fläche, bei der die bemalte Rückseite angezeigt wird, fälschlicherweise die unbemalte Vorderseite ausweist. Der DirectX-Exporter übernimmt diese Daten "blind", wodurch dann im Modellbahn-Studio anstatt der eigentlich anzuzeigenden bemalten Rückseite die unbemalte Vorderseite sichtbar wird. Wie kann man nun solche Flächen nachträglich erkennen und korrigieren? (die meisten Bilder lassen sich mit einem Klick vergrößern) Das obige Bild zeigt Dein originales Sketchup-Modell. Ich habe nun die Abflughallen-Gruppe geöffnet und dort die Rückseiten aller Teilflächen entfärbt. Jetzt kann kann man sehen, welche Flächen "falsch herum" eingesetzt sind (die Flächen im einheitlichen Hellblau) und korrigieren. Wenn man diese Flächen umdreht, stellt man fest, dass die nun angezeigte Vorderseite des Dachs der mittleren Doppelhalle nicht texturiert ist (weiße Standardfarbe der Vorderseite) und die Vorderseiten der Dachflächen der beiden äußeren Hallen zwar texturiert sind, die Textur aber falsch platziert ist. Ich habe nun die Vorderseiten der Dächer neu texturiert und dann das Modell mit den gelöschten Rückseiten der Dächer neu exportiert. Auf dem obigen Bild sieht man nun im direkten Vergleich hinten das originale Modell mit den falsch angezeigten Dächern und vorne das korrigierte Modell mit den nun angezeigten Dachvorderseiten mit den korrigierten Textur-Aufträgen. Da zumindest in dem von mir "eingesehenen" Bereich die Anzahl der zu korrigierenden Modellflächen "überschaubar gering" ist, können diese mit wenigen Handgriffen schnell korrigiert werden: Die Abflughallen sind in einer Gruppe zusammengefasst. Mann muss daher zuerst diese Gruppe "öffnen" (Doppelklick auf das Modell), um an die Modellflächen heran zu kommen (die geöffnete Gruppe wird durch den gepunkteten Rahmen um das Modell angezeigt). Klickt man nun in der Texturpalette mit der rechten Maustaste auf die für die Dächer verwendete Textur (1), öffnet sich ein Popup-Menü, in dem man die Funktion "Auswählen" anklickt (2). Es sind nun alle direkt zugreifbaren Flächen dieser Sketchup-Gruppe ausgewählt, die nicht selbst in einer Untergruppe dieser Sketchup-Gruppe zusammengefasst sind. Die Amzahl der markierten Flächen wird unter (3) angezeigt. Darunter gibt es 2 Kästchen, in denen angezeigt wird, mit welcher Textur die Vorderseiten der ausgewählten Flächen (linkes Kästchen mit dem Fragezeichen aufgrund nicht einheitlich mit der gleichen Textur angemalter Flächen) und die Rückseiten (rechtes Kästchen) angemalt wurden. Da die Texturierung der Rückseiten geändert werden soll, wird das rechte Kästchen angeklickt (4), worauf sich das kleine Fenster links davon öffnet. Das dort eingerahmte Kästchen (5) zeigt die bisher ausgewählte Textur, die wir als erstes mit Punkt (1) aus der Texturpalette ausgewählt hatten. Wir wollen diesen Flächen nun allen als neue "Textur" die "Standardfarbe" (6) zuweisen, womit die Rückseiten "entfärbt" werden. Nun kann man wie im zweiten Bild oben gezeigt die Flächen mit der falschen Ausrichtung erkennen. Wir merken uns nun diese Flächen (3 Dachflächen und ein Übergang zwischen de beiden Hallen rechts) und machen die Entfärbung mit der Undo-Taste rückgängig, weil wir diese Texturierungen noch benötigen. Die folgenden Aktionen führen wir nun für jede der 4 zu korrigierenden Flächen durch: Durch einen Kick mit der rechten Maustaste auf eine der zu korrigierenden Flächen öffnet sich ein Popup-Menü, aus dem wir "Textur" auswählen und dann "Projiziert" aktivieren (es wird dann davor ein Häkchen gesetzt). Danach müssen wir in der Funktionspalette den Farbeimer auswählen und mit gedrückter Alt-Taste nochmals auf die Fläche klicken, um die Textur "in den Farbeimer zu laden". Nach einem erneuten Klick auf dieselbe Fläche wählen wir nun "Flächen umkehren" aus. Es wird nun die Vorderseite der Dachfläche angezeigt. Nun kann diese Fläche mit der im Farbeimer gespeicherten Textur bemalt werden, wobei deren Position aufgrund der gesetzten "Projiziert"-Eigenschaft korrekt platziert wird. Danach wird die Fläche noch zweimal umgekehrt, um die Rückseite zu entfärben (Standardarbe bei Pfeil (7) in dem Bild mit den vielen roten Pfeilen auswählen) und abschließend wieder die richtige Oberfläche (texturierte Vorderseite) anzuzeigen. Nach Abschluss dieser Aktivitäten für alle "identifizierten" falsch ausgerichteten Flächen ist das Sketchup-Modell korrigiert und kann nach dem Export und nach dem erneuten Hochladen in das Modellbahn-Studio korrekt angezeigt werden. Viele Grüße BahnLand
-
Hallo Karl, an den von @schlagerfuzzi1 (Wolfgang) erwähnten Tipp kann ich mich leider nicht mehr erinnern, sodass ich auch nicht weiß, wonach ich im Forum suchen sollte. Du könntest aber versuchen, die vordere Achse mit Rädern und Deichsel zu einer Gruppe "_WheelSet0" und die hintere Achse mit Rädern und Kutschkasten zu einer Gruppe "_WheelSet1" zusammenzufassen. Ich denke, dass auch der Tipp von @Dad3353 (Douglas) in diese Richtung geht. Probiere mal aus, wie sich Deine Kutsche dann in der Kurve verhält. Viele Grüße BahnLand
-
Hallo zusammen, die Bahndämme und Signalträger wurden von @Neo freigegeben (Vielen Dank!) und können nun freizügig verwendet werden. Hier noch die Katalog-Kategorien: Bahndämme: Landschaftsgestaltung\Geländeteile Signalträger: Infrastruktur\Bahnverkehr\Signale Viel Spaß damit und viele Grüße BahnLand
-
Animation Dampfzugantrieb (SketchUp)
BahnLand antwortete auf MX1954LLs Thema in Modellbau mit externen Programmen
Hallo Lothar, ich hatte im Juli 2020 ein kleines Prinzip-Beispiel gebaut, das ich in diesem Beitrag beschrieben hatte. Dort findest Du auch die mbe-Datei für den direkten Import in das Modellbahn-Studio. In das hier hinzugefügte zip-Paket Treibstangentest.zip habe ich die Sketchup-Datei und zwei x-Dateien, die sich in der Bezeichnung der AnimationSet-Definition unterscheiden, hinein gepackt. Beim ersten Beispiel besitzt die AnimationSet-Definition selbst die Bezeichnung "_AnimWheel". Dadurch wird bei diesem Beispiel keine anim-Datei benötigt. Beim zweiten Beispiel habe ich die AnimationSet-Definiton anders benannt. Deshalb wird ich hier die anim-Datei benötigt, bei der die Animation mit "_AnimWheel" bezeichnet wird. Die zweite Variante hat den Vorteil, dass man hier weitere Animationen, die nichts mit "_AnimWheel" zu tun haben, hinzufügen kann. Bitte beachte, dass ich bei diesem Beispiel nur die Funktion von "_AnimWheel" ausprobieren wollte. Deshalb besitzt das gebaute Beispiel nur Kuppelstangen ohne Zylinder-Anschluss, die ich bei geeigneter Verteilung der"_AP"-Punkte einfach durch Umkehrung der Rad-Drehung "gerade" halten kann. Sobald hier noch eine Verbindung zum Dampfzylinder dazu kommt, wird es komplizierter, weil - wie @EASY bereits geschrieben hat, die Bewegungen des Kolbens und der verbundenen Treibstange nicht linear sind. Dass bei diesem Beispiel in den AnimationKeys für die linken und die rechten Räder unterschiedliche Winkel-Definitionen angegeben sind, liegt dran, dass ich die Räder wie beim Vorbild gegeneinander verdreht habe. So müssen die Kuppelstangen auf beiden Seiten nicht gleichzeitig angehoben werden, und die Unwuchten heben sich gegenseitig teilweise auf. Leider habe ich bisher kein Beispiel realisiert, wo die nicht-lineare Bewegung nachgebildet wird. Hier muss wie in den vorangehenden Beiträgen beschrieben die Gesamtanimation für diese Bauteile in viele kleine Teilschritte unterteilt werden, damit die Bewegung "sauber" nachgebildet werden kann. Ich würde hier als Möglichkeit die Berechnung der Einzelschritt-Werte über eine Excel-Tabelle (oder eine andere Tabellen-Kalkulation) sehen, aus der man dann die berechneten Werte in die AnimationSet-Definition der x-Datei überträgt. Viele Grüße BahnLand -
Animation Dampfzugantrieb (SketchUp)
BahnLand antwortete auf MX1954LLs Thema in Modellbau mit externen Programmen
Hallo Lothar und Brummi, ist nicht "_AnimWheel" das richtige Schlüsselwort für eine von der Geschwindigkeit und der Radrotation abhängige Animation (siehe hierzu auch das Wiki)? Viele Grüße BahnLand -
Einige Fragen zum Modellbau
BahnLand antwortete auf Klartexters Thema in Modellbau mit externen Programmen
Hallo Walter, da es sich bei der Tür-Animation um eine Translation handelt (die Tür wird nur verschoben, aber nicht gedreht oder skaliert), ist für die Sketchup-Gruppe der Tür eine "_AP"-Punkt nicht zwingend erforderlich, und wenn er gesetzt wird, ist es im Prinzip egal, an welcher Stelle. Denn der Ankerpunkt bestimmt "nur", wo innerhalb der Sketchup-Gruppe die Position des Nullpunkts sein soll, was bei der Drehung oder Skalierung essentiell ist, weil die Drehung oder Kontraktion immer bezogen auf den Nullpunkt der Sketchup-Gruppe erfolgt. Bei einer Verschiebung spielt diese Position des Nullpunkts innerhalb der Sketchup-Gruppe nur insofern eine Rolle, als sie sich auf die Koordinate dieses Nullpunkts (und damit der gesamten Sketchup-Gruppe) innerhalb der übergeordneten Bauteils auswirkt. Wenn also der Nullpunkt der Sketchup-Gruppe innerhalb derselben verschoben wird, ändern sich dadurch auch die Positionskoordinaten der Sketchup-Gruppe innerhalb des Gesamtmodells (oder der übergeordneten Gruppe). Wenn man nun die Tür beim Öffnen verschieben möchte, bedeutet dies, dass sie aus der ursprünglichen Position innerhalb des Trambahn-Fahrzeugs um eine bestimmte Strecke in eine neue Position verschoben werden soll. Bei meinem Trambahn-Beispiel aus den früheren Beiträgen ist die Ausgangsposition der zu öffnenden Türen "zufällig" (0, 0, 0). Darum ist dieses Beispiel nicht so gut geeignet, um die Translations-Animation (AnimatonKey vom Typ "Position") zu erklären. Deshalb verwende ich hier eine Tür aus meinen Schnellzugwagen, deren Position im geschlossenen Zustand nicht "(0 ,0, 0)" ist. Die Einstiegstür rechts vorne bei meinen Schnellzugwagen trägt die Bezeichnung "TuerRV" (Bezeichnung der Sketchup-Gruppe). Dieser Name wird beim DirectX-Export auf den zugehörigen Frame in der x-Datei übertragen. Die Koordinaten der geschlossenen Tür (Ausgangszustand der Animation) ist in der Einheit "cm" in der untersten Zeile der FrameTransformMatrix des Frames "TuerRV" hinterlegt (Reihenfolge x, z, y). Deshalb wird dieser Wert als Ausgangszustand in den zugehörigen AnimationKey in der AnimationSet-Definition übernommen. Die nachfolgenden Zeilen im AnimationKey geben nun die Translationsbewegung wieder, wobei die Schwenkschiebetür des entlang der x-Achse ausgerichteten Wagens zuerst in y-Richtung etwas aus der Karosserie herausgezogen und dann in x-Richtung zur Seite geschoben wird. Da beim vorliegenden Beispiel die x-Datei im H0-Maßstab erzeugt wurde, müssen die Verschiebungs-Distanzen ebenfalls im H0-Maßstab angegeben werden - und zwar in cm. Bei der Animation im obigen Bild bedeutet dies, dass die Zielkoordinate gegenüber der Ausgangskoordinate zuerst um 0,08 cm in y-Richtung nach außen (Koordinaten-Spalte rechts) und dann um 1 cm in x-Richtung zur Seite (Koordinatenspalte links) geschoben wird. Die Zielkoordinaten werden also immer durch Hinzu-Addieren der Verschiebungs-Distanzen zur Ausgangsposition berechnet. Wenn Du bei Deiner Animation für die Türen als Startpunkt den Wert (0, 0, 0) verwendet hast, ist klar, warum die Türen bei Positionieren des Trambahn-Wagens auf der Anlage "verschwunden" sind. Der Nullpunkt Deiner Tram liegt nämlich an einer ganz anderen Stelle (vermutlich im Mittelpunkt der Tram). Und dort findest Du dann auch Deine Tür. Dass bei meinem Stuttgarter Straßenbahn-Modell die Ausgangskoordinaten (0, 0,0) korrekt sind, liegt daran, dass ich die beiden Schwingtüren jedes Eingangs zu einer Gruppe zusammengefasst und die _AP-Punkte der innerhalb dieser Gruppe befindlichen Sketchup-Gruppen für die Türen genau im Nullpunkt dieser übergeordneten Türpaar-Gruppe positioniert habe. Prinzipiell ja. Bedenke aber bitte, dass die Anzahl der Materialien insgesamt auf 5 und in der höchsten eingesetzten LoD-Stufe auf 3 begrenzt ist. Ich versuche - wenn es geht - immer mit nur einer "normalen" Textur und einer halbtransparenten Textur für die Fensterscheiben (also insgesamt 2 Materialien) auszukommen. Viele Grüße BahnLand -
Hallo Moppel, wenn Du zur Sicherheit alte Speicherstände aufheben möchtest, wechselst Du einfach beim Abspeichern in bestimmten Zeitabständen den Namen (Anlage 01, Anlage 02, ...). Dann kannst Du später wieder darauf zugreifen. Das ist bei anderen Programmen auch nicht anders: Solange Du Deine Daten immer unter demselben Namen abspeicherst, überschreibst Du damit den zuvor vorhandenen Zustand. Viele Grüße BahnLand
-
Hallo @Sintbert, bezüglich der "Freien Kamera" muss ich mich korrigieren. Da wird die Kamera mit dem Mausrad tatsächlich mit konstantem Blickwinkel von 36° bewegt. Bei den Benutzer-definierten Kameras ist es aber wirklich so, wie ich es beschrieben habe: Selektiere die Benutzer-definerte Kamera, sodass im Eigenschaftsfenster rechts unten deren Eigenschaften angezeigt werden. Wähle nun die Ansicht dieser Kamera unter Beibehaltung von deren Selektion aus und betrachte deren Verhalten im Eigenschaftsfenster im Grund- und Koordinaten-Modus, während Du das Mausrad drehst. Dann wirst Du feststellen, dass sich der Blickwinkel ändert, die Koordinaten aber konstant bleiben. Die Drehung des Mausrads wirkt sich also bei der freien Kamera anders aus als bei den Benutzer-definierten Kameras. In Abhängigkeit vom dargestellten Zoom-Faktor werden auch bei der Benutzer-definierten Kamera die LoD-Stufen umgeschaltet, und zwar in Abhängigkeit vom sich mit dem drehenden Mausrad ändernden Blickwinkel. Die Umschaltung zwischen den LoD-Stufen richtet sich also nach der Größe des betrachteten Objekts relativ zum Blickfeld der Kamera - unabhängig davon, ob sich dieses durch die räumliche Bewegung der Kamera oder durch die Verstellung von deren Blickwinkel ändert. Viele Grüße BahnLand
-
Hallo Moppel, Ergänzung zur Antwort von Karl: Du kannst auch im Menü "Bearbeiten - Selektieren" aufrufen oder einfach die <F3>-Taste drücken. Es öffnet sich bei allen 3 Varianten das Auswahlfenster der Objekte auf der Anlage. Wenn Du nun in dieser Liste ein Objekt ausgewählt (angeklickt) und das Auswahlfenster mit "OK" wieder geschlossen hast, musst Du anschließend die <Enter>-Taste drücken oder im Menü "Ansicht - Zentrieren" auswählen. Dann wird die Kamera automatisch auf das ausgewählte Objekt ausgerichtet. Damit siehst Du dann auch wieder die Bodenplatte - sofern sie nicht ausgeblendet ist. Viele Grüße BahnLand
-
Hallo @Sintbert, ich glaube, dass die Zoom-Steuerung nicht über die Entfernung, sondern über den Öffnungswinkel (Bildwinkel) der Kamera erfolgt. Das würde zumindest das auch von mir schon beobachtete Verhalten erklären, warum die Zoom-Sprünge bei kleinen Öffnungswinkeln deutlich größer sind als bei großen Öffnungswinkeln. Der Effekt tritt nämlich nicht nur bei vertikaler Kamera-Ausrichtung, sondern in jeder Kamera-Ausrichtung - auch horizontal - auf. Viele Grüße BahnLand
-
Runderneuerte und zusammengefasste Signalträger nach schweizerischem Vorbild Hallo, die im Online-Katalog enthaltenen schweizerischen Signalträger (Signalbrücke, Quertragwerk und frei stehender Signalmast) haben eine Renovierung erhalten. Und die Einzelteile wurden - soweit möglich - als Variationen innerhalb eines Modells zusammengefasst. Die Signalbrücke und das Quertragwerk bestehen jeweils aus in 3 MBS-Modellen (Masten, Querträger und am Querträger zu befestigendes Zubehör) enthaltenen Bauteilen, deren Zusammenbau nachfolgend beschrieben wird. Die frei stehenden Signalmasten sind Bestandteil eines weiteren MBS-Modells. Zusammenbau einer Signalbrücke Die Signalbrücke besteht aus zwei beidseits der Gleistrasse aufgestellten Masten und einem dazwischen eingehängten, die Gleise überspannenden und zur Wartung der montierten Signale begehbaren Quergang. An diesem werden die Signalkörbe angehängt, die letztendlich die eigentlichen Signale aufnehmen. Der Aufbau einer solchen Signalbrücke beginnt mit dem Platzieren des ersten Masts neben einem der Gleise. Dieser wird an das Gleis angedockt und kann anschließend entlang der Gleisachse an seinen Bestimmungsort verschoben werden. Auf freier Strecke im bergigen Gelände müssen die Parallelgleise einer mehrgleisigen Strecke nicht zwangsläufig exakt in einer Ebene liegen. Da die beiden Masten jedoch gegenseitig genau ausgerichtet sein müssen, werden sie beidseitig am selben Gleis auf derselben Position angedockt. Man erreicht dies, indem man den ersten Mast mittels <Ctrl>C + <Ctrl>D auf sich selbst kopiert und dann mit dem Gizmo um 180° um das Fadenkreuz dreht (er richtet sich beim Drehen wegen des Kontaktpunkts zum Gleis automatisch im 180°-Winkel zum ersten Mast aus. Die Masten besitzen eine Animation, mit der der Abstand zum Gleis variiert werden kann. Mithilfe der Einzelschritt-Pfeile der Animation wird der Mast so weit zurück versetzt, dass sein Abstand zum zweiten Gleis (oder zum gegenüber liegenden äußeren Gleis bei mehr als 2 Gleisen) etwa dem Abstand des ersten Masts zu "seinem" Gleis entspricht. Durch die Verschiebung des zweiten Masts mit der Animation ist gewährleistet, dass die gegenseitige Ausrichtung beider Masten erhalten bleibt. Für den Fall, dass das Gelände unterhalb des Masts abfällt, ist dieser mit einem nach unten verlängerten Sockel ausgestattet, sodass dieser auch hier für einen "stabilen" Stand des Masts sorgt. Außerdem wird ein Mast gegen die Variation mit Aufstieg eingetauscht. Sind die Gleise z.B. in der Kurve seitlich geneigt, wurde diese Neigung von den Masten beim Andocken übernommen. Der einzufügende Quergang versucht sich jedoch als Spline-Objekt horizontal an den Kontaktpunkt des Masts anzudocken. Deshalb müssen die Masten vertikal ausgerichtet werden, was man durch das Setzen der x- und y-Rotation auf "0" bei jedem Mast erreicht. Die gegenseitige Ausrichtung beider Masten bleibt hierbei erhalten, weil die Rotation beider Masten um denselben Drehpunkt an der Stelle des im obigen Bild sichtbaren Gizmos erfolgt. Nun kann das Quergang-Element aus dem Online-Katalog an einen Mast angedockt werden. Da es sich hierbei um ein Spline-Objekt handelt, kann man es nach Anklicken des blauen Dreiecks zum anderen Mast hin verlängern, wobei der Quergang automatisch durch weitere Kastenelemente ergänzt wird - und nach genügender Annäherung am Kontaktpunkt des zweiten Masts andockt. Nun können aus dem Online-Katalog die Einstiegskörbe zu den Signalkörben unterhalb des Quergangs angedockt und entlang von dessen "Spur" an die richtige Stelle verschoben werden. Sind die Einstiegskörbe platziert, können hieran die Signalkörbe als Variationen desselben MBS-Modells vorne und/oder hinten angedockt werden - in Abhängigkeit davon, in welche Richtung das Signalbild der einzusetzenden Signale zeigen soll. Die am Ende in die Signalbrücke einzusetzenden Signale aus dem Online-Katalog vervollständigen schließlich die Signalbrücke. Achtung! Beim Zusammenfügen der Masten und des Quergangs ist immer der Quergang zwischen den zuvor korrekt platzierten Masten einzufügen. Das nachträgliche Andocken eines Masts an den Quergang funktioniert nicht, da der _CP_Spline-Kontakt des Masts dann anstatt an der Spur des Gleises sich an der Spur des Quergangs andockt und somit nicht am Ende des Quergangs korrekt positioniert werden kann. Zusammenbau eines Quertragwerks Das Quertragwerk ist analog zur Signalbrücke aufgebaut und besteht aus zwei Masten und einem dazwischen einzuhängenden Tragbalken, an dem schließlich die Halter für die Signale aufgehängt werden. Wie beim Zusammenbau der Signalbrücke dockt man auch die Masten an einem Gleis an und passt dann den Abstand mit der Animation an die vorhandenen Gleis-Gegebenheiten an. Da im obigen Bild 4 Gleise mit einem etwas größeren Abstand dazwischen überbrückt werden sollen, raste ich den ersten Mast an einem inneren Gleis ein, damit der endgültige Abstand der Masten vom Andockpunkt aus gemessen nach beiden Seiten nicht zu groß wird. Ich habe bei diesem Beispiel die Masten mit einem etwas größeren Abstand zu den Gleisen hin positioniert, damit der hintere Mast im dort ansteigenden Gelände einsinkt. Mittels einer Animation kann nun der Sockel so weit angehoben werden, dass er wieder sichtbar aus dem ansteigenden Gelände heraus ragt, ohne dass hierfür der Mast insgesamt angehoben werden muss. Damit bleibt die gegenseitige Ausrichtung der Masten für das spätere Einsetzen des Tragbalkens bestehen. Mit einer weiteren Animation können diese Masten nach oben verlängert werden, sodass sie wie auch teilweise beim Vorbild sichtbar ein ganzes Stück über den Tragbalken hinaus ragen. Das Tragbalken-Element wird wie der Quergang bei der Signalbrücke an einen Mast angesetzt und mit seiner Spline-Modell-Eigenschaft zum anderen Mast hin verlängert. Bei sehr großen Abständen zwischen den beiden seitlichen Masten können auch "Mittelmasten" eingesetzt werden, die als Variationen im "Zubehör"-Modell des Quertragwerks hinterlegt sind und nach dem Andocken an den Tragbalken entlang von dessen Achse an die richtige Stelle geschoben werden können. Aus demselben MBS-Modell stammen auch die Variationen für die Signalhalter. Auch diese werden am Tragbalken angedockt und an die richtige Stelle verschoben. Sowohl der Mittelmast als auch der Signalhalter können mittels einer Animation verlängert werden, um sich damit an die anderen Masten oder an die Größe des anzusetzenden Signals anzupassen. Das obige Bild zeigt eine fertige Beispiel-Konfiguration für ein Quertragwerk mit eingesetzten Signalen aus dem Online-Katalog. Achtung! Auch hier ist wie bei der Signalbrücke die gezeigte Reihenfolge für den Zusammenbau einzuhalten, da auch hier ein Mast wegen der im Spline-Modell des Tragbalkens enthaltenen "Spur" nicht nachträglich an den Tragbalken korrekt angedockt werden kann. Signalmasten Im MBS-Modell des Signalmasts gibt es 3 verschiedene Form-Varianten, die sich durch den Signalhalter-Aufsatz auf dem Mast unterscheiden. Im obigen Bild links ist vorne ein Mast ohne Aufsatz zu sehen, an dem das anzubringende Signal direkt am Mast befestigt wird. Der mittlere Mast trägt eine kleine Signalhalterung als Aufsatz für Signale mit kurzem Signalschirm. Die große Signalhalterung auf dem dritten Mast ist für Signale mit langem Signalschirm vorgesehen. In der Schweiz herrscht normalerweise Linksverkehr, weshalb auch die Masten normalerweise linkerhand vom linken Gleis angedockt werden. Das MBS-Modell enthält aber auch Variationen von rechts anzudockenden Signalen, von welchen im obigen Bild im Vordergrund alle 3 Varianten mit beispielhaften Signal-Bestückungen ausgestattet sind. Alle Signalmasten lassen sich mittels einer Animation nach oben ausfahren. Im obigen Bild rechts hinten werden die 3 Mast –Varianten in vollständig ausgefahrenem Zustand gezeigt. Abschließend sei noch bemerkt, dass es alle Signalträger-Modelle in den mehr oder weniger "verwitterten" Farben grau, graubraun, gelbgrau, braun und grüngrau gibt. Die Modelle sind im Online-Katalog bisher als Entwurf unter den Content-IDs DDCB4ABB-0E05-422F-99C6-157FF3F0C477 Signalbrücke (Masten) 0F1E3625-3E6E-44CD-8229-7CD6BA3B9C83 Signalbrücke (Quergang) 1F3604AA-DDF4-41E8-A690-57D2321DDFE1 Signalbrücke (Zubehör) 1CC7611A-5B67-4326-8359-17298CE5DEC8 Quertragwerk (Masten) 8762BABA-849F-4B18-9BCF-706F2EB9E59E Quertragwerk (Tragbalken) F35F67EC-D981-4258-A8C8-D24ACBB658FF Quertragwerk (Zubehör) 81905104-0EBA-4D58-8281-21D46047C515 Signalmasten zu finden, wurden aber auch schon final veröffentlicht und warten auf die Freigabe durch @Neo. Die im Online-Katalog vorhandenen "alten" Signalträger-Einzelmodelle werden mit der Freigabe dieser Modelle archiviert und dann im Katalog standardmäßig nicht mehr angezeigt. Viele Grüße BahnLand
-
Hallo Markus, ja, das stimmt, aber die Straßenbahn benötigt dann neue Fahrgestelle. Denn mit dem Meterspur-Fahrwerk kann sie nicht auf den Münchner Normalspur-Straßenbahngleisen fahren. und ich bin mir nicht scher, ob es genügt, dass Walter die Meterspur-Fahrgestelle seines Augsburger Triebwagens einfach nur auf 1435 mm auseinander zieht. Bei der Breite des Wagenkastens vermute ich mal, dass die gleich ist. Das müsste man aber noch überprüfen. Viele Grüße BahnLand
-
Hallo Markus, die hat aber Normalspur! Viele Grüße BahnLand