AE: Objekt nach zufälliger Zeit verstecken

Ich habe also eine Reihe von Objekten in einer Komposition und meine Idee ist die folgende:

Ich möchte in einem von ihnen einen Ausdruck erstellen, der die Deckkraft dieses Objekts 0nach einer zufälligen Zeit ändert. Dann plane ich, dies auf alle Objekte anzuwenden, um den Effekt zu erzeugen, dass die Objekte zufällig verschwinden.

Ich habe im Internet gesucht und versucht, damit zu spielen:

maxOffset = 20
seedRandom(index,true);
offset = framesToTime(random(maxOffset));
valueAtTime(time-offset)

Aber so wie ich es beschrieben habe, bekomme ich es nicht hin. Was passieren soll ist:

  1. Generieren Sie eine zufällige Frame-Nummer zwischen 0 und dem Wert von maxOffset;
  2. Wenn die zufällige Bildnummer mit der aktuellen Zeit übereinstimmt, ändern Sie die Objektdeckkraft auf Null;

Danke dir.

Nur um es richtig zu machen, Ihr Objekt verschwindet nach einer zufälligen Zeit vollständig und sollte nicht mehr in Ihrer Komposition erscheinen, richtig?
@arm genau! das versuche ich zu tun.

Antworten (1)

Ich bin mir nicht sicher, was die valueAtTimeFunktion zu erreichen versucht. Das nimmt den Wert der Immobilie zum gegebenen Zeitpunkt. In dem von Ihnen geschriebenen Skript würde es den Wert der Opazität an einem Punkt abtasten, der eine zufällige Anzahl von Sekunden in der Vergangenheit liegt, einige Zeit zwischen der aktuellen Zeit und vor maxOffset Sekunden. Wenn sich die Deckkraft während dieser Zeit nicht ändert, wird es überhaupt nichts tun.

Ausdrücke sind Javascript, sodass Sie alle Elemente der Javascript-Sprache verwenden können, einschließlich ifund else. Daher:

maxOffset = 20;
minOffset = 1;
seedRandom(index,timeless=true);
if (time>random(minOffset, maxOffset)){0}else{value}

Dadurch wird die Schicht zu einem Zeitpunkt zwischen 1 und 20 Sekunden für jede Schicht ausgeschaltet. Wenn der Opazitätskanal bereits animiert ist, verwendet er den animierten Wert bis zu dem Zeitpunkt, an dem er ausgeschaltet wird. Um dies so zu ändern, dass es zu 100 % eingeschaltet ist, bis es sich ausschaltet, ersetzen Sie {100}in {value}der letzten Zeile