Forum

Forum-Navigation
Du musst dich anmelden um Beiträge und Themen zu erstellen.

Schwierigkeiten mit der Eigenschaften Tafel bei extern verlinkten Objekten...

Ob es tatsächlich ein Bug ist, oder der eigentliche Bug mal wieder vor meinem Rechner sitzt, wird von Pete auf SourceForge gerade untersucht.
Hier erst einmal die knapp gefasste Problemstellung, (in deutscher Fassung natürlich,) die ich vergangene Nacht auf SourceForge in englisch gepostet habe:

"Beim Abspeichern zweier zur Deckung gebrachter, extern verlinkter Objekte in ihrer Animationsdatei mit AoI 3.0.3 habe ich Schwierigkeiten. Das erste extern verlinkte Objekt enthält ein mit Skelett versehenes (= geriggtes) PolyMesh einer Figur. Das zweite extern verlinkte Objekt ist die Darstellerversion der gleichen Figur: Änderungen in der Eigenschaften Tafel des zweiten Objektes (die die gleichen Werte aufweisen soll, wie in der Eigenschaften Tafel des ersten Objektes) lassen sich nicht dauerhaft sichern."

Es folgt eine Erklärung und Beschreibung meines Weges bis dahin. Da sie für Animationsvorhaben Einblicke gewähren kann, habe ich auch diese hier wiedergegeben:

"Wie ich stecken blieb:
Nachdem ich in die Animation des geriggten PolyMeshes meiner Figur in einer eigenen Animationsdatei mit den Position und Rotation Spuren ihres extern verlinkten Objektes gestartet war, fügte ich als nächstes eine Skelettspur ein und schloß die Animation von Armen und Beinen der Figur mit Keyframes darauf im Groben ab.
Dann wurde ich gewahr, daß weitere Verfeinerungen dieser Animation viel besser möglich wären, wenn, statt mit dieser einen Spur, deren Keyframes alle Skelettbewegungen enthielten, zumindest die Armbewegungen von den Beinbewegungen auf zwei (relativen) Spuren getrennt von einander verfügbar würden.
Nach sorgfältiger Lektüre des Handbuches bin ich jetzt überzeugt, daß dafür relative Pose Spuren der einzige Weg sind, den AoI anbietet. Richtig?
Aber diese müssen von allem Anfang einer Animation an verwendet werden und natürlich auch mit der(dazugehörigen) Darstellerversion ihres Figurenmeshes.
Also erzeugte ich sowohl Darsteller als auch (grundlegende) Posen aus einer Kopie des (geriggten) Figurenmeshes (ohne jede sonstige Veränderung) in der Originaldatei und verlinkte das als ein neues externes Objekt in meiner Animationsdatei. In der Hoffnung zumindest die Position und Rotation Daten meiner Animationstätigkeit der letzten Wochen wiederverwenden zu können, kopierte ich die Daten des älteren Objektes in den Dialog der ersten Keyframes auf beiden neuen Spuren. Aber die beiden Drahtgitter deckten sich noch nicht ( Nummer 1 im unteren Bild).
Dann entdeckte ich, daß die Werte von beiden Eigenschaften Tafeln der beiden extern verlinkten  Objekte sich von den (nun sich gleichenden) Keyframedialogen ebenso unterschieden, wie von einander (rote Unterstreichungen im rechten Bilddrittel).
Nachdem ich auch dort die Daten des neuen ("Darsteller") Objektes angeglichen hatte, saßen die Drahtgitterdarstellungen der beiden Objekte perfekt ineinander (roter Ring und unteres Bild bei Nummer 2). Mich selbst wieder "im richtigen Gleis" wähnend, speicherte ich beglückt die Ergebnisse ab und schloß AoI.
Als ich nach einer Tasse Tee AoI und die Animationsdatei wieder öffnete, konnte ich es nicht glauben, feststellen zu müssen, daß die (letzten) Änderungen von AoI 3.0.3 nicht gespeichert worden waren: die gleichen unterschiedlichen Werte auf der Eigenschaften Tafel wie vordem (Nummer 3 im Bild). Erneut keine Deckungsgleichheit der Meshes (wie bei Nummer 1 im Bild). Sooft ich auch die Werte neu eintrug und erneut versuchte, "speichern" und "speichern unter ..." klappte nicht, gleiches Resultat.
Schließlich machte ich Screenshots (im unteren Foto zusammengebaut), um (erneut) Ihre Hilfe zu erfragen: Kennen Sie ein Workaround, bitte? Oder bin (einmal öfter) ich der eigentliche Bug?"

"Fortsetzung" in die eine oder andere Richtung folgt ... 😛

Hochgeladene Dateien:
  • Du musst dich anmelden um auf Uploads zugreifen zu können.

