Frage von Medienmacher:Hallo.
Ich habe eine Animation mit diversenen Ebenen, die mit dem Marionetten-Effekt ausgedehnt werden, und sich dann wieder zusammen ziehen. Diese Bewegung möchte ich hinsichtlich der vertikalen Ausdehnung reduzieren, also den Ausschlag der Elemente (realisiert über Positions-Veränderung eines Marionetten-Pins) weniger machen. Da ich nicht alle Keyframes manuell ändern will, dachte ich daran das über Expressions zu machen.
Folgender Code sollte gehen - dachte ich zumindest:
0.7*(effect("Marionette").arap.mesh("Gitter 1").deform("Marionetten-Pin 2").position)
D.h. ich möchte von der x-Position (= ) des Pins nur 70% haben (= 0.7).
Allerdings zeigt er mir eine Fehlermeldung, aber nur auf Grund von hinter .position!
Wenn ich das weg lasse, funktioniert alles. Also so:
0.7*(effect("Marionette").arap.mesh("Gitter 1").deform("Marionetten-Pin 2").position)
Allerdings wirkt sich die Veränderung dann auf beide Paramter der Position aus, was ich nicht will.
Weiss jemand wo hier der Fehler liegt?
Danke!
Michel
Antwort von Mylenium:
Dein Layer hat ja auch noch mindestens eine Y Position. Also ohne
position irgendwo wird das demzufolge nix... Du suchst den Fehler an der falschen Stelle...
Mylenium
Antwort von Medienmacher:
Danke, der Tip hat geholfen. :-)
So funktioniert"s: jetzt:
xPos = 1.1*(effect("Marionette").arap.mesh("Gitter 1").deform("Marionetten-Pin 2").position);
yPos = effect("Marionette").arap.mesh("Gitter 1").deform("Marionetten-Pin 2").position;
Macht zwar nicht genau das, was ich will, aber das krieg ich schon noch hin.
Grüße