Frage von tillsen:Halle
Ich möchte analog dem Paramount-Logo Sterne entlang einem Pfad animieren. Hat das jemand schon mal gemacht? Habe mit Trapcode Stroke und Particular versucht aber komme nicht weiter...
Vielen Dank für eure Inputs!
Antwort von deformatik:
Wenn du mit CS3 arbeitest kannst du ja den Stern mit einer Formebene erstellen. Den Pfad kannst du z.B. in Illustrator erstellen und anschliessend via copy/paste in die Positionseigenschaft des Sterns kopieren oder du erstellst den Pfad direkt in ae.
Gruss
Antwort von tillsen:
Besten Dank für die Nachricht, doch ich glaube ich muss mich präziser ausdrücken: Es geht mir um die Animation der Sterne entlang einem Pfad. Also: Die Sterne fliegen in einer Reihe nah unterhalb der Kamera ins Bild, drehen sich in ihrer Achse und reihen sich im Kreis um den Berg. Gemäss dem neuen Logo, nicht das alte wo die Sterne nur stehen.
Ich möchte also die Sterne entlang einem Pfad fahren lassen.
Antwort von lx2:
So einfach geht das nicht!
Entweder du keyframest jeden Stern einzeln, oder du machst das mit Expressions.
Für Expressions erstellst du ein Nullobjekt, und animierst die Position. Das ist dann genau der Pfad auf dem die Sterne wandern.
Danach erstellst du deine Sterne. Dort gehst du wieder auf die Transformieren>Position und machst einen Alt-Klick auf die Stoppuhr neben Position. Dann werden die Werte für Position rot, d.h. sie werden nun durch eine Expression (=durch Programmierung) gesteuert.
Unter Position muss eine weitere Zeile erschienen sein, die heißt "Expression:Position" und da gibts ein kleines Symbol, dass wie eine Spirale aussieht.
Da klickst du drauf, und ziehs mit der Maus eine verbindung zu Null 1>Transformieren>Position. After Effect erstellt automatisch den richtigen Programmcode.
Jetzt sollte schon mal der erste Stern auf unserem Nullobjekt/"Pfad" laufen. Egal wie du den Pfad nachher änderst, der Ankerpunkt des Sterns wird immer die gleich Position wie dein Nullobjekt haben.
Du willst bestimmt, dass die anderen Sterne zeitversetzt "einfliegen". Dann musst du leider doch noch etwas per Hand dazuprogrammieren.
deine Expression für die Sternposition lautet ungefähr so:
thisComp.layer("Null 1").transform.position
bedeutet:
In dieser Komposition > schaue auf die Ebene mit dem Namen "Null 1" > Schaue unter den Transformieren Eigenschaften > Schaue an die Stelle Position.
Der 2. Stern soll jetzt aber nicht an der jetzigen Position des Nullobjekts sein, sondern an der vor z.B. einer Sekunde. Dann muss man das noch dranhängen
.value_at_time(time-1)
bedeutet:
>Den Wert zu folgendem Zeitpunkt : Aktueller Zeitpunkt – 1 Sek
die Komplette Expression lautet also:
thisComp.layer("Null 1").transform.position.value_at_time(time-1)
Muss dich aber trotz Programmierung und tollen Trapcode Plugins enttäuschen. After Effects kann kein "richtiges" 3D. Wenn du willst dass sich die Sterne um ihre Achse drehen und sozusagen immer das Logo anschauen (mathematisch ausgedrückt: Ihre Normalvektoren zeigen immer zum Logo) und auch noch eine gewisse dicke haben sollen, (also nicht flach wenn man sie von der Seite anschaut) dann wirst du um ein richtiges 3D Programm (ich empfehle C4D) nicht drumrumkommen.
Hoffe es hat weitergeholfen.
Greez,
Alex
Antwort von tillsen:
So einfach geht das nicht!
Hallo Alex, das dachte ich mir eben doch. Gerade wenn ich über 50 Sterne habe...dann seh ich wirklich nur noch Sterne... denn die Ebenen kann ich zwar kopieren, aber die Zeitverschiebung muss ich bei jedem einzel eingeben...
Aber du hast mir sehr weitergeholfen, vielen Dank! Was ich jetzt noch erarbeiten muss sind die verschiedenen Endpositionen.
Antwort von lx2:
Das mit den Endpositionen ist mir auch schon aufgefallen. Wenn man ganz geschickt ist, zeichnet man als Pfad eine Spirale und ändert die Expression um eine weitere Bedingung :
"Falls time einen gewissen wert überschreitet wird der Stern nicht weiterverschoben"
ist ne heikle angelegenheit eventuell geht so
einfligedauer=2;
zeitversatz=3,5;
if(time-zeitversatz<einfligedauer){
thisComp.layer("Null 1").transform.position.value_at_time(time-zeitversatz)
}
else(thisComp.layer("Null 1").transform.position.value_at_time(einfligedauer) )
;
und dann jeweils den Zeitversatz ändern
Antwort von lx2:
Hab noch ne tolle URL zu dem Problem gefunden:
http://www.motionscript.com/mastering-e ... eader.html
Antwort von tillsen:
Und gerade heute hat videocopilot.net in einem neuen Tutorial die Lösung in einem Expression erklärt, das auf mehrere Ebenen verweist. Have a look!