Du kriechst da wohl in den entlegensten Ecken von AoI herum.

Ich versuche aber gerade auch, bestimmte Animationen handlicher zu gestalten. Von meinem Benni habe ich schon mehrere Versionen, je nachdem, was er machen soll. Einen für alle Fälle zweckmäßigen Stil habe ich noch nicht gefunden. Gibt es wahrscheinlich auch nicht.

Zitat von musi am 15. April 2019, 11:34 Uhr

Du kriechst da wohl in den entlegensten Ecken von AoI herum.

Nee, musi, es geht dabei leider nur um das schlichte "Abpausen" der alten von Dir schon zur Probe gerenderten Animation von Violetas ersten Aktionen. Die muß ich nämlich erst mal für die weiteren Verbesserungen, die anstehen (auf das Tutorial für Dich zu), tauglich bekommen. Näheres vermutlich ziemlich bald im Thread "rocken lassen" drüben, bzw. per mail!

Vielleicht kann ich Dir aber damit dann sogar einen Weg für Deinen Benni ebnen, der zumindest die gängigsten Situationen abdeckt/ermöglicht? Denn genau darum geht es mir ja gerade, neben dem individuellen Ausfeilen und Verbessern von Violetas Aktionen: einen Musterweg zu finden, der auch auf Woody, Spiros und andere menschliche Charaktere gültig anwendbar ist. Im Klartext: Ich versuche nicht nur Dein Können zu erreichen, sondern es zu bereichern 🙂 .

Die in diesem Thread verhandelten Schwierigkeiten ließen sich inzwischen "selbstverständlich" auch lösen, dank Petes Hilfe, wie im nun folgenden Rest des (hier übersetzten) Threads auf SourceForge zu lesen:

Pete am 12.04.2019 auf SourceForges englichsprachigem AoI Dicussionsforum:

Hi,
Zur Klärung:
Welchen Glättungsmodus haben die Spuren? Annähernd?
Setzen Sie die Positionen über die Eigenschaften Tafel? Nicht Keyframe Editor nach Keyframe Editor?

Donkritzel am 12.04.2019 auf SourceForges AoI Dicussionsforum:

Hi und danke für Ihre schnelle Reaktion, Pete.
Der (Glättungs-)Modus beider Spuren (bei beiden Objekten) ist „linear“ eingerichtet. Und die Keyframes in der Datei bei Zeitpunkt 0.0.
Normalerweise erzeuge (und ändere) ich Animationen von Keyframe Editor zu Keyframe Editor.
Aber in diesem Fall benötige ich eine genaue Kopie der Positionen und Rotationen des (bereits animierten) ersten extern verlinkten Objektes, weil sie mit verschiedenen anderen Teilen der Szenerie korrespondieren. Die sich entsprechenden Werte in den Dialogfeldern des Keyframe Editors von beiden extern verlinkten Objekten reichen nicht aus, um die Drahtgitter zur Deckung zu bringen (wie ich oben schrieb und im Bild darstellte). Um die „perfekte Deckungsgleichheit“ zu erreichen, mußte ich die (zu jenen unterschiedlichen) Werte der Eigenschaftentafel ebenfalls noch ändern, indem ich sie direkt in die vorgesehenen Bereiche eintrug. Aber es gibt da keine "Ok"-Schaltfläche oder ähnliches, um diese Änderungen zu speichern. Auch die Eingabetaste auf meiner Tastatur zu drücken (wie für Namensänderungen eines Objektes) zeigt keine Reaktion. Wenn ich Spur und Key(s) in beiden Spuren des neuen Objektes markiere und Strg/Umschalt/K drücke, ist ebenfalls keine dauerhafte Änderung der Eigenschaftentafel möglich. So war der einzig mir verbleibende Weg, um diese Änderungen zu sichern, die Datei zu speichern, wie oben beschrieben. Änderungen direkt in der Eigenschaftentafel zu setzen, kam mir in den Sinn, weil einerseits das (frühere) Handbuch mir diese Möglichkeit mitteilte, andererseits ich nicht weiß, wie ich sonst diese Werte korrekt ändern könnte (und wo sie letztlich her kommen).

Pete am 12.04.2019 auf SourceForges AoI Dicussionsforum:

