-
EASY gefällt ein Beitrag im Thema: Wie erstelle ich eine Tauschtextur?
-
Studie Liftbau mit _LinkTarget
Hallo @Neo , wenn Bruno mit dem Lift verknüpft ist, dann wird die Verknüpfung automatisch aufgehoben sobald ich ihn bewege und ich muß sie neu setzen. Ist das ein prinzipielles Verhalten von _LinkTarget oder liegt es daran, daß es im Modell "nur" ein Empty ist und für eine Verbesserung dieses Verhaltens eine räumliche Ausdehnung haben sollte? (bei einer "normalen" Verknüpfung kann ich Bruno bewegen und die Verknüpfung bleibt erhalten) und noch eine Frage: _LinkTarget wird nicht ausgeblendet? Gruß EASY
-
Wie erstelle ich eine Tauschtextur?
Hallo, den Namen kannst Du frei wählen. Akzeptiert werden vom MBS .jpg, .png und .dds Dateiformat (bevorzugt .png und dds) Für die LODs gibt es keine extra Texturen, Du mußt nur die eine Textur nach Deinen Wünschen anpassen. Gruß EASY
-
BahnLand gefällt ein Beitrag im Thema: Studie Liftbau mit _LinkTarget
-
Goetz gefällt ein Beitrag im Thema: Studie Liftbau mit _LinkTarget
-
Phrontistes gefällt ein Beitrag im Thema: Studie Liftbau mit _LinkTarget
-
Studie Liftbau mit _LinkTarget
Hallo, ich habe mir ein Studienmodell für einen Lift mit dem neuen Objekt _LinkTarget in V9.5 gebaut und eine Demo gebastelt... Bruno fährt Aufzug Der Lift hat eine maximale Fahrhöhe von 10m. Die Sollhöhe für die einzelnen Stockwerke ist in den Schaltern hinterlegt. Damit weitere Personen oder Objekte (außer derzeit Grundkörper des MBS) mitfahren, einfach mit dem Lift verknüpfen... fertig P.S. der Lift kann per Schalter-Aktion ausgeblendet werden und ist somit auch versteckt zu verwenden... In lua sieht es so aus... ... Animation gestartet/gestoppt... -- Animation die den Lift darstellt? if name==entity.variables.animation then entity.variables.running = running -- Animation läuft? zwischenspeichern if running == false then -- Animation gestoppt ? if entity.variables.dir == 1 then -- nach oben? entity.variables.aktuell = entity.variables.max -- aktuelle Pos. speichern else -- nach unten ! entity.variables.aktuell = entity.variables.min -- aktuelle Pos. speichern end end end... Taster wird betätigt... local lift=controller.variables.lift -- Lift auslesen local anim=lift.variables.animation -- Liftanimation auslesen if not lift.variables.running then -- Animation läuft nicht? local sollh=controller.variables.sollh -- Soll Höhe auslesen lift.variables.sollh=sollh -- Zwischenspeichern (nicht unbedingt nötig) local maxh=lift.variables.maxh -- max. Lifthöhe local aktuell=lift.variables.aktuell -- aktuelle Position local soll=sollh/maxh -- Soll normieren local max=1 -- max. der Animation local min=0 -- min der Animation local dir=1 -- Richtung der Animation if soll>aktuell then -- nach oben? dir=1 -- Richtung setzen lift.variables.dir=dir -- Richtung speichern max=soll -- max. Animation setzen min=0 -- min Animation setzen lift.variables.max=max -- max speichern lift.variables.min=min -- min speichern lift.animations[anim]:play(-1, dir, min, max, 0.3) -- Animation starten else -- nach unten ! dir=-1 -- Richtung setzen lift.variables.dir=dir -- Richtung speichern max=1 -- max Animation setzen min=soll -- min Animation setzen lift.variables.max=max -- max speichern lift.variables.min=min -- min speichern lift.animations[anim]:play(-1, dir, min, max, 0.3) -- Animation starten end endWer noch etwas testen möchte... 2025-01-13-Lifttest mit LinkTarget.mbp Anmerkungen und Anregungen? wie immer gerne... Gruß EASY
-
peterbernhauser5677 gefällt ein Beitrag im Thema: Spezielle Lösungen in lua
-
Anfrage für ein Spline-Primitiv
... der Quader ist kein Spline-Modell. Du gibst ein, wie groß der Quader sein soll und der Quader wird dynamisch vom MBS erzeugt... mehr ist das nicht...
-
Cafépause gefällt ein Beitrag im Thema: _LinkTarget animiert
-
volkerfreimuth gefällt ein Beitrag im Thema: Zusatzanzeige
-
_LinkTarget animiert
Hallo @Neo , ... vorerst nur ein halbes "Gefällt mir"... die andere Hälfte reiche ich dann nach (wenn Du nachgereicht hast)... Gruß EASY
-
_LinkTarget animiert
Hallo @RoniHB , danke für Deine Hilfestellung, aber genau das mit dem Kontaktpunk soll das neue Objekt _LinkTarget überflüssig machen... Gruß EASY
-
_LinkTarget animiert
... habe ich zuerst ausprobiert... ... mit dieser .anim Tor unten;0;49;NoAutoPlay;NoLoop Tor oben;50;99;NoAutoPlay;NoLoop Wasser;100;149;NoAutoPlay;NoLoop Ergebnis im MBS mit einer Ebene die mit dem Modell verknüpft ist... ... das _LinkTarget Objekt bewegt sich nach oben... die Ebene folgt der Animation nicht... ... oder habe ich da noch irgendwo eine falsche Definition drin? Gruß EASY
-
_LinkTarget animiert
Hallo @Neo bei der Diskussion in "Wiederholgenauigkeit beim Anhaltepunkt" ist mir folgendes in den Sinn gekommen: Ist es möglich ein Objekt zu so zu definieren (ähnlich _LinkTarget), daß ein mit dem Modell verknüpftes Objekt die Animationsbewegung von _LinkTargetAnim übernimmt? Dies würde die Gestaltung von Liften oder Schleusen sehr vereinfachen. _LinkTargetAnim hat eine vertikale Animation in in der Position definiert -> Alle verknüpften Objekte folgen dieser Animation. Ganz ohne Kontaktpunkte, Hilfskonstruktionen mit "Lift Lok"... Gruß EASY
-
Atrus gefällt ein Beitrag im Thema: Wiederholgenauigkeit beim Anhaltepunkt
-
alexander42 gefällt ein Beitrag im Thema: Wiederholgenauigkeit beim Anhaltepunkt
-
EASY gefällt ein Beitrag im Thema: Zusatzanzeige
-
Wiederholgenauigkeit beim Anhaltepunkt
Hallo, ... da ich verspielt bin, noch eine Möglichkeit für eine Animationsdarstellung in lua (ohne timer ; sondern mit deferredCall() / defer()) local steps = 250 -- Anzahl Zwischenschritte local dt = 0.03 -- Animationszeit local Wasser = $("Wasser") -- Bewegungsobjekt if not deferredCall then if not controller.variables.aktiv then -- Bewegung ? (Sicherung für nervöse Finger am Schalter !) if controller.state == 0 then -- Senken local z0= Wasser.transformation.position.z -- Ist Position in z local z1= $("Wasser unten").transformation.position.z -- Soll Position in z local dz = z1-z0 -- Höhendifferenz local step = dz/steps -- Schrittweite in z -- Variablen zwischenspeichern Wasser.variables.dz = dz Wasser.variables.steps = steps Wasser.variables.step = step if math.abs(dz) > 0.001 then -- Ist nicht schon auf Position? controller.variables.aktiv = true -- Bewegung ! defer(dt, "bewegen") end else -- Heben local z0= Wasser.transformation.position.z local z1= $("Wasser oben").transformation.position.z local dz = z1-z0 local step = dz/steps Wasser.variables.dz = dz Wasser.variables.steps = steps Wasser.variables.step = step if math.abs(dz) > 0.001 then controller.variables.aktiv = true defer(dt, "bewegen") end end end elseif deferredCall=="bewegen" then local posw=Wasser.transformation.position -- Position posw.z = posw.z + Wasser.variables.step -- z-Position Wasser.transformation.position=posw -- Position neu setzen Wasser.variables.steps = Wasser.variables.steps -1 -- Schritte -1 if Wasser.variables.steps >0 then -- Position nicht erreicht? defer(dt, "bewegen") else -- Position erreicht controller.variables.aktiv = false -- keine Bewegung -- Variablen löschen Wasser.variables.dz = nil Wasser.variables.steps = nil Wasser.variables.step = nil end endP.S. Für solche Lösungen muß man schon genau verstehen was passiert, sonst erzeugt man schnell Endlosschleifen... und es erzeugt viele Aufrufe... Wasserpegel 02.mbp P.P.S (V 9.5 , geht vom Prinzip her auch in Vorgängerversionen) Gruß EASY
-
Roter Brummer gefällt ein Beitrag im Thema: Wiederholgenauigkeit beim Anhaltepunkt
-
Wiederholgenauigkeit beim Anhaltepunkt
Hallo, ... es gibt noch eine Lösung ohne Hilfsobjekte, die nur die 3 Ebenen für die Wasserdarstellung verwendet... In lua sieht das z.B. für oben so aus local Wasser=$("Wasser") -- bewegtes Wasser local posw=Wasser.transformation.position -- Position speichern local posz=$("Wasser oben").transformation.position.z -- Referenzposition in z posw.z=posz -- Referenzposition in z übernehmen Wasser.transformation.position=posw -- bewegtes Wasser auf Position setzenWasserpegel 01.mbp P.S. um es universell zu machen, könnte man die Wasserobjekte noch in Objekt-Variablen der beiden Gleiskontakte hinterlegen. Gruß EASY
-
Wiederholgenauigkeit beim Anhaltepunkt
Hallo ... als kleine Ergänzung noch in lua local posw=$("Wasser").transformation.position local posref=$("Wasserreferenz").transformation.position posw.z=posref.z $("Wasser").transformation.position=posw Gruß EASY
-
Wiederholgenauigkeit beim Anhaltepunkt
Hallo, ... theoreitsch über einen timer möglich, der die Bewegung in kleinen Schritten bewegt, ist allerdings eine Fummelei alles synchron zu halten. Mit dem Trick von @Atrus kann man allerdings, wenn die "Bewegungslok" die Endposition erreicht hat, die Endposition des Wassers (genau) korrigieren. Da die Abweichung nicht sehr hoch ist, fällt das kaum auf. Als Referenz kann man auch den z-Wert der angrenzenden Wasserfläche nehmen, dann passt es zu 100%... Gruß EASY
-
Goetz gefällt ein Beitrag im Thema: Zusatzanzeige
-
Zusatzanzeige
Hallo, ... so war das nicht gemeint... Du hast hier geschrieben: ... ich habe es so gemeint... Stelle die 3 Weichentypen und die dazugehörigen Anzeigeelemente nebeneinander auf eine Grundplatte und betrachte es als Gesamtbild ob die 3 verschiedenen Anzeigen jetzt zueinander passen, als optische Kontrolle ob sie ein Systen bilden (also gut zueinander passen) oder habe ich dich da missverstanden und es sollte nicht heißen "dies ist womöglich machbar..." sondern "ist es womöglich machbar" ? ... dann kann ich Dir nur sagen: vergeude nicht Deine Zeit das universelle Anzeigeelement herstellen zu wollen... Gruß EASY
-
Zusatzanzeige
Hallo @Chris06 , jetzt solltest Du Dir nur noch ein Bild zusammenstellen, bei dem alle 3 Weichentypen mit den entsprechenden Anzeigen vorkommen... ... dann kannst du besser darüber entscheiden ob es nach "System" aussieht (... so wie Du es Dir vorgestellt hast) Gruß EASY
-
Zusatzanzeige
Hallo @Chris06 , das ist eindeutiger, daß es einheitlich wird, den kleinen Strich am Anfang noch in die 2-Wege-Weiche mit einbauen Hinweis: Nicht zu abstrakt denken (wie Dein erster Versuch mit der 3-Weg-Weiche, [die Spuren gehen nicht vom Mittelpunkt aus]), das was Du darstellen möchtest (in diesem Fall die verschiedenen Weichen) einfach in der 2D-Ansicht betrachten und überlegen, wie Du die Geometrie auf ein Minimum reduzieren kannst (z.B. Abzweig kein Bogen sondern nur ein Strich der die Richtung anzeigt [so wie Du es gemacht hast]). Das ist der "Trick", den ich Dir mit auf den Weg geben kann um, einen Schaltzustand anzuzeigen. [und dann erst überlegen, wie Du es noch "schön" verpacken kannst]... Gruß EASY