AE: Ocultar objeto después de un tiempo aleatorio

Entonces, tengo un montón de objetos dentro de una composición y mi idea es la siguiente:

Quiero crear una expresión en uno de ellos que cambie la opacidad de ese objeto 0después de un tiempo aleatorio. Luego planeo aplicar esto a todos los objetos creando el efecto de que los objetos desaparezcan al azar.

Estaba buscando en la web y tratando de jugar con esto:

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

Pero no puedo hacer que funcione de la manera que describí. Lo que debería pasar es:

  1. Genera un número de cuadro aleatorio entre 0 y el valor de maxOffset;
  2. Cuando el número de cuadro aleatorio coincida con la hora actual, cambie la opacidad del objeto a cero;

Gracias.

Solo para hacerlo bien, su objeto desaparece por completo después de un período de tiempo aleatorio y ya no debería aparecer en su borrador, ¿verdad?
@pobre exactamente! eso es lo que estoy tratando de hacer.

Respuestas (1)

No estoy seguro de lo que la valueAtTimefunción está tratando de lograr. Que toma el valor de la propiedad en el momento dado. En el script que escribió, muestrearía el valor de la opacidad en un punto en un número aleatorio de segundos en el pasado, en algún momento entre la hora actual y el maxOffset segundos atrás. A menos que la opacidad cambie durante ese tiempo, no hará nada en absoluto.

Las expresiones son Javascript, por lo que puede usar todos los elementos del lenguaje Javascript, incluidos ify else. Por lo tanto:

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

Esto apagará la capa en algún momento entre 1 y 20 segundos para cada capa. Si el canal de opacidad ya está animado, utilizará el valor animado hasta el momento en que se apague. Para cambiar esto para que esté 100% encendido hasta que se apague, sustituya {100}por {value}en la última línea