HWB Posted June 3, 2021 Share Posted June 3, 2021 Hallo @Hawkeye, da kommen Erinnerungen an meine RD500 vor 20 Jahren wieder auf Gruß Hermann Link to comment Share on other sites More sharing options...
Hawkeye Posted June 4, 2021 Author Share Posted June 4, 2021 Hallo @Neo, Am 31.5.2021 um 20:34 schrieb Neo: wie schnell eine Animation im Studio läuft entscheidet der Modellbauer, Ich hab mal mit verschiedenen Anzahlen von definierten Frames in Blender experimentiert, um die Abspielgeschwindigkeit zu beeinflussen. Dabei habe ich etwas Interessantes festgestellt. Die folgende Animation hat nur 3 Frames in Blender: Die Zwischenschritte zwischen 0 und 1 werden mindestens in 1/1000 im MBS erzeugt. Müsste es dann im MBS nicht auch möglich sein, die Abspielgeschwindigkeit zu variieren? So in die Richtung Zeitlupe und Zeitraffer ? Nur mal so als Gedankenspielerei. Viele Grüße Hawkeye Link to comment Share on other sites More sharing options...
Neo Posted June 4, 2021 Share Posted June 4, 2021 Hallo Hawkeye, vor 11 Minuten schrieb Hawkeye: Müsste es dann im MBS nicht auch möglich sein, die Abspielgeschwindigkeit zu variieren? das gibt es bereits im Bereich der Kransteuerung, bisher ist diese Funktion für andere Animationen aber noch nicht für den Nutzer zugänglich. Viele Grüße, Neo Link to comment Share on other sites More sharing options...
Hawkeye Posted June 4, 2021 Author Share Posted June 4, 2021 Hallo Neo, vor 16 Minuten schrieb Neo: bisher ist diese Funktion für andere Animationen aber noch nicht für den Nutzer zugänglich. Na dann hoffe ich mal auf V7. Vielen Dank und viele Grüße Hawkeye Link to comment Share on other sites More sharing options...
Roter Brummer Posted June 4, 2021 Share Posted June 4, 2021 Hallo Neo, vor 18 Minuten schrieb Neo: bisher ist diese Funktion für andere Animationen aber noch nicht für den Nutzer zugänglich. z.B. für Schranken wäre das meiner Meinung nach sehr nützlich. HG Brummi Link to comment Share on other sites More sharing options...
Hawkeye Posted June 4, 2021 Author Share Posted June 4, 2021 Hallo Brummi, das würde die Möglichkeiten für Animationen generell erweitern, wenn die Abspielgeschwindigkeit auch noch über eine Variable gesteuert werden könnte. Vor Allem in Verbindung mit einer von JimKnopf und Götz vorgeschlagenen Play-Funktion, Abspielen von …, bis … . Am 1.6.2021 um 09:49 schrieb JimKnopf: Spiele die Animation von Position 0,xx bis 0,xx ab. Am 1.6.2021 um 16:51 schrieb Goetz: Ein "play von ... bis ..." würde mir auch gut gefallen. Viele Grüße Hawkeye Link to comment Share on other sites More sharing options...
HaNNoveraNer Posted June 4, 2021 Share Posted June 4, 2021 Hi Schlage eine graphische Oberfläche vor, bei der man eine Kurve mit mehreren Punkten definieren kann für die Geschwindigkeit und die Grenzen ;-) Ähnlich einer Modulationskurve für die Filter in einem Synthezizer. If u know what I mean... Gruß Thomas Link to comment Share on other sites More sharing options...
Hawkeye Posted June 4, 2021 Author Share Posted June 4, 2021 (edited) Hallo Thomas, vor 2 Stunden schrieb HaNNoveraNer: Schlage eine graphische Oberfläche vor, bei der man eine Kurve mit mehreren Punkten definieren kann für die Geschwindigkeit und die Grenzen ;-) Klasse Idee, schließlich „arbeiten“ wir hier ja auch in einem „Professional Studio“. Nein im Ernst, eine Play- Funktion mit (Startposition, Endposition) hat einen gewissen Biß, z.B. als neue Funktion (parallel zur bisherigen vorhandenen) playto(0.5, 0.7) = vorwärts, dadurch wird erstens die Richtung, oder bei playto(0.5, 0.3) eben die Richtung = rückwärts vorgegeben und zusätzlich wird die Animation bei Erreichen der Endposition gestoppt. Dann noch die Abspielgeschwindigkeit mit wählen zu können, z.B. playto(Startposition, Endposition, Geschwindigkeit) wäre doch Klasse. Dann kann man sich den ganzen Aufwand mit dem Timer, wie in der obigen Beispiel-Anlage sparen, der auch nur Rundungsfehler erzeugt. Viele Grüße Hawkeye Edited June 4, 2021 by Hawkeye Ergänzungen Link to comment Share on other sites More sharing options...
Hawkeye Posted June 5, 2021 Author Share Posted June 5, 2021 Hallo @Neo, beeinträchtigen viele Einträge pro Sekunde in der Ereignisprotokollierung die Performance des MBS oder der PC-Leistung erheblich, oder kann das vernachlässigt werden ? Als einfaches Beispiel eine große (unsinnige) Schleife in Lua: for i = 1, 10000, 1 do print(„Schritt :“, i) end Es wird ja die Ausführung (z.T. Anfang und Ende) jedes Ereignisses, sowie jede gesetzte Variable und jede print()-Anweisung protokolliert. Viele Grüße Hawkeye Link to comment Share on other sites More sharing options...
Andy Posted June 5, 2021 Share Posted June 5, 2021 Hallo Hawkeye, nicht fragen, messen! Gruß Andy Link to comment Share on other sites More sharing options...
Hawkeye Posted June 5, 2021 Author Share Posted June 5, 2021 😂😂 Hallo Andy, ich wollte lieber erstmal nachfragen, bevor ich den Rechner dadurch in die Knie zwinge, wenn er über 10.000 Ereignisse pro Sekunde abarbeiten soll. Ich hab halt noch kein Gefühl dafür, wie groß eine Anlage oder wieviele Ereignisse ausgeführt werden können, bevor der Rechner streikt. Hab eh schon Probleme mit gelegentlichem „Einfrieren“. Irgend ein Programm adressiert bei mir wohl eine reservierte Speicheradresse, was zum Einfrieren führt. Mußte gerade erst das MBS per Backup wiederherstellen. Gruß Hawkeye Link to comment Share on other sites More sharing options...
Andy Posted June 5, 2021 Share Posted June 5, 2021 Hallo Hawkeye, überleg mal, was Dein Rechner mit der Grafik sonst so leistet. Mit der Zählschleife bis 10000 zuckt er nicht großartig. Viel größer kannst Du den Wert aber nicht machen, denn dann bricht MBS mit einem Timeout ab. Allerdings: für meine Seilbahn habe ich damals einen 60 Hz-Timer eingesetzt, worauf Neo dann gemeint hat, da wäre eine Hookfunktion für derart schnelle Dinge sinnvoller und sie eigentlich in Aussicht gestellt. Hat dies später aber doch widerrufen, da dann doch wieder Schindluder mit getrieben wird und Reklamationen kommen. In der Ereignisprotokollierung nervt dieser Timer sowieso, da er diese natürlich flutet. Ich nehme dabei an, dass hierbei nichts verschluckt wird - als muß etwas ausgebremst werden. Insofern dürfte Deine Schleife schon einen Effekt haben. Gruß Andy Link to comment Share on other sites More sharing options...
Hawkeye Posted June 5, 2021 Author Share Posted June 5, 2021 (edited) Hallo Andy, mir geht es auch nicht explizit um die „print“- Anweisung, die sollte auch nur als Beispiel dienen. Ich habe über „benutzerdefinierte“ Ereignisse in Lua ein paar kleine Funktionen geschrieben, die die Animationen eines Objektes, wie in den vorangegangenen Beiträgen auch von Dir beschrieben, eben von einer Startposition bis zu einer definierten Endposition in einer variablen einstellbaren Dauer abspielen. Damit das auch flüssig abläuft, werden eben in einer Schleife für 24 Einzelbilder/ s (x Dauer) die Schritte für jeweils eine Animation berechnet, die dann über „Verzögerungen“ / Schritt größtenteils zeitgleich ausgeführt werden. Das soll den Timer ersetzen, weil die Animationen mit Timer ungenau stoppen. (Verzögerungen können zwar nicht in einer Schleife ausgeführt werden, aber Sie können von einer Schleife aus in einem anderen benutzerdefinierten Ereignis gestartet werden. Die Verzögerungen müssen nur alle unterschiedliche Namen haben, damit sie sich nicht gegenseitig beeinflussen, oder gar überschrieben werden. Bei 5 s für eine Objekt-Animation sind das schon 120 verschiedene Verzögerungs-Anweisungen, die berechnet und gleichzeitig ausgeführt werden, sie stoppen nur zeitversetzt. Bei z.B. 10 Objekten gleichzeitig, wären das 1200 Anweisungen und bei jedem Start/ Stop einer Verzögerung wird ein Eintrag also 2 Einträge pro Verzögerung in das Ereignissprotokoll geschrieben. Wieviele Objekte (Gondeln + Rad + Sonstiges) werden z.B. bei einem Riesenrad animiert ? Da werden die 10.000 Einträge pro Sekunde auch nicht ausreichen. Bei früheren PC hatten solche Einträge immer einen großen Einfluss auf die Leistung. Mit vielen Objekten hab ich es zwar noch nicht probiert, mach ich aber noch. Mal sehen, wann der Rechner anfängt zu meckern. VG Hawkeye Edited June 5, 2021 by Hawkeye Link to comment Share on other sites More sharing options...
Neo Posted June 5, 2021 Share Posted June 5, 2021 Hallo Hawkeye, deine Herangehensweise ist die falsche, jeder Befehl benötigt > 0 Sekunden Verarbeitungszeit. Somit sollte deine Frage nicht sein, was das Studio alles leistet (das ist ziemlich viel), sondern wie kann ich Lösungen auf eine Komplexität von O(1) reduzieren. Wenn du häufig durch eine Liste von vielen tausend Einträgen iterieren musst, solltest du dort nach einem anderen Konzept suchen. Aus diesem Grund ist auch Andys 60hz-Funktion problematisch, weil nichts mehr ausbremst als ständige Prüfungen ohne Änderungen. Um Animationen in einem bestimmten Bereich performant abspielen zu können musst du auf eine Studioerweiterung warten, denn dort wurden die Animationen bereits optimiert, die Steuerung steht lediglich der EV noch nicht zur Verfügung. Viele Grüße, Neo Link to comment Share on other sites More sharing options...
Hawkeye Posted June 5, 2021 Author Share Posted June 5, 2021 Hallo @Neo, vor 2 Stunden schrieb Neo: musst du auf eine Studioerweiterung warten, denn dort wurden die Animationen bereits optimiert, die Steuerung steht lediglich der EV noch nicht zur Verfügung. Das sowieso, freue mich schon darauf. Aber um die Möglichkeiten mit Lua- Skripten und „benutzerdefinierten“ Ereignissen auszutesten, um dabei etwas zu lernen, brauchte ich mal eine Aufgabenstellung. Das das auch keine „elegante“ Lösung ist, weiß ich. vor 2 Stunden schrieb Neo: Somit sollte deine Frage nicht sein, was das Studio alles leistet (das ist ziemlich viel), sondern wie kann ich Lösungen auf eine Komplexität von O(1) reduzieren. Das ist dann doch aber erst der 2. Schritt. vor 2 Stunden schrieb Neo: deine Herangehensweise ist die falsche Warum das, und schon wieder? Ist ja schon fast wie ein Kompliment. Der 1. Schritt ist doch immer überhaupt eine funktionierende Lösung zu finden. Dadurch habe ich ja erst festgestellt, das es keine optimale Lösung ist, aber es ist eine Lösung. vor 2 Stunden schrieb Neo: solltest du dort nach einem anderen Konzept suchen. Hab ich gemacht, jawohl. Erste Lösung war den „Timer“ einsetzen, Probleme feststellen, diese lösen oder eine andere Herangehensweisen ausprobieren. Jetzt hab ich schon zwei Lösungen, zugegeben beide sind nicht optimal, aber ich habe einen Haufen dazugelernt. Aus den Aufgaben denen man sich stellt, und den Fehlern, die man dabei macht, lernt man immer noch am meisten, wenn man versteht, welche es sind. „Experience is the Knowledge that enables you to recognize a mistake when you make it again.“ (Martin Leeuwis) Wo soll Erfahrung und Routine sonst herkommen. Viele Grüße Hawkeye Link to comment Share on other sites More sharing options...
Neo Posted June 7, 2021 Share Posted June 7, 2021 Hallo Hawkeye, sieh meinen Beitrag nicht als Kritik an deinem Forscherdrang, sondern als Tipp, in welche Richtung du dich als nächstes bewegen solltest. Für ein Proof-of-Concept kannst du natürlich jede beliebige Lösung wählen. Viele Grüße, Neo Link to comment Share on other sites More sharing options...
prinz Posted June 8, 2021 Share Posted June 8, 2021 Hallo zusammen, zum ursprünglichen Thema passt der Beitrag von Streit_ross: Die Lösung fand ich gut und hab sie gleich eingebaut. Bis es Alternativen gibt, muss man das wohl so machen. Grüße, Wolfgang Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now