Ich bin mir immer noch nicht sicher ob ich Sie richtig gelesen habe. Aber ich versuche mal ein paar Sachen aufzulisten: Sowie Sie Keyframes in der Zeitleiste haben, übernehmen diese Keyframes die Kontrolle von Position und Rotation des Objektes. Die Eigenschaftentafel (oder das Verschieben des Objektes) ändern die Position nur vorübergehend. Sobald Sie den Zeitzeiger bewegen, oder die Datei abspeichern und wieder öffnen, wird die Position vom Keyframe ausgelesen.

  • ABER man kann die vorübergehende Position in der Szene in die Keyframes speichern: Die Ok Schaltfläche, die Sie vermissen, ist das Tastenkommando Strg+Umschalt+K. Das ändert die Keyframes des gewählten Objektes, die sich von der aktuellen Szenenposition unterscheiden. Wenn es an diesem Zeitpunkt keinen Keyframe gibt, erzeugt es einen neuen, sofern das Objekt sich bewegt hat. Dafür müssen die Spuren nicht angewählt sein, nur das Objekt.
  • Strg+K erzwingt einen gänzlich neuen Keyframe aus der Szenenposition, aber nur auf den angewählten Spuren. Es ist egal ob die Position sich seit dem letzten Keyframe geändert hat oder nicht, ein neuer Keyframe wird erzeugt, oder ein vorhanderner eben neu geschrieben.
  • Manchmal könnte man mehrere Keyframes so dicht nebeneinander gesetzt haben, daß man sie nicht mehr erkennt … Das erzeugt typischerweise plötzliche Positionssprünge. Zoomen Sie weiter in die Zeitleiste hinein und versuchen sie Keyframes zu verschieben. Wenn da mehrere aufgestapelt sind, sollte es Ihnen so gelingen, sie zu trennen und die zu löschen, die Sie nicht benötigen.

Und dann nochmal zum Keyframe Änderungsvorgang:
Bewegen Sie den Zeitzeiger an den Zeitpunkt, den Sie korrigieren möchten.

  • Bearbeiten Sie die Position des Objektes mit Verschieben oder Werte in die Eigenschaftenfelder tippen.
  • Drücken Sie Strg+Umschalt+K. Nun sollte die Änderung in den Keyframes gespeichert sein, die an diesem Punkt vorhanden waren/sind.
  • Bewegen Sie den Zeitzeiger zur Kontrolle.

Edit Pete: Über den Fall nochmal nachdenkend, meine ich, es sollte möglich sein ein Werkzeug zu schaffen, um Position und Rotation Spuren aus alten Dateien in neue zu kopieren und mit den gewünschten Objekten zusammenzupassen. Der funktionelle Code dürfte nicht so schwierig zu erzeugen sein, aber ihn wirklich anwendbar zu bekommen, wäre eine etwas andere Geschichte.

Donkritzel am 13.04.2019 auf SourceForges AoI Dicussionsforum:

Vielen Dank, Pete,
für all Ihre Bemühungen! Diese sehr gute Zusammenstellung von – meiner unmaßgeblichen Meinung nach – allen Aspekten der Arbeit mit Keyframes ist ein neuerliches Beispiel Ihrer außerordentlichen Kenntnisse! Einige dieser Aspekte kannte ich bereits aus der Lektüre des Handbuches, andere begegneten mir „zufällig“ während meiner Animationsarbeit mit AoI, únd ich vergaß sie danach wieder. Wirklich neu ist für mich Ihr Hinweis auf den vorübergehenden Character von Positions- und Orientierungs-Werten der Eigenschaften Tafel.
Alles in allem führte mich Ihr Posting, wie es jetzt aussieht, zur Lösung meines Problems mit „nicht deckungsgleichen Objekten“.
Bevor ich diesen Thread eröffnete, war ich überzeugt davon, daß es ausreichen würde die Werte von Position und Rotation in die Keyframes der Spuren des neuen Objektes zu kopieren, um eine „perfekte“ Deckungsgleichheit der Meshes zu erwirken. Wie oben beschrieben, war das nicht alles: Die identischen Werte der Eigenschaftentafeln sind nötig, um sie zu bekommen. Jene sind aber offenbar die Ergebnisse einer voübergehenden Formierung – beeinflußbar, aber nicht unmittelbar speicherbar.
Zweifellos bekam ich durch Ihre obige Antwort den Einfall, es „andersherum“ zu versuchen:
Dafür löschte ich zunächst alle alten Keyframes auf den Spuren des neuen Objektes. Dann änderte ich die Werte in der Eigenschaften Tafel des neuen Objektes in die der älteren (animierten) Version. Das reichte, um die ersehnte Deckungsgleichheit der Objekte zu bekommen! Danach keyframete ich die Position und Rotation des neuen Objektes und speicherte alles. Den grünen Läufer zu bewegen, hat nun nichts mehr zerstört. So denke ich, wird es für alle derartigen Kopien zukünftig gleichermaßen funktionieren (sollten sie nötig werden).
Eine Anwendung zum leichteren Kopieren von Werten könnte kleine Irrtümer wie diesen vermeiden. Ich erinnere mich an meinen Wunsch dazu. Selbstverständlich wäre es großartig, solch eine zu haben …

Pete am 13.04.2019 auf SourceForges AoI Dicussionsforum:

