WalterW Geschrieben 6. November 2022 Geschrieben 6. November 2022 Hallo liebe Forumsgemeinde Ist es möglich mit Hilfe von Lua in den Objekt-Eigenschaftsparametern den Positionswert der Höhe (z) wie eine Art Variable festzulegen? In der Ereignisverwaltung habe ich nichts gefunden (oder eine Möglichkeit übersehen). Wenn es also mit Lua möglich ist, wäre ich für eine Antwort mit einem Beispiel sehr dankbar. Freundliche Grüße Walter
Andy Geschrieben 6. November 2022 Geschrieben 6. November 2022 (bearbeitet) Hallo Walter, Du kannst x,y,z als Position so verändern: (Beispiel für z) $("MeinObjekt").transformation.position.z = 20 Du kannst auch die Winkel ändern (x,y,z,w aber im Quaternion-Format!) $("MeinObjekt").transformation.rotation.z = 20 Und mit der property transformation.scale schließlich noch die Skalierung. EDIT: und richtig, ohne Skript geht es nicht Gruß Andy Bearbeitet 6. November 2022 von Andy
WalterW Geschrieben 6. November 2022 Autor Geschrieben 6. November 2022 Hallo Andy, vielen Dank für deine Antwort. Ich werde das morgen ausprobieren und mich dann noch einmal melden. Freundliche Grüße Walter
WalterW Geschrieben 7. November 2022 Autor Geschrieben 7. November 2022 Hallo Andy, ich habe deinen Vorschlag ausprobiert. Es funktioniert bei mir leider nicht! Ich bitte dich, schau dir die folgenden zwei Abbildungen an und sage mir, was im Lua-Skript falsch ist. Fehlermeldungen erhalte ich keine, was auch aus dem unten abgebildeten Protokollauszug zu erkennen ist. Die Anweisung aus Zeile 9 im Lua-Skript wird offensichtlich nicht ausgeführt. Siehe hierzu die Zeilen 1. und 3., aus dem nachstehenden Protokoll. In Zeile 3. müsste doch der Wert z = 12.8000...... stehen. In den Eigenschafts-Positionsdaten vom Objekt "Bauernhof Getreidefeld 9" ist entsprechend auch keine Veränderung erkennbar. Ich hoffe du kannst das Problem lösen. Freundliche Grüße Walter
Hawkeye Geschrieben 7. November 2022 Geschrieben 7. November 2022 Hallo Walter, vor 54 Minuten schrieb WalterW: was im Lua-Skript falsch ist. versuch es mal mit dieser Anweisung. Bei mir geht das. Viele Grüße, Hawkeye
Andy Geschrieben 7. November 2022 Geschrieben 7. November 2022 (bearbeitet) Hallo Walter, also, das erstaunt mich jetzt doch ein wenig. Eigentlich ist da nichts falsch. Möglicherweise mag er bei einem diskreten Objekt die Komponentenzuweisung nicht und Du mußt über eine Zwischenvariable gehen. Ist mir dann aber nicht klar, weshalb. local tmp = {} local objekt objekt = $("Bauernhof Getreidefeld 9") tmp = objekt.transformation.position tmp.z = 80/6.25 objekt.transformation.position = tmp Im Test geht das bei mir. Wenn das so geht, wie Hawkeye es beschrieben hat, mache es halt so. Gruß Andy EDIT: Bitte nicht als Grafik kopieren, dann ist es unbrauchbar. Skript in der EV markieren, in Zwischenablage kopieren und hier in die Code-Tags <> setzen. Oder einfach die mbp anhängen. Bearbeitet 7. November 2022 von Andy
Hawkeye Geschrieben 7. November 2022 Geschrieben 7. November 2022 Hallo Andy, vor 5 Minuten schrieb Andy: Im Test geht das bei mir. Walter hatte keine Liste (bei dir: „tmp = {} “ ) definiert. Vielleicht liegt es daran. VG Hawkeye
Andy Geschrieben 7. November 2022 Geschrieben 7. November 2022 Ja, Hawkeye. Genau das ist der Grund. Ich weiß, dass ich da selbst schon Probleme hatte und es seitdem so mache. Ich meine auch, damals im Forum gefragt zu haben und Neo selbst hat dann was dazu geschrieben und warum es so ist. Aber da hört's auch schon auf. Die Posts finde ich nicht mehr. Sorry, dass ich da jetzt nochmal in die Falle getappt bin. So rein optisch kann das von Walter ja eigentlich nicht falsch sein. Aber Lua ist eben anders.
Goetz Geschrieben 7. November 2022 Geschrieben 7. November 2022 Ich habe es eben probiert und kann bestätigen, dass man eine Liste mit allen drei Werten (x, y und z) übergeben muss, damit ein Objekt an die neue Stelle verrückt wird.
Andy Geschrieben 7. November 2022 Geschrieben 7. November 2022 Oder man benutzt die Funktion, die Hawkeye beschrieben hat. Das ist wirklich der einfachste Weg.
EASY Geschrieben 7. November 2022 Geschrieben 7. November 2022 (bearbeitet) Hallo, ... vielleicht noch der Vollständigkeit halber... objekt.transformation.position = {x=10,y=20,z=30} setzt das Objekt auf die Koordinaten x=10, y=20, z=30 object.transformation:translateZ(10) verschiebt das Objekt aus seiner derzeitigen Position um 10 in z-Richtung. Gruß EASY Bearbeitet 7. November 2022 von EASY
WalterW Geschrieben 7. November 2022 Autor Geschrieben 7. November 2022 Hallo an alle bisher Beteiligten, jetzt habt ihr mich mehr oder weniger "überrollt" und mich damit in den "Rückstand" versetzt. Der Reihe nach: Was Hawkeye schrieb: "versuch es mal mit dieser Anweisung" hat zwei Ergebnisse: Positiv, mit der Anweisung wird der z-Wert im Objekt gespeichert und das Objekt verändert auch seine z-Position. Negativ, mit der maßstabsgerechten Umrechnung (für Spur N = 6.25) funktioniert die richtige Werterrechnung nicht. Fazit: Also so nicht anwendbar. Trotzdem vielen Dank für die Rückantwort. Danach schrieb Andy: Er macht einen neuen Vorschlag über den Weg einer Tabelle, in der alle drei Positionswerte vom Objekt stehen und verändert aus der Tabelle den Wert von "z". Das werde ich morgen ausprobieren und glaube Andy, wenn er sagt, dass das bei ihm funktioniert. Was Götz dann auch bestätigte. Euch beiden hierfür auch meinen Dank. Die Information von EASY werde ich ebenfalls morgen berücksichtigen. Toll, welche Hilfe hier geboten wird. Mit freundlichen Grüßen und noch einen schönen Abend. Ich werde morgen von meinem Ergebnis berichten. Walter
WalterW Geschrieben 7. November 2022 Autor Geschrieben 7. November 2022 Hallo es hat mir keine Ruhe gelassen und ich habe die Variante von Andy, mit der Lösung über den Weg der Tabelle, ausprobiert. FUNKTIONIERT BESTENS. Nochmals herzlichen Dank und freundliche Grüße Walter
Hawkeye Geschrieben 7. November 2022 Geschrieben 7. November 2022 Hallo Walter, vor 8 Minuten schrieb WalterW: Negativ, mit der maßstabsgerechten Umrechnung (für Spur N = 6.25) funktioniert die richtige Werterrechnung nicht. Fazit: Also so nicht anwendbar. Da irrst du dich. Dein Ziel ist es laut deinen Angaben, vor 4 Stunden schrieb WalterW: die Z-Position von 11,4 auf 12,8 also um 1,4 von den bestehenden Z-Position zu verschieben. vor einer Stunde schrieb EASY: object.transformation:translateZ(10) verschiebt das Objekt aus seiner derzeitigen Position um 10 in z-Richtung. Setze für die „10“ in Easy‘s Beispiel deine gewünschten „1,4“ ein und du hast dein Ziel ohne eine Maßstabsumrechnung erreicht. VG, Hawkeye
WalterW Geschrieben 8. November 2022 Autor Geschrieben 8. November 2022 Hallo Hawkeye, entschuldige meine "Negativ" Beurteilung. Was ich zu dem Zeitpunkt gestern noch nicht wusste, dass mit der Anweisung "objekt.transformation:translateZ()" das Objekt verschoben wird. Ich bin davon ausgegangen, dass der Wert als absolut neu gesetzt wird. Auf jeden Fall eine nützliche Alternative zu dem Skript-Vorschlag von Andy. Man lernt eben nie aus. Nochmals auch für diese Antwort von dir vielen Dank. Freundliche Grüße Walter
Hawkeye Geschrieben 8. November 2022 Geschrieben 8. November 2022 Hallo Walter, vor 10 Minuten schrieb WalterW: Auf jeden Fall eine nützliche Alternative zu dem Skript-Vorschlag von Andy. Ja, habe auch wieder was dazu gelernt. 😁 Aber zeig doch mal ein Bild, was du damit vorhast. Klingt auf jede Fall interessant. Lass uns an deiner Idee teilhaben. Viele Grüße, Hawkeye
Andy Geschrieben 8. November 2022 Geschrieben 8. November 2022 vor 52 Minuten schrieb Hawkeye: was du damit vorhast Getreide - wächst
WalterW Geschrieben 8. November 2022 Autor Geschrieben 8. November 2022 Hallo Hawkeye und Andy, sowie alle anderen Interessierten, wenn ich so weit bin, dass etwas Vorzeigbares aus meiner Absicht geworden ist, werde ich gerne etwas dazu zeigen. Im Grunde hat Andy schon einen Volltreffer gelandet. Es handelt sich tatsächlich um das steuerbare und langsame "wachsen" eines Getreidefeldes aus dem "Untergrund" heraus. Deshalb brauchte ich auch die Funktion für die Höhenpositionierung der Getreidefelder. Viele Grüße Walter
Goetz Geschrieben 8. November 2022 Geschrieben 8. November 2022 vor 2 Stunden schrieb WalterW: Deshalb brauchte ich auch die Funktion für die Höhenpositionierung der Getreidefelder. Hallo Walter, Alternativ kannst du ein kurzes Stück virtuellen Fahrweg senkrecht verlegen, das SX 1 Fahrzeug drauf setzen und das Getreidefeld an dieses Fahrzeug koppeln. Funktioniert prächtig und ist nicht schwer zu bewerkstelligen. Viele Grüße Götz
Henry Geschrieben 8. November 2022 Geschrieben 8. November 2022 Hi @Goetz, vor 4 Stunden schrieb Goetz: Funktioniert prächtig und ist nicht schwer zu bewerkstelligen. ja, aber die Ernte unter dem fahrenden Mähdrescher wird etwas verzwickter, meint Henry
Roter Brummer Geschrieben 9. November 2022 Geschrieben 9. November 2022 vor 9 Stunden schrieb Henry: die Ernte unter dem fahrenden Mähdrescher wird etwas verzwickter Es gibt auch ein animiertes Getreidefeld. 46724A44-7BFD-4CA1-8CA0-FCFEBE7BBC75 HG Brummi
WalterW Geschrieben 10. November 2022 Autor Geschrieben 10. November 2022 Hallo an alle Interessierten, ich habe, entsprechend dem Wunsch einiger, ein Modul erstellt, das einen Bauernhof mit animiertem Getreidefeld, der Ernte und dem neu "wachsenden" Getreide zeigt. Die Contend-ID lautet: 6429BD22-761C-4DAD-9433-EDF2D5F6DB25 Viel Spaß und freundliche Grüße Walter
Dad3353 Geschrieben 10. November 2022 Geschrieben 10. November 2022 @WalterW... Very good, well done. Sehr gut, gut gemacht.
Leuchtturm Geschrieben 10. November 2022 Geschrieben 10. November 2022 Hallo @WalterW, funktioniert super, auch unter V8. Gefällt mir sehr. Viele Grüße, Thomas
WalterW Geschrieben 11. November 2022 Autor Geschrieben 11. November 2022 Hallo Douglas, vor 20 Stunden schrieb Dad3353: Sehr gut, gut gemacht. vielen Dank für die Rückmeldung und das Lob. Freundliche Grüße Walter
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden