Intro
Con After Effects 6.0, Adobe ha introducido algunas maravillosas nuevas funcionalidades para el mundo de las expresiones. La mayor parte de este es el resultado de las nuevas características espectaculares que se han añadido a After Effects que no son necesariamente destinadas a las expresiones, pero no obstante aumentar drásticamente la potencia disponible a la expresi. También ha habido algunos cambios y mejoras a la expresión propia lengua.
Nueva sintaxis
Primero echemos un vistazo a algunos de los cambios a las expresiones aplicación. Varios objetos de palabra, Métodos y propiedades están expresadas en "intercaps" formato en lugar de utilizar un separador de relieve. Por ejemplo que escriba "thiscomp" en lugar de "this_comp", O "seedrandom" en lugar de "seed_random". La sintaxis antigua todavía en el trabajo AE 6.0, pero es recomendable que cambie al nuevo estilo.
Menear mejora
Menear () está afectada por seedrandom (), Así que si usted no está satisfecho con los valores que está recibiendo de menear () puede preceder a ésta con un llamamiento a seedrandom () y obtendrá resultados diferentes para cada uno de semillas. Por ejemplo la utilización de una semilla de 13,
seedRandom(13);
wiggle(3,35)
Le darán diferentes resultados que el mismo menear () expresión sin seedrandom ():
wiggle(5,35)
Sin embargo, Menear () pasa por alto el "eterno" parámetro de seedrandom, Lo que significa que si usted hizo algo como esto:
seedRandom(13,true);
wiggle(7,15)
Se mueve a seguir en cada marco. Sin embargo, Si desea menear () para mantener un valor para un determinado número de fotogramas, Puede utilizar la nueva posterizetime () la función.
Posterizetime
AE 6.0 incluye un nuevo posterizetime () la función que puede utilizar para congelar su animación periódicamente a una tasa que especifique. Por ejemplo, Esta variación de nuestro menear expresión nos dará una nueva azar la posición 5 veces por segundo:
posterizeTime(5);
wiggle(5,35)
Convertir audio a fotogramas clave
Bien - vamos a llegar a la verdad cosas divertidas. AE 6.0 tiene un nuevo asistente de fotogramas clave - la conversión de audio a fotogramas clave. Este asistente crea una nueva capa llamada de audio de amplitud con tres deslizadores de la izquierda, Derecho, Canales de audio y combinados. Los reguladores han fotogramas clave que representa la compensación de niveles de audio. Tan, Ahora puede llegar a la competición de la información de audio a través de expresiones. Casi (pero no completamente) elimina la necesidad de utilizar cada vez Motion matemáticas.
En la figura anterior, Tenemos dos archivos de audio importados. "hexagonal alta.Wav "ha sido fuertemente panned al canal izquierdo y" hexfloor.Wav "ha sido panned a la derecha. Entonces el asistente de fotogramas clave "convertir a los fotogramas clave de audio" se ha ejecutado, Que crea automáticamente una nueva capa nula "la amplitud de audio" con los controles deslizante de "izquierda", "derecho" y "tanto" los canales. La escala del parámetro "medio sólido amarillo" estaba vinculada a la izquierda canal deslizante con esta expresión:
Descarga de películas (con audio)
s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]
De manera similar, El parámetro de escala de la "media cian sólidos" estaba vinculado al canal derecho deslizante. (nota - Salí de la salida de audio de la pequeña demo de película, ya que pronto se le va realmente molesto como la película bucles. Si desea escuchar, Haga clic en el enlace de descarga arriba). El resultado, Como pueden ver, Es que los dos sólidos en cada escala en sincronía con el canal de audio que están vinculados a.
Texto!
El nuevo tipo de herramientas integradas en el After Effects 6.0 son simplemente increíble. Incorporado en los animadores y selectores gama proporcionar la capacidad de crear rápidamente animaciones increíblemente poderoso texto. La adecuada cobertura de este tema podría llenar todo un tutorial (o tal vez un libro) y voy a dejar que alguien más. Sólo quisiera decir que este además de un After Effects es razón suficiente para obtener la actualización. También hay un aspecto interesante de esta expresión para los escritores. No sólo puede controlar el texto, selectores y animadores con expresiones, Sino también (por fin!) Puede controlar la fuente de texto con una expresión. Esto desata la furia de los poderes y la cadena de procesamiento de JavaScript para manipular el contenido de su texto de animación. Vamos a comenzar con un ejemplo sencillo y toque en algunas cosas muy potente, antes de terminar.
Primero, Tenemos que hablar acerca de cómo crear una capa de texto. Es muy simple - que acaba de seleccionar la herramienta de texto, Haga clic en la ventana de comp, Algo y el tipo. After Effects Se creará una nueva capa y el texto que ha introducido también se convierte en el nombre de la capa. Si se abre la vuelta de la nueva capa de texto en la línea de tiempo y, a continuación, abrir el "texto" vuelta verá el "texto de origen" de propiedad. Alt / opt haga clic en el cronómetro para crear una expresión de esta propiedad. El resultado de su expresión se convertirá en el texto que se muestra. Tendrá los atributos (tipo de letra, Tamaño, Etc.) Del primer carácter de lo que escribió para crear la capa. Es importante recordar que javascript intentará tratar el resultado de su expresión como una cadena. Si el resultado es un número, Javascript se convertirá en una cadena. Esto significa que su expresión podría ser simplemente algo como esto:
Expresión: Posición [0]
Descarga de películas
position[0]
Y javascript que convertir la coordenada x de la capa a la posición de una cadena y lo mostrará. En la demostración de la película, I keyframed la posición de la capa de texto para moverse por la pantalla. Como cabría esperar, Cambios en el texto de la capa se mueve.
Ahora, Tenemos que hablar un poco acerca de cómo maneja las cadenas javascript. En javascript, Las cadenas son representadas como una secuencia de caracteres encerrados en simples o dobles. Por ejemplo, " After Effects "Y" After Effects "Tann ambos válidos cadenas. Javascript trata cadenas como matrices, Con carácter de ocupación de cada una ubicación en la matriz. Recordar que la indexación en javascript gama comienza en cero, El resultado de esta expresión:
s = "After Effects";
s[4]
Sería la cadena "r".
En javascript, Puede utilizar el signo "+" operador para concatenar cadenas. Por ejemplo,
"abcd" + "efgh"
Resultados en "ABCDEFGH"
Javascript útil cadena ofrece muchas propiedades y métodos. Veremos algunos de ellos. Por ejemplo, El resultado de
s = 'After Effects';
s.length
Sería 13 (la longitud de la cadena), Y el resultado de
s = 'After Effects';
s.toUpperCase
Sería " After Effects ".
Es incorporada en javascript cadena objeto denominado, Bastante interesante, "cadena". Este objeto es útil para algunos de los métodos de cadena. Por ejemplo, Para crear una cadena de caracteres que podría hacer algo como esto:
String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)
Que crea la cadena "abc" de la conversión de códigos de caracteres para "uno", "b", Y "c" (48,49, Y 50) a la cadena de caracteres.
Otra cosa útil saber es que si se utiliza la secuencia "r" en una cadena, Será interpretado como un retorno de carro. Tan, Si tuviera una cadena como
"abcdrefgh"
Que se muestre como:
Abcd
EFGH
Bien - ahora sabemos lo suficiente como para ser realmente peligrosas. Supongo que quería crear una cuadrícula de 8x4 azar caracteres hexadecimal (hexadecimal se utiliza para representar números de base 16 y consta de los dígitos del 0 al 9 y las letras a través de f). Echemos un vistazo a una expresión que lo hará:
Aleatorio hexadecimal red
Descarga de películas
numRows = 4;
numChars = 8;
holdFrames = 5;
seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);
s = "";
j = 0;
while(j < numRows){
k = 0;
while (k < numChars){
c = Math.floor(random(48,64));
if (c > 57) c += 7;
s += String.fromCharCode(c);
k += 1;
}
s += "r";
j += 1;
}
s
Vamos a hablar un poco acerca de esta expresión. Las tres primeras líneas sólo definir el tamaño de la red y cuánto tiempo de celebrar cada conjunto de números aleatorios. Las dos líneas siguientes justo fijar la semilla al azar a un nuevo número para cada grupo de 5 cuadros. Entonces nuestra variable de cadena ( "s") está en una cadena nula. Nula una cadena es sólo una cadena de longitud cero, sin los caracteres de que (todavía). El resto de la expresión es tan sólo dos bucles anidados que realmente construir la matriz de azar en nuestra variable de cadena. El bucle exterior (los indexados por una "j" sólo a través de secuencias de las filas de la cuadrícula, Añadir un retorno de carro ( "r") al final de cada fila. El bucle interior (el que sea indexado por "k") va a través de la fila actual carácter a carácter y genera un número aleatorio que ser entre 48 y 57 ( "0" a "9") o entre 65 y 70 ( "una " A través de "f") y convierte el código de caracteres resultantes de un personaje y se concatena con nuestra variable de la cadena de producción "s". Voy a dejarlo como un ejercicio para que pueda averiguar todos los detalles que he dejado en esta breve descripción.
Vez de dividir
Echemos un vistazo a un texto algo más antes de pasar a otra cosa. Split () es otro método javascript cadena que añade un montón de poder de nuestro texto expresiones. La forma en que funciona es para dividir una cadena larga en una serie de pequeñas cadenas. Se rompe la cadena donde se encuentra un carácter delimitador que especifique. Considerar esta expresión:
s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]
Esta expresión se divide la cadena "s" donde se encuentra una coma. Cada una de las palabras entre las comas es accesible a través de un índice de matriz. En este ejemplo, índice cero nos daría "honestidad" y (como en nuestra expresión) índice 2 nos daría "lealtad". Esto nos da un increíblemente poderoso para cambiar nuestro texto sobre la marcha con una expresión. Aquí hay otra versión de la expresión de la fuente de texto que contendrá cada una de las palabras de un segundo:
Demostración de la división () método
Descarga de películas
holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]
Tenga en cuenta que esta expresión generará un error después de "empatía" cuando se queda sin palabras. Normalmente me pondría en algo de código para comprobar que, Pero quería mantener el desorden abajo con fines de demostración.
Por la totalidad, Voy a incluir las otras dos expresiones que utiliza para generar la demo de película. Aquí está la escala para una:
hold = .5;
expand = .5;
t =time%(hold + expand);
if(t < hold){
[100,100]
}else{
linear(t,hold,hold + expand,[100,100],[700,700])
}
Y aquí está uno para la opacidad:
fade = .25;
hold = .5;
t = time%(fade + hold + fade);
if(t < fade){
linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
100
}else{
linear(t,fade+hold,fade+hold+fade,100,0)
}
Vamos a pintar!
Pintura demo
Descarga de películas
Otro maravilloso aspecto nuevo introducido en After Effects 6.0 es la pintura del motor integrado. Como el nuevo motor de texto, Esta es una característica que merece su propio tutorial. Aquí sólo voy a referirme a algunas cosas que usted puede hacer con expresiones que hacen de la pintura con herramientas aún más interesante. Para este ejemplo, He seleccionado la herramienta pincel y señaló a un serpenteante derrame cerebral. Luego aplicó esta expresión para el golpe final del parámetro:
freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))
Entonces esta expresión aplicada a la carrera del parámetro de color:
if (index <=4){
linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
linear(index,9,12,[1,1,0,1],[0,1,1,1])
}
Finalmente, He aplicado esta expresión para el trazo de la rotación de propiedad:
(index-1)*30
Entonces me duplican el golpe 11 veces. El resultado de todo esto es el molinete el futuro que se ve aquí. Si descarga la película, Verá que crece desde el centro y, a continuación, retrocede de nuevo hasta el centro cada dos segundos. Nota de que los duplicados de posición y el color a través de las expresiones por lo que es automática una vez que crear las expresiones de los accidentes cerebrovasculares y los duplicados. Este es un ejemplo muy simple, Pero las posibilidades son infinitas para la pintura de procedimiento animaciones como este.
Liquify!
Otra de las adiciones a muy frío After Effects 6.0 es el efecto liquify / herramienta. Liquify tiene un par de parámetros que son interesantes para aplicar a las expresiones. Para este ejemplo, I distorsionada la imagen con el liquify herramientas y, a continuación, aplica la siguiente expresión a la "distorsión porcentaje" parámetro.
Liquify demo
Descarga de películas
freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50
El resultado es una oscilación entre el 0% del efecto aplicado el efecto aplicado plenamente. Creo que con un poco de atención en la creación de la distorsión que podría utilizar una expresión con el "fin" de parámetros para crear un agradable "ondeando en el viento" efecto.
Utilizando los datos de seguimiento de
Finalmente, Un montón de trabajo entró en la mejora del seguimiento en AE 6.0. Una de las nuevas características que es de especial interés para los escritores de expresión es la opción para producir crudo de seguimiento de datos, Lo que significa que los datos de seguimiento no se aplica a otro nivel, Es aplicado a una propiedad de la capa ser rastreados llamado "punto de adjuntar". Puede, Por supuesto, Acceder a estos datos con una expresión. En esta demo, Localicé la cabeza del hombre en el ala delta a través del "crudo" opción de tipo de pista. Entonces esta expresión aplicada a un montón de bolitas de colores:
Seguimiento de la demo
Descarga de películas
L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position
Esto causa a los puntos "enjambre" alrededor de la cabeza del hombre en el ala delta. Ejemplo tonto, Pero creo que demuestra que el concepto tiene posibilidades.
Bien, Que el final de nuestro recorrido de las nuevas características de After Effects 6.0 que amplían el universo de la expresión escritor. Este es un hecho sorprendente mejorar aún más poderosa por las nuevas posibilidades de utilización de expresiones.
|