Gern geschehen 🙂
Ich vergaß zu erwähnen, daß die Eigenschaften Tafel Positon und Rotation stes in "Szene" Koordinaten ausweist. Was die Werte im Keyframe bedeuten, hängt von den Spureinstellungen ab.
Voreingestellt sind die Spur Koordinatensysteme auf „Eltern“. Eben, während ich dies schreibe, kam ich auf den Gedanken, das ein mächtiger Weg Bewegungen anzugleichen wäre, die Spuren von „Objekt 2“ auf „Anderes Objekt“ einzurichten und „Objekt 1“ als zu verfolgendes Objekt zu wählen. Alles was man dann braucht, ist (je) ein Keyframe auf den Positon und Rotation Spuren von „Objekt 2“, alle Werte auf 0.0 gesetzt. Jetzt wird Objekt 2 brav Objekt 1 folgen wohin es auch immer geht …
Tut mir Leid, daran habe ich zuvor nicht gedacht, aber ich hoffe es hilft zukünftig.
Ich frage mich immer noch ein wenig, was da vor sich ging. Wenn Sie die exakt gleichen Werte in den Keyframes zu exakt gleichen Zeiten hatten, hätten die Position und Rotation Werte in den Feldern der Eigenschaften Tafel auch passen sollen. - Aber das ist schwer zu beurteilen, ohne die Datei oder die geleistete Arbeit zu sehen.
Wie auch immer, ich habe mal nachgesehen: Position und Rotation Keyframes können innerhalb einer Datei sehr einfach Spur für Spur mit einem Skript kopiert werden. Aber ich denke, die "Datei-zu-Datei" Aufgabenstellung bedarf einer ordentlichen Benutzeroberfläche. Der Code würde einigermaßen dem Einbringen eines verlinkten Objektes ähneln, was die Ursprungsdatei nicht für die Bearbeitung öffnet, sondern sie vielmehr im Hintergrund ausliest. - Na, wenn mir die Beschäftigung über Ostern ausgehen sollte … 🙂

Donkritzel am 14.04.2019 auf SourceForges AoI Dicussionsforum:

Danke für diese neuen und interessanten Informationen! Ich verwende die „Anderes Objekt“ Einrichtung für eine Tasche, die meine Figur trägt, würde aber nie an diese Möglichkeit gedacht haben …

Zitat Pete:
Wenn Sie die exakt gleichen Werte in den Keyframes zu exakt gleichen Zeiten hatten, hätten die Position und Rotation Werte in den Feldern der Eigenschaften Tafel auch passen sollen.“

Wie im oberen Bild gezeigt und oben geschrieben, waren die Werte in den Keyframes anfänglich identisch. Mein erster Blick auf die Szenerie nach Erstellung des extern verlinkten Objektes besagte, daß da Anpassung per Verschiebung und Verdrehung nötig ist, um es näher an seine Startposition heranzubringen (ähnlich jenem Verschieben und Verdrehen, das ich früher mit dem älteren Objekt durchgeführt hatte). Offenbar habe ich mit meinem Geschiebe des zweiten Objektes nicht die gleichen Koordinaten wie beim ersten Schieben und Drehen erwischt. Also konnte die Abgleichung der Keyframes keine bessere Deckung bewirken. Oder die „Datei Geschichte“ der Originalfigurendatei könnte leicht eine Positionsänderung des Meshes verschleiern, weil es da frühere Versuche „ohne Vorsicht oder Plan“ zwischen den beiden, als Basis der extern verlinkten Objekte verwendeten Versionen gab, die ich wieder gelöscht habe.
Wie auch immer: Jetzt, nach dem Zur Deckung Bringen beider Meshes anhand der Werte der Eigenschaften Tafel, unterscheiden sich die Werte der beiden Objekte überwiegend (nur noch) bei den Rotation Keyframes.
Hinsichtlich des „Klickkopierers“, wie ich das erbetene „Kopierwerkzeug“ inzwischen nenne, sammle ich derzeit Ideen, die ich über die Jahre aus verschiedenen Boards erinnere, die an AoI interessiert waren, für meinen ersten Diskussionsvorschlag. Der wird hauptsächlich neue Einträge für die Menüs der Hauptmenüleiste und mehrerer Editoren Menüs der aktuellen Benutzeroberfläche beschreiben. - Ich werde den in „meinen“ Request-Thread (feature request # 380) einbringen, so bald ich ihn diskutierbar „auf die Reihe gebracht“ habe. Weil Juli 2017 schon ein paar Tage vorüber ist und Ostern sehr bald kommt :-).

Dieser langen Rede kurzer Sinn findet sich nun hier im Board als Animationstipp unter

Wie pause ich in AoI 3.0.3 Positionen von (identischen) Meshes am einfachsten ab?