Frage von der_janno:hallo zusammen,
ich sitze gerade an einem background replacement und habe die hoffnung noch nicht aufgegeben, mir die arbeit ein wenig zu erleichtern.
das projekt wurd vom avid an after effects übergeben. da keine kohle am start ist, gibt's keine automatic duck lizenz und dementsprechend auch leider keine EDL auf die ich zurückgreifen kann.
es gibt drei einstellungsgrößen, welche natürlich immer auf den passenden hintergrund gesetzt werden müssen.
bisher bin so vorgegangen, dass ich mir bei jedem schnitt einen ebenenmarker gesetzt und einen kommentar über die einstellungsgröße hinterlassen habe. so konnte ich im zweiten durchgang dann erkennen, welchen hintergrund ich zu setzen habe.
dazu habe ich die ebene 2 mal dupliziert, diese ebenen jeweils mit der entsprechenden hintergrundebene verknüpft und bei jedem umschnitt keyframes für die opacity gesetzt.
das ganze ist 'ne menge fleissarbeit, da die sequenzen bis zu 90 min. lang sind.
mir kam dann die idee, dass man das evtl. auch über eine expression lösen könnte. leider bin ich auf dem gebiet nicht sonderlich fitt, doch evtl. bekomm ich ja hier eine kline hilfestellung.
ich hab mich gefragt, ob es möglichist den kommentar des ebenenmarkers auszulesen und mit dessen hilfe ein kleine if/else abfrage zu starten, die dann für mich die opacity regelt.
für andere lösungsansätze bin ich auch sehr dankbar! =)
beste grüße
janno
Antwort von Mylenium:
www.motionscript.com - Alles fix und fertig vorgekaut. Kommentare auslesen geht nur mit CS3, ansonsten halt die Zeit des Markers benutzen.
Mylenium
Antwort von der_janno:
vielen dank für den link.
offenbar schnall ich's trotzdem nicht.
nachdem ich mich da ein wenig eingelesen habe, bin ich davon ausgegangen, dass diese kleine zeile mein problem lösen sollte:
if (marker.key == marker.key("l").time) 100 else 0
naja. .die opacity fühlt sich davon recht unbeeindruckt.
sieht jemand meinen fehler?
beste grüße
Antwort von Mylenium:
vielen dank für den link.
offenbar schnall ich's trotzdem nicht.
nachdem ich mich da ein wenig eingelesen habe, bin ich davon ausgegangen, dass diese kleine zeile mein problem lösen sollte:
if (marker.key == marker.key("l").time) 100 else 0
naja. .die opacity fühlt sich davon recht unbeeindruckt.
sieht jemand meinen fehler?
beste grüße
Das Schnipselchen gibt dir nur einen Trigger-Event genau eben an der Stelle, wo der Marker sitzt. Du mußt ihm schon noch irgendwie beibringen, dass der Wert auch nach dem Marker erhalten bleiben soll (time > marker.time && time < marker(x+1).time). So einfach geht das nun auch wieder nich...
Mylenium
Antwort von der_janno:
ui. ..in diesem augenblick bin ich dann offenbar auch mal wieder an meine grenzen gestoßen.
von wegen trigger, selbt auf dem marker bleibt die opacity unbeeinflusst.
kann das sein?
beste grüße
Antwort von Mylenium:
Na vielleicht sitzen die Marker nicht richtig oder die Testbedingung ist unzureichend. Aber anyway, so richtig verstehe ich immer noch nicht, was du eigentlich erreichen willst und woran du nun deine Entscheidung festmachen willst. Die Logik zwischen den Markern mußt du schon ausknobeln, um festzustellen, in welchem "Segment" du dich befindest. Marker sind nix anderes als eine spezielle Form von Keys, also würde sowas wie
nearestKey(time)markerKey.(index)
den Marker, der dem Zeitindikator am nächsten ist, zurückgeben. Dann den vorherigen und nächsten finden, entscheiden, ob du in der ersten Hälfte des Zwischensegments bist oder der Zweiten (weil sich ja der "nächste" Marker dynamisch anpaßt) und die Zeiten vergleichen, dann halt noch irgendwo anhand deiner Kommentare die Strings filtern. Halt ein paar Zeilen Code, sollte aber machbar sein.
Mylenium