Fazer logon
Nota: Esta é uma tradução automática, use uma linguagem clara, sem gíria.

Vídeo para ascii efeito

Fóruns : Vídeo para ascii efeito
Vídeo para ascii efeito
jporter313 - 10-25-2007


Então eu postada no After Effects fórum, E pensei que talvez fosse mais apropriado para postar aqui.

Estou tentando criar um efeito que eu possa ter um vídeo e substituí-la com caracteres ASCII.

Ponciocalle acampamento surgiu com essa expressão, que funciona muito bem, Mas só rende um único personagem por campo texto:

Asciiarray = [ "","um","b","c","d","e","f","g","h","I","j"]; / / introduzir caracteres a faixa de luz para escuro valores
Numcharacters = 10; / / insira o número total de caracteres ASCII entrou na tabela acima
Imagemap = thiscomp.Camada ( "imagem de origem").Sampleimage ([posição [0], Posição [1]], [1, 1]);
A = matemática.Round (linear (imagemap [0], 0, Numcharacters));
Asciiarray [um]

Tentei colocar isso em um campo de texto e duplique-o em um grid, Problema é que leva um jovem mil camadas (executando todas as expressões) para preencher a área da tela com um número suficiente de caracteres ASCII e After Effects falhas muito antes de eu ter o suficiente.

Eu também encontrei esta página:

http://www.Criativa-workflow-hacks.com / 2007/08/27/more-fun-with-sampleim...

Que contém uma expressão que trabalha para uma linha de texto, Por isso tem menos camadas (eu só tenho de repetir que por o número de linhas), Mas o problema é que não regula a largura do campo de texto, Mudando assim a largura dos caracteres alterar a localização de caracteres subsequentes.

Estou realmente preso e fui lutar com este problema para os dias. Alguém sabe como posso conseguir este efeito?

Re: Vídeo para ascii efeito
Dan Ebberts - 10-26-2007


Se o vídeo camada é chamado "alvo", Você pode aplicar uma expressão como esta para uma camada de texto:

Densidade = " .' `,^:"+'";~-_+<>i!Li?/ \|() 1 () [] rcvunxzjftlcjuyxzo0qoahkbdpqwm * wmb8 &%$#@';
Target = thiscomp.Camada ( "target");
Cols = 80;
Rows = 60;
W = thiscomp.Largura / cols;
H = thiscomp.Altura / linhas;

S = ""

For (var i = 0; I linhas; i + +) (
For (var j = 0; j cols; j + +) (
Centro = [w / 2 + j * w, H / 2 + I * h];
Amostra = alvo.Sampleimage (centro,[(w-1) / 2,(h-1) / 2]);
S + = densidade [matemática.Round (linear (amostra [0],0,1,0,Densidade.Comprimento - 1))];
}
S + = "\ r";
}
s


Você vai ter que perder tempo com o tamanho de letra, Monitoramento, Líder, Etc. Editar as linhas e cols variáveis para se adequar às suas necessidades

Dan

Re: Vídeo para ascii efeito
jporter313 - 10-26-2007


Thanks alot Dan, Vou tentar de uma.

Re: Vídeo para ascii efeito
moldyboot - 10-26-2007


Dan, Que é muito impressionante em sua simplicidade (pelo menos para um cara com nenhum conhecimento scripting).

Na esperança de aprender mais sobre scripts...

[ Dan ebberts] "for (Var i = 0; I < rows; i++){"

Var i = 0, Estabelece o valor inicial de 'eu' a 0. Em seguida, compara o valor do 'eu' para o valor de linhas. E I + + aumenta o valor do 'eu' até 'I' ultrapassa o valor de linhas, Altura em que o 'loop' termina (que é correcto chamar-lhe um loop, Ou é como uma subrotina).

[ Dan ebberts] "s =" ""

Está presente apenas a criação de uma variável 's', que inicialmente não devolve nada? E ele então começa aumentou (+ =) pelo valor da densidade array... Até eu ultrapassar o valor de linhas, Altura em que 's' não é nada de novo (e os' loop' paragens).

Ponciocalle acampamento
Designer - kcpq, Kmyq & krcw

Re: Vídeo para ascii efeito
Dan Ebberts - 10-26-2007


Muito bonita. O ciclo irá executar enquanto eu menos filas. S = "" s apenas estabelece como uma string vazia. A + = adiciona um novo personagem para a cadeia.

Eu notei que um caractere barra invertida quando eu me perdi colado o código em. I'll try it again, Desta vez utilizando a html tag código.




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

Re: Vídeo para ascii efeito
Patrick Deen - 10-30-2007


Dan você me dá nojo com soluções aparentemente fácil chegar-se com!
Eu estava procurando uma maneira de fazer isso antes CS3 Depois de ver o "preto tambourines" vídeo por beck. Eu desisti de longa sobre a ideia que eu a descobri sozinho.

A única coisa que eu gostaria de acrescentar é que, quando você estiver experimentando diferentes do vídeo é mais conveniente usar a "camada (índice)" atributo (apenas uma outra coisa que eu aprendi de mão Dan )

Que cria o alvo como "target = thiscomp.Camada (índice -1); "
Agora você pode adicionar apenas o vídeo que você quer "ascciisize" para a camada acima do seu script texto camada.

Para adicionar um pouco mais aprofundada para o meu ascii vídeo eu fiz uma segunda camada de texto com negrito e amostradas o mesmo vídeo com crunched níveis para limitar o tipo negro para a zonas mais escuras. Você precisará ajustar a letter-spacing para alinhar o tipo negrito e normal. Beware que adicionar uma segunda camada script realmente mostra que este é um processador de intensa expressão.

asciistuff

Resposta à discussão
FóRUNSTUTORIAISMAGAZINESERVIçOSVIDEOSNOTíCIASBLOGS


© CreativeCOW.net Todos os direitos reservados.

Creative Comunidades do Mundo

[Topo]

Englishالعربية中文FrançaisDeutschעבריתहिन्दीItaliano日本語PortuguêsРусскийEspañol