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 0
despué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:
maxOffset
;Gracias.
No estoy seguro de lo que la valueAtTime
funció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 if
y 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
p2or
TCB13