Así que me envió sobre el After Effects foro, Y tal vez pensó que sería más apropiado para publicar aquí.
Estoy intentando crear un efecto en donde puede tomar un código fuente y lo reemplaza con caracteres ASCII.
Kevin campamento de vino para arriba con esta expresión, que funciona muy, Pero sólo hace un solo campo de texto por carácter:
Asciiarray = [ "","a","b","c","d","e","f","g","h","I","j"]; / / para introducir caracteres van desde la luz a la oscuridad valores
Numcharacters = 10 / / el número total de caracteres ASCII en la matriz anterior
Imagemap = thiscomp.Capa ( "fuente de la imagen").Sampleimage ([posición [0], Posición [1]], [1, 1]);
A = matemáticas.Ronda (lineal (imagemap [0], 0, Numcharacters));
Asciiarray [a]
He intentado poner esto en un campo de texto y duplicar la red en un, Problema es que tarda un par de miles de capas (todas las expresiones funcionamiento) para llenar la pantalla con un número suficiente de caracteres ASCII y After Effects mucho antes de los accidentes tengo suficiente.
Que contiene una expresión que trabaja para una línea de texto, Así que tienen menos capas (sólo tengo que repetir por el número de líneas), Pero el problema es que no regula el ancho del campo de texto, De modo que el cambio de anchura de los caracteres cambiar la ubicación de los caracteres posteriores.
Estoy muy pegado y he estado luchando con este problema durante días. ¿alguien sabe cómo puedo conseguir este efecto?
Volver: A efecto de vídeo ASCII Dan Ebberts - 10-26-2007
Si su capa de vídeo se llama "objetivo", Puede aplicar una expresión como esta a una capa de texto:
For (var i = 0; I filas; I + +) (
For (var j = 0; j cols; j + +) (
Centro = [w / 2 + j * w, H / 2 + I * h];
Muestra meta =.Sampleimage (en el centro,[(w-1) / 2,(h-1) / 2]);
S + = densidad [matemáticas.Ronda (lineal (muestra [0],0,1,0,Densidad.Longitud - 1))];
}
S + = "\ r";
}
s
Tendrá que tocar el tamaño de la fuente, Seguimiento, Líder, Etc. Editar las filas y columnas las variables que se adapte a sus necesidades
Dan
Volver: A efecto de vídeo ASCII jporter313 - 10-26-2007
Muchas gracias Dan, Voy a intentar que un.
Volver: A efecto de vídeo ASCII moldyboot - 10-26-2007
Dan, Que es bastante impresionante en su sencillez (al menos a un hombre sin conocimientos de scripting).
Con la esperanza de aprender más acerca de secuencias de comandos...
[ Dan ebberts]"for (Var i = 0; I < rows; i++){"
Var i = 0, Establece el valor inicial de 'I' a 0. A continuación, se compara el valor de 'I' con el valor de las filas. + + y aumenta el valor de "yo" hasta "I" supera el valor de filas, Momento en el que el 'bucle' extremos (que es correcto llamarlo un bucle, O es como una subrutina).
[ Dan ebberts]"s =" ""
Se trata simplemente de la creación de una variable "s" que inicialmente devuelve nada? Y que luego se aumentó (+ =) por el valor de la densidad de matriz... Hasta el "yo" supera el valor de filas, Momento en el que la 's' no es nada nuevo (y el "bucle" se detiene).
Kevin campamento
Diseñador - kcpq, Kmyq y krcw
Volver: A efecto de vídeo ASCII Dan Ebberts - 10-26-2007
Bastante. El bucle se ejecutará mientras que menos de filas. S = "" s sólo se establece como una cadena vacía. + = el agrega un nuevo carácter a la cadena.
Acabo de notar que una barra de nuevo personaje se perdió cuando me pega el código en. Voy a intentarlo de nuevo, Esta vez utilizando el html Código de etiqueta.
density = " .'`,^:" + '";~-_+<>i!lI?/|()1{}[]rcvunxzjftLCJUYXZO0Qoahkbdpqwm*WMB8&%$#@';
target = thisComp.layer("target");
cols = 80;
rows = 60;
w = thisComp.width/cols;
h = thisComp.height/rows;
s = ""
for (var i = 0; i < rows; i++){
for(var j = 0; j < cols; j++){
center = [w/2 + j*w, h/2 + i*h];
sample = target.sampleImage(center,[(w-1)/2,(h-1)/2]);
s += density[Math.round(linear(sample[0],0,1,0,density.length - 1))];
}
s += "r";
}
s
Dan
Volver: A efecto de vídeo ASCII Patrick Deen - 10-30-2007
Dan que me enfermo con soluciones aparentemente fácil llegar a!
Estaba buscando una manera de hacer esto antes CS3 después de ver el "negro panderetas" vídeo de Beck. Me dio mucho en la idea de que yo podía dar a mi mismo.
Lo único que quiero añadir es que cuando usted está experimentando con diferentes del vídeo es más conveniente utilizar la "capa (índice)" atributo (sólo una práctica de otros cosa que aprendí de Dan )
Se crea el destino como "target = thiscomp.Capa (índice -1); "
Ahora usted puede añadir el vídeo que desea "ascciisize" a la capa por encima de su texto escrito capa.
Para añadir un poco más a fondo a mi vídeo ASCII hice una segunda capa de texto con negrita, y la muestra el mismo video con crunched los niveles de limitar la negrita de las zonas más oscuras. Usted no necesita ajustar la carta de espaciamiento para alinear el tipo normal y negrita. Tenga en cuenta que la adición de una segunda capa guión realmente demuestra que este es un procesador de intensa expresión.