Transcrições
1. Expressões - reboque: Ei, eu sou Jake
Bartlett e essas são expressões funcionando de forma mais inteligente
e o Adobe After Effects. Trabalho
profissionalmente
com o After Effects como designer de
movimento desde
2010 e brinquei profissionalmente
com o After Effects como designer de
movimento desde com o programa há
anos. Se há uma coisa que
eu aprendi em todo esse tempo para trabalhar
com mais eficiência como designer de movimento, é como usar as expressões,
expressões da linguagem de
codificação que o After Effects usa,
você pode aplique-os a qualquer quadro-chave de todas as
propriedades e permite controlar e manipular essas
propriedades em muitos casos, tornando animações complexas ou
tediosas, muito simples e fáceis de gerenciar. E se você não acredita em mim, dê uma olhada no meu projeto de classe, toda
essa animação
foi conduzida por quatro quadros-chave em
uma única propriedade. Sério, e eu
vou te mostrar como eu fiz cada etapa desse
projeto do zero. Começaremos aprendendo
todas as noções básicas
das expressões
que
usaremos para recriar a animação, como elas funcionam e
como controlá-las. Em seguida, mostrarei como criei meu projeto do início ao fim, ensinando como
tirar proveito de todas as expressões
que abordamos, criando controles personalizados
para fazer animação mais fácil e terminando
com o projeto final. Você pode criar sua própria arte para um projeto de classe exclusivo, ou você pode usar o projeto
de efeitos posteriores fornecido com minha arte pronta para começar e
apenas me acompanhar. Essa aula é para qualquer pessoa com um conhecimento básico
do After Effects. Se você nunca usou
o programa antes, eu
recomendo que você faça primeiro
uma das minhas
aulas para iniciantes, como o guia
para iniciantes do After Effects ou o guia para iniciantes de
animação Presentes personalizados. Sei que pensar em expressões
pode parecer intimidante, especialmente se você
nunca usou código antes. Mas quando você tiver uma
compreensão básica de como
usá-los e como
aproveitá-los em seus próprios projetos. Isso abrirá um mundo de possibilidades que você
nunca soube que existiam. Você não vai se arrepender.
Te vejo na aula.
2. Projeto do curso: Para o projeto de classe, você vai
querer criar algo que seja orientado principalmente
por expressões. Meu projeto é conduzido
inteiramente por expressões, todas vinculadas a uma propriedade
com quatro quadros-chave. Se você quiser apenas aprender
sobre expressões e ir direto ao assunto, basta
baixar meu arquivo de projeto. Vá até a guia Projeto
e Recursos, encontre o arquivo de projeto do
After Effects
com a arte que já criou uma camada de forma e
você poderá me
acompanhar enquanto
assiste às aulas. Caso contrário, você pode criar
sua própria arte e criar um projeto exclusivo aplicando as expressões que você aprenderá
nas próximas lições. E é exatamente isso que
faremos a seguir. Vamos aprender sobre
as expressões que eu
mais uso em meu próprio fluxo de trabalho,
como elas são escritas, como funcionam e como você pode controlá-las para começar a trabalhar um pouco mais forma inteligente dentro
do After Effects. Se você tiver dúvidas
em algum momento aula ou
estiver se deparando com erros, fique à vontade para deixar uma discussão. Eu vou falar sobre isso
o mais rápido possível. Eu os verifico quase
diariamente e você pode ter certeza de que
responderei sua pergunta mais rápido
possível.
3. linear();: A primeira coisa sobre a qual
precisamos falar são as expressões, porque
esse será o fator determinante por trás toda
a animação
do meu projeto de aula. Há tantas expressões
diferentes e elas podem ser usadas para fazer tantas coisas diferentes
que é meio intimidante saber por
onde começar com elas. E as expressões são,
na verdade, apenas JavaScript, que é uma linguagem de codificação que existe há algum tempo e é
usada extensivamente. E isso significa que, na verdade,
há muitos recursos on-line para
aprender qualquer expressão, porque é exatamente
o mesmo que JavaScript. Então, se você está
curioso para saber como fazer algo no After Effects
usando expressões, é muito provável que
alguém já tenha feito a pergunta e recebido
uma resposta on-line. Pode ser que ele venha por meio
de um fórum de JavaScript em vez de expressões
específicas para eles. Mas isso realmente não importa porque tudo o
que você aprende sobre JavaScript pode ser aplicado às expressões no After Effects. A primeira expressão sobre a
qual quero falar é facilmente minha
expressão mais usada e provavelmente favorita, apenas por causa do quanto você pode
realmente fazer com ela. E é a expressão linear. O que a expressão linear
permite que você faça é mapear qualquer intervalo de valores para
outro intervalo de valores. E eu vou te mostrar exatamente
por que isso é tão poderoso. Eu tenho um quadrado aqui
e digamos que eu queira adicionar uma expressão
à rotação girar automaticamente à medida que eu
movo a posição no eixo x. Bem, vou
aumentar a posição e a
rotação pressionando P e rotação pressionando P e seguida, segurando Shift e pressionando R para também aumentar a rotação. A propriedade de rotação
é o que eu quero que seja impulsionada pela posição x. Para facilitar isso,
vou clicar com o botão direito do mouse
na posição e ir para dimensões
separadas. Dessa forma, a exposição
tem sua própria propriedade. Poderíamos fazer isso
com as posições x e y em uma única propriedade. Mas isso é algo que
abordaremos um pouco mais tarde. Para simplificar, vamos nos
concentrar apenas na rotação e
na exposição. Então, com os dois selecionados, eu apenas
cliquei em Control ou Command em ambos. Vou tocar duas vezes
na tecla S para isolar as propriedades que não
precisamos pensar
na posição Y. Para adicionar uma expressão a qualquer propriedade que você
precise de Alt ou Option, clique no cronômetro. Vou clicar no cronômetro enquanto
pressiono Alt para essa propriedade de
rotação. E o After Effects preencherá automaticamente a expressão necessária para
referenciar essa propriedade. Então, se eu aplicasse essa
expressão clicando em desligar, ela seria exatamente
a mesma de antes, exceto que meus números agora são lidos. Isso significa que está sendo
impulsionado por uma expressão. Mas como o
código de expressão que foi
escrito aqui está apenas se
referindo a si mesmo, ainda
posso mudar a
rotação para o que eu quiser e a expressão não está realmente fazendo
nada por mim. Tudo bem, deixe-me
voltar ao zero e
clicar nessa expressão para
começar a escrever a minha própria. Agora, com expressões, você pode digitar tudo manualmente, mas tem esse
chicote aqui. Isso é especificamente para
expressões que vou usar muito e com as quais você
deve se sentir confortável. É muito parecido com o chicote da
escolha dos pais ou o chicote da escolha da
propriedade. Mas funciona ao editar uma expressão, assim como
o ícone de seleção principal, compará-la em uma camada com outra e na
propriedade escolher chicote, comparar uma
propriedade com outra. A expressão pick whip
pode pegar qualquer propriedade que você selecionar e
adicioná-la à sua expressão. Então, com tudo
selecionado aqui, vou usar a
expressão pick whip, e vou
arrastá-la até
a exposição e soltá-la. Agora, essa expressão está dizendo para examinar os controles
de
transformação da camada e, em seguida, o valor da propriedade de
exposição. E é isso que ele vai
conectar à rotação. Então, se eu clicar, agora
temos um valor
diferente de zero na rotação. E a razão pela qual é
um número meio estranho é porque quando chega
a 360 graus
, volta a zero
e adiciona uma revolução. E como a
posição x é medida em pixels e a rotação
é medida em graus, por isso
que os números
não se alinham especificamente. Mas se eu diminuir um
pouco o zoom e diminuir
a exposição enquanto faço isso, veja como o quadrado também
está girando. Essa é uma ligação direta entre os valores de
graus e pixels. E isso é muito
legal, exceto que está girando muito
mais do que eu quero. Se eu quisesse que parecesse que está realmente rolando
, precisa
girar com muito menos frequência pois essa exposição está mudando. E poderíamos fazer algumas
contas simples nessa expressão. Se eu apenas clicar para
editá-lo e ir até o final, eu poderia dizer que talvez
dividido por dez. Isso vai pegar a
exposição, seja ela qual for, dividi-la por dez e depois
conectá-la à rotação. Então, deixe-me clicar e
ver o que isso faz. Agora está girando
muito menos, na verdade, não o suficiente neste
momento. Eu poderia ir e voltar
com isso e modificar meus cálculos até conseguir
algo que estivesse certo, mas isso não é realmente
o que eu quero fazer. Em vez disso, quero
mostrar como usar
a expressão linear para
isolar um intervalo específico de valores da
posição x e remapeá-los para outro intervalo específico
de valores na rotação. Então, para escrever a expressão
linear, vamos entrar nessa expressão
e limpá-la. A primeira parte de
basicamente qualquer expressão é o método que,
neste caso, é linear e o
After Effects preencherá automaticamente o resto , então eu nem
preciso terminar de digitar. Eu poderia simplesmente
clicar duas vezes sobre isso. E vai colocar dois
parênteses no meio. Esses parênteses é onde
eu tenho que colocar meu argumento. A primeira parte do
argumento é o que queremos linearizar ou de onde queremos
tirar nosso intervalo de entrada. Nesse caso, é
a exposição. Quero pegar uma variedade de
valores da exposição e remapeá-los para uma faixa de saída
para o valor de rotação. Então, preciso referenciar
essa propriedade e
vou usar a expressão
pick whip para fazer
isso com meu cursor
ali mesmo entre os parênteses que vou
selecionar com minha
expressão pick whip. A exposição estava dizendo à expressão qual valor
observar para o intervalo de entrada. Então eu vou colocar uma vírgula. E precisamos colocar dois números. Este é o nosso intervalo de entrada. Então,
acabamos de selecionar o início e o fim do intervalo de
valores dessa propriedade. Então, por que não dizemos
100 para a entrada, depois colocaremos
outra vírgula e agora escolheremos um valor máximo de entrada. Então, digamos 500. Então, queremos analisar a
exposição e usar o intervalo entre 100 pixels
e 500 pixels. Em seguida, precisamos colocar mais
dois números. Então, vou colocar
outra vírgula aqui. E os próximos dois números são o intervalo de saída ou para
quais valores queremos que
esses dois números sejam remapeados para a propriedade que estamos
aplicando a expressão dois, neste caso, a rotação. Então, outra maneira de
dizer isso é quando a exposição é de 100 pixels, o que queremos que seja a
rotação? Bem, digamos que zero. Não queremos rotação em 100
pixels na exposição. Em seguida, colocaremos outra vírgula
e escolheremos a saída máxima. Ou em outras palavras, quando a
exposição é definida como 500, qual deve ser a rotação
na mesma camada, digamos 360. Porque lembre-se de que essa propriedade
é medida em graus. E isso é outra coisa que eu
adoro na expressão linear. Estamos basicamente
convertendo unidades aqui. Estamos indo de
pixels para graus. Agora, com qualquer expressão no final
da linha de código, você sempre a finaliza com um ponto e vírgula. Essa é a sintaxe
adequada. Às vezes, o
After Effects pode saber o que você quer fazer
e não cometer um erro. Mas é uma boa prática
manter seu código sempre limpo e seguir
a sintaxe correta. Então eu vou fazer isso aqui. Agora, se eu clicar para
aplicar essa expressão, podemos ver que a
rotação já está definida para uma revolução ou 360 graus. E isso porque
minha exposição é superior a 500, nossa entrada máxima. Mas vamos reduzir a
exposição para zero. Então, coloque os quadrados no lado esquerdo
da composição e comece a
aumentar esse valor. Ao fazer isso, você notará que
nada está acontecendo, mas veja o que acontece
assim que eu cruzar taxa limite de
100 pixels, o quadrado começa a girar. Nada acontece antes desses 100,
mas assim que eu
cruzo esse limite, essa
propriedade de rotação está sendo mapeada diretamente para esses
valores que eu defini. Vou aumentar
isso até 500. E assim que
cruza quinhentos, ele para de girar e
termina seu ciclo. Ele atingiu a faixa de entrada do valor
máximo e nada
acontece depois disso, exceto 100-500 ou girando. E eu poderia mudar esse intervalo
para absolutamente qualquer coisa. Então eu poderia dizer 250
e talvez 800. E agora vai
demorar mais para
girar à medida que o quadrado
passa pela tela. Agora, esse exemplo em particular não é necessariamente
muito útil, mas acho que é uma ótima
demonstração de como você pode mapear um valor
para outro valor, mesmo se você estiver usando unidades
diferentes, vamos usar muito
a expressão
linear com o projeto. E como eu disse, eu o uso o tempo
todo no meu trabalho. Portanto, é algo com
o qual você
definitivamente deveria se familiarizar. Então, vamos revisar a estrutura disso mais uma vez
antes de prosseguirmos. Ao escrever uma expressão
linear, primeiro
escrevemos a
função linear. Em seguida, colocamos parênteses abertos e
fechados. Dentro desses
parênteses, precisamos escrever a primeira
parte do nosso argumento, que diz
à expressão qual propriedade ou valor
queremos linearizar. Em seguida, escolhemos o intervalo de valores mínimo e
máximo de
entrada separados por
vírgulas e, em seguida, o intervalo mínimo e
máximo de
saída novamente
separados por vírgulas. Portanto, o primeiro número
é o mínimo de entrada e isso corresponde
ao mínimo de saída. O segundo número é o máximo de entrada que corresponde
ao máximo de saída. Agora lembre-se de que separamos as
dimensões da posição. Se eu as combinar novamente desmarcando dimensões
separadas, a expressão
vai realmente quebrar,
porque nossa posição
não é mais um valor único. É composto por dois. Isso é chamado de matriz. Sempre que há vários
valores na mesma propriedade, é uma matriz de
valores e há uma forma específica de segmentar essas matrizes em uma expressão. Então, vou colocar
a rotação em pausa por um segundo e realmente adicionar uma expressão à propriedade
position. Então, deixe-me alterar a opção, clique nela e mostre
como escrever uma matriz. Na verdade, é bem simples. Nós apenas usamos colchetes. Então, vou começar digitando um colchete aberto e
um colchete fechado. Você pode colocar qualquer
número de valores em uma matriz, desde que os
separe por vírgulas. Portanto, no caso dessa propriedade de
posição, a maneira de escrever uma
expressão para cada um
desses valores é escrevendo
um valor e depois uma vírgula, que também podemos ver uma vírgula
aqui. E então o segundo valor. Então, se eu dissesse 100 vírgula 200, terminei com
um ponto e vírgula e cliquei, então essa matriz de valores será
conectada diretamente aos valores da posição x e y. Agora é 100 por 200, assim como
escrevi aqui, se minha camada fosse 3D do que
teria três valores na matriz, eu poderia voltar para
minha expressão em outra vírgula e
adicionar um terceiro valor. Então eu poderia dizer 100, 200, 400. Tudo bem, vou desligar esse 3D. E ao contar os valores da matriz, eles começam com o número zero. Portanto, o primeiro valor na
matriz é indexado em zero e depois em 12 e assim por diante. Então, se eu quisesse segmentar um valor específico em
uma propriedade de matriz, eu poderia fazer isso
selecionando seu índice, e é exatamente isso que eu
quero fazer com a rotação. Então, deixe-me me
livrar dessa expressão. Então, nossa posição volta ao que estava e, em seguida, entra em nossa expressão de rotação e edita o argumento em que
transformamos nossa posição x. Em vez disso,
quero usar minha expressão pick whip para
pegar a propriedade position. Então, agora transformou a
oposição. Mas, novamente, quero focar
exatamente nessa exposição. Para fazer isso, vou escrever um
colchete de abertura e fechamento indicando que eu
quero parte de uma matriz e, em seguida, escolher o
valor do índice para a primeira propriedade, que novamente é zero. Começamos em zero e depois em um. Então, vou digitar
um zero entre
esses colchetes para que
a expressão saiba que eu quero a propriedade de
posição de transformação e o primeiro valor
nessa matriz. Agora, se eu clicar e mudar
a exposição, voltaremos a trabalhar exatamente
da mesma maneira que antes. Se eu mudasse esse 0-1, então vamos ver o índice número um, a posição y. Vou aplicar a expressão. E agora, enquanto eu o movo para cima e
para baixo na posição Y, a rotação está sendo acionada. Nada acontece
na exposição. Então, esse é o básico de como a expressão linear
funciona e como matrizes de valores também funcionam
dentro do After Effects. Como eu disse, a
expressão linear é uma
das expressões mais poderosas e mais usadas por mim, simplesmente causa de quantas coisas
você pode fazer com ela, você pode literalmente vincular qualquer
valor para outro valor e seja muito específico sobre
qual faixa de valores está sendo traduzida.
4. Controles de expressão: Agora, outra coisa que
podemos fazer para tornar as expressões muito mais flexíveis é, em vez de colocar valores
numéricos codificados, controlá-los com controladores de
expressão, os controladores de
expressão
são realmente afetados. Então, se formos até
o menu Efeito, até os controles de expressão, cada um desses efeitos nos
fornecerá valores e no mesmo formato de
todas as propriedades que temos
no After Effects, por exemplo. a propriedade position é
uma matriz de dois valores. Podemos obter exatamente esse mesmo
tipo de matriz se
entrarmos nos controles de expressão
e pegarmos o controle de pontos, que nos dá uma matriz
de dois valores que é afetada não faz nada
em termos visuais. Ela não renderiza, não afeta nada na camada. Isso apenas nos fornece
os valores que
podemos referenciar com expressões. Então, se eu fosse
pegar a propriedade, escolha chicote e selecione esse controle de ponto
na propriedade de posição. Agora, as
posições x e y estão sendo acionadas
diretamente por
esse controle de ponto. Então eu posso movê-lo e ele
vai impulsionar essa propriedade de
posição. E como nossa rotação ainda
está intacta, isso também está interagindo
com esse controlador. Tudo bem, vou me livrar
desse controle de pontos e remover essa expressão. Há um
atalho de teclado para isso. Se você apenas selecionar uma
propriedade e fazer Alt Shift E em um PC ou Option Shift em um Mac que
removerá a expressão
da propriedade para rotação, poderíamos pegar um controle de ângulo. Então, deixe-me aplicar o controlador de expressão
de controle de ângulo. E agora temos uma propriedade
angular. Novamente, ele não faz
nada sozinho. Mas se eu pegar essa propriedade, escolha chicote e selecione
o ângulo que
preencherá as expressões para
referenciar esse efeito. Vou clicar em OK para aplicá-la. E agora a rotação
será acionada por esse controle de ângulo,
mesmo que você esteja apenas usando-a para direcionar
diretamente as propriedades de
transformação. Os controladores de expressão são ótimos porque aparecem
nos controles de efeitos. E eu poderei modificar essas coisas sem
abrir a camada. Acabei de selecioná-lo e
os controles agora são efeitos. Agora eu diria que o controlador de expressão mais
usado no meu fluxo de trabalho são
os controles deslizantes. Então, deixe-me arrastar isso para fora
e eu vou me livrar
do controle de ângulo e
tocar duas vezes na tecla E. Esse é o atalho para
revelar a expressão, então vou tocar duas vezes em E. Isso
abre todas as expressões. E, novamente, removerei
a expressão
da rotação pressionando
Alt Shift ou Option Shift. Em um Mac, um controle deslizante
como um valor único
, não uma matriz, e pode
ser usado de várias maneiras. Vamos aumentar a posição
segurando Shift e pressionando P e começando a expressar a
rotação mais uma vez. Vamos novamente linearizar essa propriedade de posição
e nosso intervalo de entrada, diremos apenas 200 a 600 e nosso
intervalo de saída de zero a 180. Agora eu quero escolher a posição
x ou y. Eu poderia escrever uma matriz ou simplesmente
selecionar todo esse texto. E em vez de ir para
a propriedade position, escolha o valor na matriz
que eu quero referenciar. Então, digamos que x, eu
vou soltar e ele
preenche isso automaticamente. Eu escrevo o mínimo de expressões
possível e
confio na expressão pick whip para fazer tudo com mais rapidez
e precisão. Vou aplicar essa expressão e voltaremos para onde
estávamos antes. Ele vai girar
entre os valores 200.600 na exposição. Mas e se eu quisesse mudar esse intervalo de entrada sem precisar entrar
na expressão, bem, eu poderia fazer isso
com esse controle deslizante. Então, em vez de ter
200 codificados aqui, vou clicar duas vezes
nele para selecionar esse número. Em seguida, use minha expressão
pick whip para selecionar valor do controle deslizante
que preencherá automaticamente meu código. Minha expressão está ficando cada
vez mais difícil de ver, mas isso é o que acabamos de adicionar. Está apenas referenciando o valor do controle
deslizante do controle deslizante. Agora, se eu clicar nisso, minha entrada mínima será qualquer que seja a configuração do
controle deslizante. Atualmente, está definido como zero, mas eu poderia mudar
isso para dizer 250. E agora, quando o valor
x atinge 250, ele começa a girar. Ou eu poderia simplesmente
clicar interativamente e arrastá-lo até um número aleatório e, em seguida,
ele começará a girar a partir desse ponto sem precisar realmente atualizar a expressão. Nosso controlador de expressão
é o
que está atualizando essa expressão porque está
referenciando esse valor. Então, por que não renomeamos
essa entrada deslizante para Min. E então vamos
duplicar esse controle deslizante e renomeá-lo como entrada máxima. Você provavelmente pode adivinhar
o que estou prestes a fazer, mas vamos mudar o
valor aqui e depois entrar em nossa expressão e encontrar
o ponto máximo de entrada, que é esse 600 em
que codificamos. E use nossa expressão
pick whip para
escolher o controle deslizante máximo de entrada. Agora, com isso aplicado, posso definir meus valores mínimo
e máximo com esses controles deslizantes, em vez de
entrar e editar
a expressão. Agora, esse intervalo é
muito pequeno no momento, mas eu posso aumentar
esse intervalo além de 100. Então, se eu fizer isso muito maior do que
veremos essa rotação percorrer uma distância
maior. E eu posso até
personalizar esse intervalo. Se eu clicar com o botão direito do mouse no
controle deslizante e ir para Editar valor, eu poderia alterar esse intervalo de 0 a 100. Os
valores mínimo e máximo são enormes. É 1 milhão em
qualquer direção. Então, eu poderia mudar isso para 1080, e essa será a faixa de pixels da resolução da minha composição. Então eu poderia clicar em Ok, e eu posso saber que se eu arrastar isso
até a direita, essa é a
borda direita da minha composição. Se eu arrastar isso até
a esquerda, essa será a
borda esquerda da minha composição. E agora ele vai girar 180 graus da borda
esquerda para a direita. Mas não precisamos parar por aqui. Por que não duplicamos
os dois, arrastamos para baixo e renomeamos essas saídas para Min e output max. Então eu posso entrar na minha expressão
linear e pegar essa expressão de
valor mínimo de saída. Escolha o chicote no controle deslizante do menu de
saída. Pegue o
valor máximo e a expressão de saída. Escolha chicotear o controle deslizante máximo de saída. Vou aplicar essa expressão. E agora eu tenho quatro controles
individuais para
impulsionar essa expressão linear. Portanto, não só posso controlar
a faixa de entrada de pixels para quando a
rotação foi acionada? Mas também posso mudar
o quanto ele gira. Então, se eu
dissesse 360, seriam 360 graus. Agora ele vai
girar 360 graus, 0-1080 na entrada. Mas lembre-se de que tínhamos um controle de
ângulo que
provavelmente faria mais sentido
para acionar a rotação. Então, por que eu não me
livro desses dois controles deslizantes , mostro o
controle do ângulo e ressalto que minha expressão quebrou
porque eu excluí os efeitos que eu estava referenciando
na expressão. A expressão não é mais válida e não
será avaliada. Mas eu posso vincular esses backups. Então, digamos que saída
Min, duplicate, output max, entre em
nossa expressão e encontre as partes
da expressão a serem vinculadas a esses controles de
ângulo. Agora, como eu disse, isso está
ficando muito mais difícil de ler pois temos muito código
amontoado nessa expressão. Mas o que estamos
procurando aqui são os dois últimos valores,
que são esses dois, vou selecionar entre essas duas vírgulas para o terceiro valor ou
o mínimo de saída, e selecione esse controle de ângulo
mínimo de saída. Em seguida, pegou o último valor, certificando-se de deixar os últimos parênteses porque
esses parênteses pertencem à expressão linear e capturaram a saída máxima. Agora, esses
controles de ângulo estão conectados e isso faz um
pouco mais de sentido. Eu poderia mudar as
revoluções angulares para uma, e obteremos
a mesma coisa de antes. Também posso alterá-lo
para dizer menos um, e ele vai girar
na direção oposta. Mas agora tudo está bem organizado nesses efeitos, em
vez de
nas expressões,
e torna muito mais fácil
modificá-lo depois de já ter sido codificado. E essa é uma maneira muito inteligente trabalhar com expressões para
torná-las mais acessíveis e
até mesmo com uma bolha de quadro-chave, isso é definitivamente
algo que
vamos aproveitar. Qual é o projeto da turma.
5. Valores aleatórios: Se você estiver um
pouco sobrecarregado essas expressões,
não se preocupe, esse foi definitivamente o conjunto
de expressões
mais complicado que
usaremos neste curso. E quando eu for recriar
meu projeto de classe, mostrarei como eu uso cada um
deles muito lentamente
, com muitos detalhes. Para que, ao final da aula, você se sinta extremamente confortável com
essas expressões. Mas vamos dar uma
olhada na próxima expressão que é aleatória. Essa será uma forma de
gerar muitos valores aleatórios. E então vamos dar uma
olhada em como podemos realmente aproveitá-lo e
controlá-lo um pouco. Portanto, não é completamente aleatório. Então, novamente,
pressionarei R para exibir
a rotação
desse quadrado e adicionar uma expressão à propriedade de
rotação para gerar um valor aleatório. Vamos
começar digitando aleatoriamente. E o After Effects nos dará um preenchimento automático aleatório com parênteses
abertos e fechados. Agora, há algumas
outras expressões que tratam da aleatoriedade, mas é nessa que
vamos nos concentrar e é praticamente
a mais simples. Então, vou clicar duas vezes nele
para preenchê-lo automaticamente. Novamente, aleatório é o método
em, entre parênteses é
onde colocamos nosso argumento. Essa expressão aleatória
é, na verdade muito fácil de entender. Só precisamos colocar um valor
entre a expressão. Então, vou
digitar 500. O que isso vai fazer é gerar um valor aleatório de 0 a 500. Vou terminar
com um ponto e vírgula. Clique em desligar. E agora, se eu clicar em Play, a expressão
aleatória vai gerar um valor aleatório em cada quadro da minha composição entre
os valores de 0,500. Se eu pisar um
quadro de cada vez, você pode ver que isso está
mudando de forma completamente aleatória. E se eu clicar nesse pequeno botão
gráfico aqui, ele se chama Mostrar gráfico de
pós-expressão. Na verdade,
abrirei meu editor gráfico primeiro com a
rotação selecionada, você verá que é
apenas uma linha reta, significa que o valor não
está mudando. Mas assim que eu clicar
nesse gráfico de pós-expressão, veremos qual é esse valor de rotação depois
que a expressão
for avaliada. Então, estamos obtendo um número
completamente aleatório, 0 a 500 para cada quadro
da animação. Agora, se eu descer até
esse menu aqui, posso dizer show
expression editor e isso vai
me mostrar a expressão escrita nele também. E eu posso até entrar
aqui e editá-lo. Então, em vez de dizer 500, por que eu não digo 25
e aplico isso? Agora meu alcance mudou
e vamos
obter uma rotação aleatória, 0-25. Mas digamos que você
queira desvalorizar para ficar entre dois números específicos, não zero e o que quer que
você digite aqui. Bem, podemos realmente
fazer isso simplesmente
entrando na discussão e
colocando dois valores. Então, vou colocar uma vírgula
logo após 25 e dizer 250. E agora a expressão vai me
dar um número aleatório, 25-250 para cada quadro
da animação. Vou clicar fora disso. E, novamente, meus valores
mudaram. Se eu jogar isso de volta,
isso vai me dar aquele valor aleatório entre
esses dois intervalos. E eu também poderia fazer
números negativos. Então, eu poderia dizer menos 18180. É totalmente personalizável para quaisquer valores com os
quais você queira trabalhar. Mas e se não
quiséssemos que isso fosse atualizado em cada quadro? Porque isso é realmente aleatório. É muito caótico e talvez
não seja bem o que queremos. Bem, deixe-me me livrar
desse editor gráfico e voltar à nossa expressão. E eu vou, e
vou deixar essa expressão
uma linha abaixo dela. Vou escrever
outra expressão chamada posterize time novamente. O
After Effects será preenchido automaticamente. Então, vou clicar duas vezes sobre isso. O método é posterizar o tempo e o argumento fica
entre parênteses, assim como tudo o que
vimos até agora. O que essa expressão
vai fazer é dizer esse código com que frequência avaliar, e ele é medido em
quadros por segundo. Então, estou trabalhando em uma composição de 24
quadros por segundo, mas se eu disser seis entre esses parênteses e
terminar com um ponto e vírgula, então o que eu colocar nessa
expressão só
será avaliado a uma taxa
de seis vezes por segundo. Então, se eu jogar de volta, você notará que a
aleatoriedade é muito mais lenta. A taxa de quadros da minha
composição não mudou, é apenas a taxa de quadros dessa expressão e esse
número pode ser o que eu quiser. Então, se eu quisesse um pouco
mais rápido, eu poderia dizer 12. Também seja inteligente e adicione um controle deslizante,
renomeie esse FPS. E em vez de colocar
um número aqui, eu poderia
escolher a expressão, chicotear o controle deslizante. E agora, tudo o que eu colocar
aqui é o que os quadros por segundo serão
no tempo de posterização. Então, como está definido como zero, ele apenas nos dará esse número
aleatório e o manterá . Ou poderia dizer dez. Novamente, controlar esses
valores com os efeitos, em vez de ter que
voltar às minhas expressões todas as vezes, é apenas uma
maneira mais inteligente de trabalhar. Vamos voltar
ao editor gráfico e você pode ver
que o posterior agora mantém
esses valores em qualquer taxa de
quadros que tenhamos. Então, novamente, se eu reduzir
isso para seis, isso vai
ficar menos frequente. Se eu aumentar para 20, obteremos um valor que
muda muito mais. Mas e se mudarmos um pouco nossa
expressão, em vez de sermos apenas aleatórios, eu poderia digitar
outra expressão. Então, digamos que seja aleatório gaussiano. E quero ressaltar,
já que não terminei digitar e deixei parte
da expressão. Se eu clicar duas vezes para preencher automaticamente, isso gerará
esses dois parênteses. E eu não preciso mais
deles porque eu já tenho meus
valores aqui. Então, deixe-me me livrar desses dois e depois aplicar
a expressão. Agora, pode
parecer que não há muita diferença aqui. Mas se eu
colocar isso em uma taxa de 24 quadros por segundo para que
corresponda à minha taxa de quadros de composição. E eu diminuo um
pouco o zoom na minha linha do tempo. A diferença entre aleatório e
aleatório de
Gauss é um pouco
mais evidente com distribuição
aleatória ou
uniforme
desses valores aleatórios
entre nosso intervalo. Mas se eu voltar
para Gauss aleatoriamente, você notará que muitos
desses valores maiores e mais baixos não
estão aparecendo com tanta frequência. A maneira mais fácil de pensar
sobre isso é que é basicamente
escolher valores aleatórios do centro do
intervalo com muito
mais frequência do que nos
extremos desse intervalo. Portanto, uma aleatoriedade não é distribuída de maneira
tão uniforme. Agora, eu realmente quero
mantê-lo aleatoriamente. Então eu vou desfazer até
voltarmos para onde estávamos. Mas eu só queria que
você estivesse ciente dessa expressão, caso quisesse brincar com o quão aleatórias
as coisas estavam ficando. Tudo bem, deixe-me sair
desse gráfico de velocidade. E digamos que você esteja
fazendo mais do que apenas obter um valor aleatório nessa
expressão logo antes de Random. Por que não dizemos tempo, vezes 20 mais nossa expressão
aleatória? Agora, o que vai acontecer
é pegar
o valor do tempo e
multiplicá-lo por 20,
adicioná-lo à rotação
e, em seguida, adicionar nosso número
aleatório a ele. Então, se eu clicar para aplicar
e depois reproduzir
isso, basicamente parece
exatamente o mesmo. A rotação é
totalmente aleatória. Mas se eu me livrar
dessa parte da
expressão aqui, vou simplesmente cortar isso. E agora só temos
tempo, vezes 20. Então vamos obter um quadrado girando
lentamente. E se eu mudar meu valor de
tempo de posterização para zero, então não teremos
nenhuma rotação. Porque isso está
mudando globalmente os quadros por segundo em qualquer
expressão escrita aqui. Mas digamos que eu quisesse que a
rotação acontecesse, mas adicione um valor aleatório que
não mude nela. Bem, é aí que a expressão
aleatória
inicial entrará em jogo. Então, deixe-me
anotar minha expressão e separá-la um
pouco
da época de posterização, só para que
possamos ter uma separação visual. E eu vou colar essa
expressão novamente. Então, voltamos a ter um número
aleatório implementado. Mas como nossos quadros por
segundo estão definidos como zero, não
estamos obtendo a
rotação impulsionada pelo tempo. Bem, vamos voltar para a expressão
suspensa
em uma linha e
digitar uma nova expressão
como semente aleatória novamente After Effects será preenchido automaticamente. semente aleatória é
o método e o argumento fica
entre parênteses. Essa expressão
serve para escolher
um ponto de partida
para a aleatoriedade. Como o After Effects é
um programa em um computador, na verdade
é
muito difícil gerar números realmente aleatórios. Sempre que você gera
uma expressão aleatória, tudo se baseia em um
valor inicial ou em um ponto de partida. Colocar sementes aleatoriamente
nos permite escolher esse ponto de
partida. Se eu tivesse dito semente aleatória, isso poderia
ser literalmente qualquer valor que eu quisesse. Vou terminar com um
ponto e vírgula e clicar em OK para aplicar. Então meu quadrado
será girado em uma rotação aleatória específica. Mas, na verdade, ele pode fazer mais do que apenas nos dar um ponto de
partida aleatório. Se eu alterar meu backup de quadros por segundo
para 24 para corresponder à composição, obteremos essa aleatoriedade. Mas com essa semente aleatória, posso acrescentar ao nosso argumento. Então, vou separar
esse valor por uma vírgula. E a próxima seção é a parte atemporal
da discussão. Significa atemporal. Ele será atualizado em cada quadro ou não será
atualizado em todos os quadros? Por padrão, ele é definido como falso, o que significa que ele
será atualizado em cada quadro, mesmo seed random não faça parte
da minha expressão. Mas como está aqui, eu poderia digitar verdadeiro, dizendo que o
argumento atemporal é verdadeiro, que significa que ele não será
atualizado em todos os quadros. Então, se eu clicar agora, mesmo que meu tempo de posterização esteja definido para 24 quadros por segundo, minha aleatoriedade não atualizada e obteremos
o tempo vezes 20 parte de nossa expressão adicionado a
um valor aleatório entre menos 18180 e esse
valor não muda. Então, se eu for para o início, meu valor aleatório é menos 10,2 e isso está sendo
adicionado à rotação. E se eu duplicar esse quadrado, obteremos um número aleatório
diferente. Mas ainda haverá
ambos girando nessa taxa
de tempo vezes 20. Eu poderia fazer isso
quantas vezes eu quiser em cada uma
dessas camadas, obtendo
um ponto de partida aleatório. E digamos que eu não goste do ponto
de partida dessa praça. Eu poderia entrar na expressão,
mudar o valor aleatório da minha semente para algo
completamente diferente. Digamos 64, aplique-o e ele terá um ponto de partida
diferente, seja qual for esse valor. Vamos dar a essa aleatoriedade
um ponto de partida diferente. E, novamente, eu poderia vincular
isso a um controle deslizante. Então, eu poderia dizer semente aleatória, pegar esse valor e usar minha expressão pick whip para
pegar o controle deslizante aleatório de sementes. E agora podemos atualizar
seu ponto de partida aleatoriamente com um controle deslizante vez de
voltar ao código. É assim que podemos
gerar valores aleatórios, adicioná-los a outras coisas, desacelerá-los e até mesmo dizer a
eles que não mudem sozinhos. Valores aleatórios não são
necessariamente muito úteis ou você não pode
usá-los para muitas coisas. Mas quando você começa a
implementar controles
, você pode realmente inserir esses valores aleatórios para serem
o que você quiser que sejam.
6. wiggle();: A última expressão
que eu quero ver aqui é provavelmente uma que
você já encontrou antes. Foi definitivamente
a primeira expressão que aprendi a usar. E é a expressão “wiggle”. Então, vou abrir a
propriedade de posição pressionando P com a camada selecionada
e Alt ou Option, clique no cronômetro
para adicionar uma expressão. Para escrever uma expressão de manobra, você começa digitando wiggle, e então eu preencherei automaticamente
esses parênteses novamente, assim como antes de termos
o método de mexer e entre os
parênteses é nosso argumento. E, na verdade,
podem ser muitos valores
possíveis que ficam
entre esses parênteses. Mas vamos
começar com os
dois primeiros que são os mais comuns, que são frequência
e amplitude. Outra forma de
dizer isso é com que
frequência isso se
mexe e o quanto ele se mexe. A frequência é medida
em vezes por segundo. Vou dizer apenas
141 vezes por segundo. Em seguida, vou separar
isso com uma vírgula e o segundo valor, a amplitude é o
quanto ela pode se mexer. Então, digamos 250, e isso é 250 pixels. Já que estamos trabalhando com
a propriedade position. Vou terminar com
um ponto e vírgula e aplicá-lo. E agora o que
vai acontecer é a camada vai
se mexer. E isso é
diferente de apenas um valor aleatório, 1-250, porque
na verdade está mudando o valor. Não se trata apenas
de colocar números aleatórios em cada quadro. Ele está deslizando os valores
a uma taxa de uma vez por segundo com um alcance máximo de 250 pixels em qualquer direção, seja positiva ou negativa. E é por isso que parece as camadas realmente se
deslocam em vez de aparecerem aleatoriamente
esporadicamente por
todo o lado na composição. Se eu quisesse que isso fosse
um pouco mais rápido, eu poderia alterá-lo para
duas vezes por segundo. Se eu quisesse que ele se movesse mais devagar, eu poderia dizer 0,5
vezes por segundo. Se eu quisesse que ele se movesse menos, eu poderia mudar isso
para dizer AT, e talvez digamos
cinco vezes por segundo. Então, agora ele se move rapidamente, mas não tão longe. Agora, se eu cortar isso
da posição e, em vez disso,
adicioná-lo à rotação, então vamos
aplicar esse movimento à rotação. Só precisamos lembrar
que estamos trocando de unidade. Então, estamos indo a
cinco vezes por segundo e um valor de 80 graus. Agora, e se eu quisesse apenas que
a posição Y se mexesse? Bem, eu poderia separar
as dimensões e adicionar a expressão
apenas à posição branca. Mas eu quero te mostrar como
fazer isso em uma matriz. Então, vamos cortar essa expressão da rotação mais uma vez. Volte para a posição. E o que precisamos fazer é escrever nossa expressão em uma matriz,
que, se você se lembrar, começa com um colchete aberto. Para o valor x, quero que
seja o que eu defini para esse
valor aqui. Em vez de codificar e um valor, vou apenas
referenciar esse valor. Então, vou usar minha
expressão pick whip para selecionar essa propriedade específica, separar a matriz com uma vírgula e depois colar na minha expressão. Agora eu preciso ter cuidado
aqui porque há um ponto e vírgula no final
que eu também recorto e colo. Preciso ir um pouco
antes disso e colocar um colchete de fechamento
para finalizar minha matriz. Isso fica verde
e destaca o primeiro
colchete,
informando que esses dois
correspondem e que são válidos. Agora, se eu clicar para
aplicar a expressão, na verdade
vou
receber um erro. Clicar nisso me
diz que há uma peça de matriz que não pode ser
expandida para mais de um valor. Isso é algo
exclusivo do Wiggle. Você viu que eu apliquei o wiggle a essa propriedade que tem
dois valores em sua matriz. E funcionou, ele balançou
nas posições x e y, e eu o apliquei
à rotação e ele também funcionou lá onde
é um valor único. Portanto, a expressão wiggle é um pouco mais
universal dessa forma. Mas se eu quiser segmentar um valor
específico em uma matriz, tenho que adicionar mais uma coisa
após a expressão wiggle, que é outro colchete aberto e
fechado. E então o índice
da parte da matriz
que eu quero segmentar. Então, nesse caso, é
um valor de um. Lembre-se de que contamos a partir de zero
e depois de um em uma matriz. Quero segmentar o
valor y indexado em um. Vou colocar um entre
esses colchetes. Clique para se inscrever. E agora o valor só vai oscilar
na posição Y. posso mover a exposição Ainda posso mover a exposição, já
que referenciei esse código aqui. E ainda vai tremer. E isso é realmente tudo o que
há na expressão wiggle. Novamente, assim como antes, é uma maneira inteligente de trabalhar para
amarrar esses dois controles deslizantes. Então, se eu entrar em meus
controles de expressão e adicionar um controle deslizante, renomearei essa frequência
ou apenas FREQ para abreviar. Vou duplicar esse, chamá-lo de AMP para obter amplitude. Então eu posso entrar
aqui e escolher o valor da frequência para
a expressão wiggle. Use minha expressão pick
whip para pegar esse controle deslizante. O segundo valor
é a amplitude. Vou usar minha expressão pick
whip para capturar essa amplitude. Aplique a expressão. E agora
não há nenhuma oscilação porque esses
dois valores
estão definidos como zero. Então, se eu mudar isso para dois e mudar minha amplitude
para, digamos, 250, ele será atualizado a uma
taxa de duas vezes por segundo e 250 pixels. Agora, essa expressão
ficou muito mais difícil de ler. E na próxima lição,
vamos dar uma olhada nas variáveis que nos ajudarão a tornar isso muito mais legível. Mas antes de fazermos isso,
vou reescrever essa expressão de volta à
forma como a tínhamos originalmente. Vou dizer mexer
e depois dizer uma vez
por segundo e 250
pixels e no máximo, se você se lembrar, eu disse
que você pode escrever
mais do que apenas esses dois
valores nesse argumento. E pode ser difícil
lembrar quais são todas
essas possibilidades de argumentos em uma expressão. E pode até haver
expressões que você não percebe que têm
mais possibilidades do que as que você está usando. Mas essa pequena
seta aqui e no círculo é o menu da linguagem da
expressão. E se eu clicar nele,
esse é o diretório completo de possíveis expressões que você poderia escrever no After Effects. E se formos
ao menu de propriedades, é aí
que está o wiggle. Então, vamos dar uma
olhada no que está escrito aqui porque é muito
mais do que apenas mexer. No início,
vemos frequência e amplitude e esses são os
dois valores que inserimos. Mas depois disso vem outra vírgula, e temos oitavas iguais a um, outro
múltiplo de amplitude de vírgula é igual a 0,5, vírgula t é igual a tempo. O que
diabos são todos esses valores? Bem, honestamente, eles não são
usados com muita frequência e
não vou entrar
exatamente no que fazer com eles aqui. Mas essa é uma
maneira perfeita de ser capaz de ver o que cada parte de um
argumento é, na verdade, quatro, porque se formos dizer a categoria de números
aleatórios
, veremos
a expressão aleatória. E há algumas maneiras
de escrevê-lo. A forma como o usamos
é o valor mínimo ou matriz e o valor
máximo ou matriz. E no topo,
temos a semente aleatória onde primeiro colocamos o valor da semente e depois colocamos o valor atemporal
verdadeiro ou falso. Portanto, essa é uma ótima referência
para, se você não consegue se lembrar, quais valores devem estar
nos argumentos e em que parte
dos argumentos eles devem estar. Se você está curioso para saber o que todos esses outros
argumentos de manobra podem ser, basta pesquisar
no Google a
expressão de manobra e encontrar um guia que
explique o que são oitavas e qual é a amplitude
múltiplo é. Mas, como eu disse, esses
argumentos raramente são usados ou necessários em projetos
de efeitos posteriores. Mas isso é tudo para a expressão
wiggle. É algo
muito útil para gerar movimentos
aleatórios que
não são tão esporádicos, como a expressão aleatória.
7. Variáveis: Tudo bem, eu
voltei para onde
tínhamos essa expressão que é muito mais difícil de ler para a animação de manobra que
adicionamos a esse quadrado. Lembre-se de que a frequência e a
amplitude estão sendo acionadas por esses controles deslizantes que eu adicionei
no painel de efeitos. Eu gostaria de tornar isso muito mais fácil de ler, interpretar
e até mesmo modificar usando
o que é chamado de variáveis. Então, se eu for até o início
da expressão e
colocar duas linhas abaixo, geralmente é
assim que eu
gosto de organizar meu código. Eu começo com variáveis, eu as separo com uma linha de código
em branco e depois escrevo minha expressão. Acho que a maneira mais fácil de
pensar sobre uma variável é que ela é uma abreviatura para o
resto das minhas expressões. E começamos a escrever uma
variável digitando VaR, que é a abreviação de
variável no After Effects, vai destacar
isso em azul porque sabe o que você está
tentando escrever aqui. Então VAR, agora eu preciso
realmente definir a variável
e dar um nome a ela. As variáveis podem ter qualquer
nome,
desde que não tenham valores
reservados. Como se eu não pudesse nomear
uma variável wiggle já que esse já é
um método de expressão. Mas eu poderia dizer VAR
FREQ para frequência, e esse é um nome
perfeitamente válido. E então eu vou colocar
um sinal de igual. E agora eu tenho que realmente
definir essa variável. Então, dei um nome à
variável, mas preciso dizer o que esse
nome representará. Agora. Bem, eu quero que a frequência
represente o controle deslizante de frequência. Então, vou usar
minha expressão pick whip com meu cursor ali, pegar aquele controle deslizante de frequência e essa expressão
de efeito agora será
referenciada sempre que eu digitar frequência ou FREQ
na minha expressão. Então, vou terminar essa linha com um ponto e vírgula que
é muito importante. E então eu posso ir até minha expressão
wiggle e descobrir onde eu tenho esse
mesmo código aqui. E em vez de usar esse código, posso simplesmente digitar
FREQ para frequência. Agora é muito importante
que eu siga
as maiúsculas e minúsculas porque frequência com F maiúsculo na verdade faz parte
de uma expressão. É parte do JavaScript. Enquanto eu estiver usando
o mesmo estojo
, ele saberá que estou
fazendo referência a essa programação aqui. Então, isso é ótimo. E se definirmos uma variável
para a amplitude também? Bem, vamos
escrever outra linha. Digite VAR AMP para amp é igual a
e, em seguida, use essa
expressão pick whip para capturar a Amplitude. Termine isso
com um ponto e vírgula. Pegue aquela parte da minha
expressão que estava fazendo referência ao mesmo
controle deslizante em vez do tipo de código AMP para amplitude, já ficou muito mais fácil de ver, mas podemos considerar isso um dê um passo adiante e vamos até o topo, derrubar uma linha e escrever outra variável, VAR. E chamaremos isso de x
para a posição x igual. Use a expressão
pick whip para selecionar
a exposição concluída
agora com um ponto e vírgula
e, em seguida, selecione essa parte da minha expressão e
substitua-a por x. Agora, se eu aplicar isso, a expressão avalia
exatamente com o mesmo resultado, mas é muito
mais fácil de ver. Mas eu nem
preciso parar por aí. Vamos voltar à
nossa expressão e adicionar outra variável, VAR. E eu vou chamá-lo de W para
abreviar para wiggle é igual. E então vou cortar essa
expressão aqui, deixando o
colchete final para a matriz. Vou recortar isso e
colar nessa variável, finalizar com um ponto e vírgula. E então aqui embaixo
no meu tipo de matriz W. Então agora minha matriz tem literalmente
dois caracteres, x, W. Vou aplicá-la. E, novamente, temos
exatamente o mesmo resultado, mas está em um formato muito mais estruturado
que é tão fácil
de ler, eu posso simplesmente ver
qual é a minha frequência. Oh, é o controle deslizante
da frequência. Qual é a expressão wiggle? Não, isso está aqui e está isolado para que eu possa modificar as coisas. E você até notará que estou usando variáveis
dentro de variáveis, o que é outro uso extremamente
poderoso de variáveis. Ele simplifica muito seu código, torna tudo mais organizado, fácil de ler e
mais fácil de atualizar. Eu os uso o tempo todo
e estou constantemente encontrando novas maneiras de
torná-los ainda mais úteis. Mas com certeza
vamos aproveitar essa técnica quando formos animar o
projeto da turma na próxima lição.
8. Controles globais: Agora que
aprendemos a usar um punhado de expressões e
controlá-las de forma inteligente. Vamos começar a realmente
animar nosso projeto de classe. Agora, se você quiser apenas usar minha obra de arte e
recriar meu projeto, tudo bem. Basta acessar a guia
Projeto e Recursos. Expanda o pequeno menu para baixo. Olhe no lado direito e
você encontrará o projeto
After Effects com toda a arte já
configurada exatamente assim, você pode me acompanhar. Ou se você preferir
criar sua própria arte, talvez queira
assistir ao resto
das aulas apenas para ver como eu
lido com minhas camadas
para que você possa estar mais informado
ao criar seu próprio. Mas vamos analisar
rapidamente
a aparência da animação final. Tem muita coisa acontecendo aqui. A bandeja se levanta do
chão, todos os pedaços de sushi e todas as outras coisas na
bandeja flutuam ainda mais alto. Cada camada é
distribuída aleatoriamente e elas
meio que levitam
pairando para cima e para baixo, bem
como girando antes que
todas
voltem diretamente para baixo, apoiadas na bandeja, de volta
ao chão. Há também uma
textura animada com uma borda
ondulada que é aplicada
a cada camada. E sim, vamos
derivar toda essa animação com um único conjunto
de quatro quadros-chave. Então, vamos começar
muito focados e apenas animar essa bandeja. Vou isolar essa camada junto com o fundo e a sombra para não nos
distrairmos com as outras camadas. Agora, obviamente, eu poderia
animar isso com quadros-chave diretamente
nessa camada, eu poderia definir um
quadro-chave
de posição no início, avançar alguns segundos e que ele se levantasse do chão. Apague facilmente esses quadros-chave,
copie-os,
cole, clique com o botão direito do mouse no Assistente de
quadros-chave e
inverta o tempo E então a árvore
vai se levantar do chão e cair de volta. Mas se eu fiz isso para
cada camada
, terei quadros-chave para cada camada e não apenas na
propriedade position, porque
também quero animar
a rotação com 15 camadas diferentes que
precisam de quadros-chave em
várias propriedades. Isso pode ficar muito
complicado muito rapidamente e ser muito difícil
fazer ajustes. Além disso,
se eu mover uma camada com a posição depois de aplicar os
quadros-chave, ela adicionará mais quadros-chave e será mais difícil
fazer ajustes em todos
eles. quadros-chave de uma só vez. Portanto, não só não vou
adicionar quadros-chave em
cada camada, não
vou
animar usando os controles
de transformação dessas camadas. Em vez disso, vou usar o efeito Transform
e mostrarei o porquê. Deixe-me pesquisar por
transformação aqui no meu painel de efeitos e aplicar isso. Isso me dá um conjunto de controles de
transformação como um efeito, em vez
dos controles de transformação reais da camada. Para que eu possa recriar
essa mesma animação. Basta adicionar alguns quadros-chave e tirar isso do chão. Copie, cole, copie e
cole com facilidade. E temos exatamente a
mesma aparência da animação. Mas o benefício é agora, digamos que eu
queira reposicionar isso. Eu poderia pegar a
camada porque você pode ver que o contorno da camada
está aqui embaixo. Ainda assim. Movê-la para
onde eu quiser
nessa animação é
tudo em relação à camada, porque os controles de
transformação não estão afetando esse efeito de
transformação. Também posso copiar e colar
isso em todas as outras camadas. Então, na verdade, vamos
fazer isso agora. Vou voltar para onde a
bandeja não deveria estar sozinha. Essas camadas, copie
esse efeito de transformação e cole-o em
todas as outras camadas. E agora todos eles
vão se mover juntos. Agora, se eu pressionar U, ainda teremos o mesmo problema de ter quadros-chave em cada camada. Isso não é o que eu quero. Mas a questão é
que eu defini um conjunto de quadros-chave de
posição e
o apliquei a todas essas camadas
diferentes. E isso não atrapalhou nenhum posicionamento
deles porque o efeito é relativo à camada na qual
você o está aplicando. Tudo bem, vamos
voltar para onde estávamos. E, novamente, não
quero derivar esse efeito específico
com quadros-chave. Em vez disso, quero criar um controlador global
que tenha todos os
meus controles de expressão e vincular a ele
todas as propriedades que
eu quero animar. Então, vou me livrar desses
quadros-chave e ir até Layer New Null Object. Se você não está familiarizado
com o objeto nulo, essa camada não
é renderizada, ela não faz
nada sozinha. Está lá apenas como um
contêiner para controles. Basicamente, ele tem todos
os mesmos
controles de transformação de qualquer outra camada. Mas eu poderia usá-lo para vincular
outras camadas a ela e, em seguida,
transformar essa camada e ela
controlará tudo o que
foi criado como pai transformar essa camada e ela
controlará dela. Ou poderíamos usá-lo para manter controles de
expressão e, em seguida, vincular propriedades individuais
a esses controles. Então, vou renomear
esses controles globais. E vou mudar
a cor da etiqueta para verde e
deslizá-la para o lado. Não precisa
estar ao lado, mas achei que é menos do que o caminho, se não estiver
por cima da minha obra de arte, vou me dar um pouco mais de
espaço aqui embaixo
no cronograma, já que
vamos trabalhar com
todas essas camadas. E um truque com expressões que podem economizar muito tempo é um recurso chamado cópia
com links de propriedades. Então, se formos até o menu Editar e descer até Copiar
com links de propriedades, o que isso fará
é copiar o que você selecionou com todas as
propriedades dentro dele, vinculando-o à fonte
via expressões. Então, deixe-me adicionar o efeito de
transformação ao meu objeto
nulo de controles globais. Novamente, não
fará nada visualmente porque o
objeto nulo não é visual. Está lá apenas para
guardar as informações. Mas agora, esse
efeito de transformação é aplicado ao nulo, se eu for até Editar e
descer para Copiar com links de
propriedades e depois colar
isso em cima da bandeja. Isso substituirá o
efeito que já estava lá. Mas todas as propriedades
desse efeito agora estão vinculadas à instância que está
na camada de controles globais. Então eu posso mover a
posição, eu poderia girá-la e tudo está ligado a esses
controles globais nulos. A razão pela qual isso
é tão poderoso é porque se eu
colar isso em todas as minhas outras camadas e remover
tudo para que vejamos todas as obras
de arte na minha composição. Depois, posso acessar meus
controles globais nulos e ajustar um único controle de posição
para modificar todos eles. Agora, novamente, isso não é tão impressionante porque
eu poderia
ter simplesmente vinculado tudo ao objeto nulo e mover a posição. Mas a questão é que copiar
com links
de propriedades economiza muito tempo ao
vincular propriedades a um controlador. Agora, eu sei com certeza
que esse equipamento vai ficar bem complexo com muitos controles e o efeito
de
transformação ocupa muito espaço. Então, para tornar isso mais
claro, vou usar controladores de
expressão para pontos de
controle personalizados e, em seguida, vincular as propriedades que eu
quero animar a eles. Em vez de ter todos
esses controles de transformação, ocupando muito
espaço nessa camada. Então, vou desfazer novamente para me livrar
do efeito de transformação em
todas as outras camadas. E eu até mesmo o removerei dessas duas camadas
com elas selecionadas, pressionarei Control Shift E ou Command Shift E para
remover todos os efeitos. Em seguida, trarei o efeito
Transform de volta para a bandeja. E nos controles globais nulos. Preciso adicionar um controle deslizante. Então, vamos ao
efeito deslizante, aplique isso. E essa
será a posição y. Então, vou
chamá-lo de meu POS, para abreviar. Vou abreviar
o máximo que puder ao mesmo tempo, tornar
as coisas descritivas. E é isso que eu quero para definir a posição da bandeja. Então, vamos abrir o efeito de
transformação. E eu vou isolar
esta propriedade de posição. Então, com ele selecionado,
toco duas vezes na tecla S e, em seguida
, pressiono E para exibir os efeitos dos controles
globais que esse controle deslizante também
fique visível. Agora eu quero escrever
uma expressão na propriedade de transformação. Então, vou Alt ou Option, clique
nele e comece a escrever minha matriz. Como essa propriedade é uma matriz, e assim como aprendemos, vou usar variáveis
para facilitar a leitura. Então, vou começar
com VAR x é igual. Esse será meu valor x. Eu quero que isso seja
o que quer que esteja configurado. Então, vou usar minha
expressão pick whip para pegar essa propriedade x e
preencher automaticamente esse código, terminei com um ponto e vírgula, solte uma linha e
digite VAR y é igual. E eu quero que esse seja o controle deslizante Y que está
nos controles globais nulos. Então, vou usar minha expressão pick whip para selecionar esse controle deslizante, finalizá-lo com um ponto e vírgula
e, em seguida, soltar duas linhas porque eu quero
realmente escrever minha matriz. Agora, vou me dar um
pouco mais de espaço aqui. E começamos a escrever
nossa matriz com os
colchetes abertos e fechados. Dentro desses colchetes,
vou dizer x vírgula y e finalizar com um ponto e vírgula. Então, agora minha matriz é
extremamente simples. Todo o código é armazenado
nas variáveis e é muito fácil
identificar o que está acontecendo. Então, se eu clicar para aplicar, minha bandeja vai se
levantar do chão e será definida como um valor de zero porque meu controle deslizante de posição y
nos controles globais
null está definido como zero. Mas se eu aumentar
ou diminuir isso, ele direciona a posição
dessa bandeja no eixo y. Agora eu gostaria que isso
começasse com um valor de zero, mas não tivesse levantado
a bandeja do chão. E eu posso realmente fazer isso se
eu modificar o ponto de ancoragem. Se eu desativar essa expressão apenas clicando no
sinal de igual, verei que o
ponto de ancoragem na posição 540 por 540 porque
esta é uma camada de forma
ou camada vetorial e
camadas vetoriais e Os efeitos posteriores estão basicamente trabalhando em
um espaço coordenado que é relativo
ao tamanho da composição. Portanto, mesmo que a
bandeja esteja aqui embaixo, o efeito, por padrão, centraliza o ponto de ancoragem na posição em
que está em um espaço de 1080 por 1080. Se eu mudar minha âncora 0,200
e minha posição para zero zero, então ambas estarão
no canto superior esquerdo da composição, mas minha bandeja ficará
exatamente onde estava, contanto
que a posição e
os pontos de ancoragem são os mesmos, é
isso que vai acontecer. Agora, se eu ativar minha
expressão novamente, meus valores começam em 00, mas as bandejas avaliam onde
deveria estar.
Isso é exatamente o que eu
queria, porque agora posso ajustar esse valor
para o que eu quiser. Saiba exatamente quantos
pixels eu o removi e zere-o novamente para chegar onde estava em
seu ponto de repouso. Agora eu poderia animar esse
controle deslizante se eu seguir em frente e apenas alterar esse valor para levantá-lo um pouco do chão. Copie, cole, copie
e cole com facilidade com o F9. Então voltamos a ter uma bandeja de levitação e
então ela cai de volta. Mas, novamente, vamos
animar tudo isso com base em um
conjunto de quadros-chave. E isso não é suficiente. Isso não vai impulsionar
toda a nossa animação. Então, em vez disso, vou me livrar
desses quadros-chave, colocá-los de volta em zero e adicionar outro controle deslizante. Na verdade, vou apenas
duplicar essa e renomeá-la como animação. Vou mover isso para
o topo da pilha de efeitos porque é isso que
vai impulsionar tudo. Isso é o que
terá quadros-chave nele. E vou
pensar nesse controle deslizante em termos de porcentagem, zero a 100% de conclusão. Então, vou começar adicionando um
quadro-chave logo no início. Vamos dizer dez quadros
adiante com um valor de zero. Então eu vou
avançar um pouco. Não estou muito
preocupado com o tempo no momento, então vou avançar
alguns segundos alterá-lo para 100%. Pressione U para
abrir meus quadros-chave. Copie e cole esses. Clique com o botão direito do mouse
em quadros-chave de reversão Agora, nada visual está acontecendo. Estamos apenas animando um valor. Se eu for ao meu gráfico de valores, você pode ver que
ele está mudando de 0 a 100 segurando e depois indo de
100 de volta para zero. Agora vamos começar a implementar
a expressão linear. Lembre-se da primeira coisa que
aprendemos nessa classe a
mapear valores para esse
conjunto de quadros-chave. Vamos voltar para a
expressão da posição e adicionar outra variável
no topo da lista,
dirá que VAR a para animação é igual a esse controle deslizante de animação finalizado com um ponto e vírgula, e agora podemos escrever uma expressão
linear para mapear o valor y para esse controle deslizante de
animação. E eu vou fazer isso
dentro de outra variável, então eu vou cair
depois da variável y. E como isso é
depois dessa variável, eu posso realmente referenciar
qualquer coisa antes dela. Então, digamos que VAR novo y
com Y maiúsculo seja igual, e então vou começar a digitar
minhas expressões lineares. Tão linear e
será preenchido automaticamente. Vou pressionar Enter para
obter esses parênteses. E o que
queremos linearizar? Bem, o controle deslizante de animação, este aqui em cima, que nós o armazenamos
como uma variável a. Então eu direi que a é o que
queremos linearizar. Então, precisamos do nosso intervalo de entrada, então a vírgula e nosso intervalo
de entrada serão de zero a 100. Porque lembre-se, estou
pensando nisso como uma conclusão de zero a 100%. Então, diremos zero vírgula 100
e, em seguida, outra vírgula
e nossa faixa de saída. Bem, quando a animação
é definida como zero, eu também quero que a posição
no y seja zero, então vou
digitar outro zero. Então vou colocar uma vírgula. Mas quando estiver em um valor
máximo de 100%, quero que seja o que eu
defini para o controle deslizante de posição y, que é essa variável y que
eu armazenei logo acima dela. Então, vou digitar
a variável Y do meu máximo de saída. Vou
terminar tudo com um ponto e vírgula e depois mudar minha matriz
aqui em vez de apenas x, y para x, um novo y. Agora, se eu aplicar essa expressão, nada realmente acontece,
mas é porque minha posição y está definida como zero. Se eu mudar esse valor
para outra coisa, ele vai
se levantar do chão. Então, talvez digamos menos 80. Veja o que acontece agora, quando
eu voltar para além de 100, porque estamos
linearizando esse valor, ele vai se animar
entre zero e y. Então, vamos adicionar um pouco de atenuação a esses quadros-chave e eu vou
para o meu editor gráfico e apenas torne-o um
pouco mais extremo para que ele saia do chão um pouco
mais rápido e depois pare bem no final. Talvez até diminua
um pouco mais. Agora a árvore vai
aparecer do chão, passe o mouse por um segundo
antes de voltar para baixo. E eu posso alterar facilmente a
distância que ele se levanta
do chão apenas alterando
esse amplo controle deslizante de posição. entanto, não importa para o que eu
mude, ele sempre
voltará ao seu ponto de descanso no chão, um valor de zero. E essa é a técnica
que usaremos para conduzir praticamente toda a animação
nessa cena,
de forma que tudo esteja ligado a esse
único controle deslizante de animação, mas ainda assim facilmente personalizável com os controles de efeito
que construímos aqui.
9. Randomness controlado: As coisas estão ótimas até agora. Agora, vinculamos dinamicamente
o valor da posição a um controle deslizante que é acionado por
um controle deslizante
diferente. E essa é uma
proporção de um para um
no momento , o valor da posição y é a
distância que a bandeja está se
levantando do chão. Mas não é isso que eu quero aconteça com todas as coisas
que estavam na bandeja. Eu não quero que ele suba
tão longe. Quero que todos
pairam sobre a bandeja, todos aleatórios em posições
diferentes, e façam ainda mais depois de
estarem no ar. Mas vamos nos concentrar em como
podemos tirar todo o resto da bandeja e
distribuí-lo aleatoriamente nesse eixo y. Bem, em primeiro lugar, vou renomear essa posição Y do efeito de
transformação apenas para organização. Em seguida, vou
copiar esse efeito, fechar essa camada e isolar
o primeiro item na bandeja, que é esse papel para camada. Vou ampliar aqui para que
possamos ver isso de forma agradável e clara. E vou colar esse efeito de
transformação nele. Então, agora, tanto a bandeja
quanto o rolo de sushi estão sendo conduzidos por esse objeto nulo de controles
globais, esses quadros-chave indo de 0 a 100%. Bem, eu quero que esse
rolo de sushi não só se levante do
chão, mas
também da bandeja. Então, vamos dar uma olhada
nessa expressão de posição. Na verdade, vou apenas tocar duas vezes
na tecla E para abrir a única expressão
nessa camada até agora. E pense no
que poderíamos fazer para introduzir uma compensação aleatória. Bem, obviamente poderíamos adicionar
a expressão aleatória, mas não queremos que ela
pule por todo o lado, então definitivamente precisaremos dessa semente aleatória. Então, por que não começamos por aí,
vamos simplesmente colocar uma linha e eu digitarei a semente aleatoriamente. E entre parênteses dirá
apenas uma vírgula, verdadeiro. Lembre-se de que a segunda
parte da discussão são as discussões atemporais. Então, se for verdade, isso significa que é atemporal, o que significa que não se aplicará. Isso apenas nos dá um valor aleatório. Termine com um ponto e vírgula. E então, na verdade, vou simplesmente
derrubar outra linha para separar a matriz real
de todo o resto. Dessa forma, eu só tenho
alguns separadores visuais. Tenho minhas variáveis, tenho minha semente aleatória e
tenho minha expressão. Agora, a semente aleatória sozinha
não vai fazer nada. Precisamos realmente
implementar alguma aleatoriedade. Se pensarmos de trás para frente,
um pouco novo y é uma expressão linear, mas é baseado nesse controle deslizante
aqui, a posição y, se você se lembrar,
zeramos todos esses valores, então eles estão indo de zero
para o que quer que esteja definido. E isso é realmente muito
conveniente porque eu poderia usá-lo como um multiplicador
com um número aleatório. Porque no início
da animação,
quando a posição
é definida como zero, qualquer coisa que eu multiplique por não importa quão
aleatório seja o número, sempre
será igual a zero, o que
significa que a camada
não se moverá até que o valor do controle deslizante de animação tenha aumentado para algo
maior que zero. Então, se eu entrar na minha expressão
linear e descobrir onde
chamamos essa variável y. Eu poderia dizer y vezes e
depois um número aleatório. Então, digamos aleatório e diremos
apenas um valor de dois. Então, ele vai
gerar um número aleatório 0-2 e multiplicá-lo por
qualquer coisa que o controle deslizante Y esteja definido. Então, vou aplicar isso
e ver o que acontece. Bem, a bandeja está
levantando para cima
e para baixo e o sushi está
subindo e descendo. Mas assim que o
quadro-chave da animação começa
, meu sushi está pulando por
todo o lugar. E estou realmente feliz que isso tenha
acontecido, porque é algo que eu deveria
ter destacado antes. A semente aleatória deve acontecer antes qualquer número aleatório seja
gerado em suas expressões. Então, na verdade, vou cortar essa semente aleatoriamente de
onde ela está e
colocá-la em uma linha isolada
antes de todas as minhas variáveis. Dessa forma, estamos definindo a semente aleatória e dizendo que ela seja atemporal antes que qualquer um desses
números seja gerado. Agora que
esclarecemos isso, vamos reaplicar essa
expressão e reproduzi-la. Agora você pode ver
que a bandeja e o rolo de sushi estão se movendo
em ritmos diferentes. Mas por que o papel não se move tanto
quanto a bandeja? Bem, é porque estamos gerando um número
aleatoriamente 0-2. Portanto, se o
número gerado aleatoriamente for menor que um, ele
moverá o
rolo de sushi menos do que a bandeja
real. Portanto, como salvaguarda, poderíamos dizer que os
números aleatórios deveriam ser de 1 a 2. Dessa forma,
garantiremos que ela se moverá pelo
menos tanto quanto a bandeja, mas poderá se mover até o
dobro da quantidade. Então, vamos aplicar isso. E agora meu rolo de sushi
está maior porque
obtivemos um novo
número aleatório que é 1-2. Agora, assim como tudo mais, eu não gosto de codificar
esses números. Então, vou adicionar
mais dois controles deslizantes. Vamos duplicar a
posição y e renomear essa posição y para Min. Duplique-o novamente e
diga y posição máxima. E vou defini-los com
os mesmos valores de 1,2. Em seguida, voltaremos
à nossa expressão, adicionaremos outra variável logo
antes da nova variável Y. E eu direi que a variável
y Min é igual a, e estou usando o que é chamado camelCase neste código
JavaScript, onde a primeira parte de
uma variável é minúscula, mas você define cada palavra
correspondente ou um componente separado do nome da sua variável
usando uma letra maiúscula. Isso não é necessário, é
apenas uma prática comum. Então, a variável y Min é igual, e então eu vou pegar
esse controle deslizante de ponto e vírgula, derrubar uma linha e fazer outra
variável, desta vez y max é igual a e pegar aquele controle deslizante máximo de
posição larga. Agora podemos chamar essas duas
variáveis aqui embaixo e dizer y min e y max. Com isso aplicado,
agora posso definir o valor
mínimo e máximo da posição y valor
mínimo e máximo em tempo real, sem
entrar nessa expressão. Então, digamos que eu
queira que esse rolo de sushi possa
ir
cinco vezes mais alto. Vou definir o máximo para cinco. E agora veremos
isso aumentar muito mais à medida que esses
quadros-chave acontecem. Agora
haverá muita carne copiando coisas para frente
e para trás entre todas essas camadas
só para que você possa ver como tudo isso está
afetando tudo, mas você não precisa
seguir em frente com isso. Eu só queria
mostrar isso como um visual. Então, vou pegar
essa posição y, que lembra que é
um efeito de transformação e colá-la em todas
essas outras camadas. E então me dê
bastante espaço aqui para que
possamos ver exatamente
o que está acontecendo. Vamos pegar esses quadros-chave
para que os tenhamos visíveis. Tudo começa
onde deveria
no início e depois se
levanta do chão, levanta da bandeja e é distribuído
aleatoriamente pelo eixo y. Mas eu tenho os controles deslizantes mínimo e
máximo da
posição y que me permitem indicar até que ponto essas
coisas podem ser levantadas, bem
como a que distância da
bandeja elas podem levantar. Então, novamente, se eu definir
isso para zero, as coisas poderiam
cair da negociação. É necessário ter pelo menos
um valor de um para a quantidade mínima de elevação de posição
permaneça na bandeja. Mas ser capaz de
ajustar isso interativamente agora é muito mais visualmente evidente
o que exatamente está acontecendo. Mas digamos que eu não
goste da forma como
tudo isso está organizado e quero
mudar a semente aleatória. Bem, seria muito
trabalhoso passar por cada um desses
efeitos e mudar isso. Então, em vez disso, vou
duplicar esse controle deslizante
e renomeá-lo. semente aleatória
voltará à expressão do primeiro rolo de sushi. Adicione outra variável para
esse controle deslizante de sementes aleatórias, que farei logo
após o WiMAX, dirá que a variável SR
para semente aleatória é igual a
e, em seguida, usarei minha expressão pick whip para pegar
essa semente aleatória. Agora, isso não foi
expandido, então eu posso realmente pegá-lo e isso
causará um erro. Mas se eu me der um
pouco mais de espaço e abri-lo
para que fique visível. Então eu posso voltar para aquele SR igual a e depois pegar
aquela semente aleatória. Na verdade, faria mais
sentido para mim se eu chamasse isso de nossa semente aleatória. E eu só preciso ter certeza
de terminar isso com um ponto e vírgula e poder incorporá-lo agora
na minha expressão. O problema é que eu
preciso incorporar isso na linha aleatória inicial, que é antes da
variável ter sido definida. Então é aqui que eu preciso tomar uma decisão organizacional. Eu quero mover essa semente aleatoriamente logo após a variável de semente
aleatória? Ou eu quero mover a variável de semente
aleatória acima da semente aleatória? Bem, nesse caso, acho que
quero fazer a segunda opção, colocar a variável no topo,
logo acima da semente aleatória e manter todo o resto bem
organizado aqui embaixo. Acho que isso é um pouco
mais limpo e faz sentido agrupar coisas
que combinam. Então, vou aplicar isso, copie esse efeito mais uma vez sobre todas
as outras camadas. E agora eu tenho esse controle deslizante global
aleatório de sementes. Então, vamos nos dar
mais espaço novamente e ver o que acontece quando eu
altero esse valor. Agora eu posso chamar essa variável para a expressão aleatória inicial. Então, vou substituir essa
por RS e depois copiar esse efeito para todas
as outras camadas e ver como
isso afeta as coisas. Agora que eu tenho o
controle global de sementes
aleatórias , observe o que acontece
quando eu mudo isso. Cada valor que eu colocar nesse controle deslizante
vai gerar um conjunto diferente de
valores aleatórios para a posição y,
novamente, todos começando e terminando na
posição de repouso de zero. Mas essa é uma forma de ser capaz de
randomizar todos os elementos da minha ilustração se eu não satisfeito com a forma como as coisas
estão sendo compensadas. Então, tudo isso é ótimo. Mas eu ainda não tenho muito controle sobre como
distribuir as coisas manualmente. Então, o que podemos fazer para adicionar ainda
mais um nível de controle? Por exemplo, esse
pedaço de sushi está abaixo do arroz que
estava em cima. Então, como posso discar isso
com mais precisão? Bem, vamos encontrar
aquele pedaço de arroz. Acho que é bom
tocar duas vezes na tecla E para
abrir a expressão. Quero adicionar um controle deslizante, mas não à camada de
controles globais. Eu quero que seja
nessa camada específica. Vou levar esse
controle deslizante para o topo da
minha pilha de efeitos e
chamarei isso de deslocamento Y. E eu quero
incorporar isso essa expressão, então precisamos primeiro colocá-la como uma variável. Então, vamos ter
espaço suficiente para poder
ver esse controle deslizante e
a expressão. E vou digitar outra
variável logo antes das novas variáveis y. Então, diremos que o deslocamento
Y variável é igual e, em seguida, usaremos a expressão pick whip para pegar esse controle deslizante, finalizá-lo com um ponto
e vírgula, e agora posso incorporar isso
à minha expressão linear. Então, novamente, na parte
do argumento que corresponde ao controle deslizante de 100%, quero adicionar algo
logo depois disso. A ordem das operações
se aplica às expressões. Primeiro, a multiplicação
e a divisão acontecerão e depois a adição
e a subtração. Vamos pegar o valor do controle deslizante
branco, multiplicá-lo pelo número aleatório entre os valores mínimo
e máximo
e, em seguida, adicionar o deslocamento y. E como isso está
acontecendo nessa parte do argumento, isso não
afetará a camada quando
o controle deslizante de animação
estiver definido como zero. Então, vamos aplicar isso. Veja esta composição à
vista completa e altere essa compensação. Agora posso
mover com precisão esse preço
melhor para colocá-lo
em qualquer lugar que eu quiser. E mesmo que eu o coloque
acima de onde deveria estar, quando eu volto no tempo, volto para onde o
controle deslizante da animação está definido como zero, ele volta para a posição
correta. Agora que
configurei isso para essa camada, vou redefinir o
valor para zero, pressione E para exibir os
efeitos nessa camada. Copie e
cole-os em todas as outras camadas. Mas eu tenho que ter cuidado
aqui porque veja o que acontece se eu colar em
tudo. Tudo bem, acabei de
colar e pressionarei E e você notará que ela não
substituiu a transformação da
posição y desta vez, nunca
descobri exatamente
como o After Effects escolhe quando substituir os efeitos e cole
na janela as duplicatas. Então, de agora em diante,
vou
remover todos os
efeitos antes de colar. E para fazer isso novamente com
toda a camada selecionada Control Shift E ou Command Shift E para
remover todos os efeitos. Então eu vou colar mais uma vez. E agora cada camada tem
o controle deslizante de deslocamento Y, o que significa que eu poderia randomizar isso usando meus
controles globais nulos. Vamos realmente descobrir
onde está. Então, aqui vou movê-lo para
o topo da pilha de camadas, ir para os Controles de Efeitos
e alterar a semente aleatória. Então, vou encontrar uma
moldura em que as coisas estão bem distribuídas, mas uma ou duas coisas
não estão se alinhando muito. Então, aqui estamos de novo, onde esse leito de arroz não está
onde eu queria que estivesse. Então eu vou comer arroz também. Vou pegar esse controle deslizante e deslocá-lo um pouco
para baixo. Não precisa ser muito. Depende apenas de mim até
onde quero que as coisas se movam, mas talvez esse palito
esteja um pouco baixo. Eu acho
que o pauzinho é o que queremos. Então, talvez eu traga
esse um
pouco para cima e, em seguida, a
bola de molho aqui, eu poderia pegar essa
camada e empurrá-la mais
para baixo, para que
não subisse tanto. Então, agora o que estou fazendo é distribuir
aleatoriamente
todas as minhas camadas, mas
limitando-as aos valores mínimo e máximo que configurei
nesses controles deslizantes. Novamente, posso afetar isso da
maneira que eu quiser a qualquer momento. E isso
afetará tudo. Posso reposicionar elementos
individuais para cada camada
para ter mais precisão. E eu posso aleatorizar
tudo completamente apenas
mudando a semente aleatória. Tudo está sendo impulsionado
por esse único conjunto de quatro quadros-chave
no controle deslizante de animação, começando e terminando exatamente
onde eu quero que tudo esteja.
10. Movimento em camadas: Agora que
posicionamos com sucesso todas essas camadas e conseguimos
deslocá-las aleatoriamente, mas ainda temos algum controle
sobre o posicionamento. Vamos passar para a próxima
etapa da animação, que seria fazer com que
esses itens levitassem, pairando para cima e para baixo, bem
como girando um pouco para
que não fiquem apenas estáticos do ponto a ao ponto B, de
volta até o ponto a. Para fazer isso,
vamos
aproveitar o efeito de
transformação. Novamente. Por que não começamos
com a camada superior aqui. Então, o wasabi, vou pressionar
E para exibir os efeitos. E eu vou
duplicar a posição y, que lembra que é um efeito de
transformação. Então, vou duplicar isso, renomeá-lo para why wiggle
e, em seguida, entrar na propriedade
position. E vamos apenas modificar
essa expressão. Provavelmente vamos
reutilizar algumas
das mesmas variáveis, então
não preciso removê-las completamente,
mas vou apenas ampliar aqui para que
possamos ver isso com inteligência. E eu quero que isso
mude para cima e para baixo, mas somente quando esses quadros-chave,
novamente, não estiverem definidos como zero. Então, para facilitar a análise que eu realmente
vou fazer, basta desativar o efeito da posição y e desativar a expressão
nas oscilações y. Então, agora que somos experientes,
não se move em nada. Na verdade, vamos desligar
todas as outras camadas para que possamos nos concentrar
exatamente no que estava soluçando. O que queremos
ver é
apenas balançar suavemente para cima e para baixo. E vamos fazer isso
com a expressão wiggle. Então, vamos
voltar aos efeitos e à agitação selvagem. Quero modificar a expressão
que temos
na posição desta vez de estar diretamente ligado a esse controle deslizante de posição y, quero vinculá-la a uma
expressão de movimento que tenha frequência e controles deslizantes de
amplitude. Então, vou selecionar todos esses efeitos aqui em cima apenas
clicando em um deles, depois pressionando Control ou
Command a para selecionar todos, e então simplesmente
recolhê-los todos de uma vez. E então vou duplicar o último controle deslizante e renomearei essa frequência de posição y. Duplique isso e nomeie
por amplitude da posição. Vou redefinir esses dois downloads. Por que não definimos
alguns valores padrão de um e talvez 100? E vamos pensar em como
vamos mudar essa expressão. Bem, sabemos com certeza que precisamos da frequência e
amplitude aqui. Então, por que não colocamos isso talvez logo após o y. Então eu vou dizer VAR FREQ
para frequência igual, e pegar esse controle deslizante. Em seguida, VAR AMP para amplitude é igual e pegou o controle deslizante de amplitudes por ponto e vírgula. Agora podemos acessar
os dois em nossa expressão para a parte
y de nossa matriz, vamos querer mexer, mas somente quando esse
controle deslizante de animação estiver correspondendo a algo diferente
do zero percentual. Então, provavelmente
ainda vamos usar essa nova expressão linear y. Só que essa parte da
expressão vai mudar. Em vez de nos basearmos
nesse controle deslizante de posição Y, vamos
baseá-lo em uma expressão de movimento. Então, vou digitar
uma expressão de manobra. Então,
mexa e, entre parênteses,
digitaremos a frequência e a amplitude. Então, estamos usando
essas duas variáveis que acabamos de escrever
para impulsionar a agitação. E lembre-se, como isso
está entrando em uma matriz, preciso colocar um colchete aberto e
fechado e o número um para o índice número um
nessa matriz, 01. E isso está fora
dos parênteses
da expressão wiggle. Agora há um problema. Essa expressão linear precisa
de parênteses de fechamento, então eu preciso ir atrás
desses colchetes, colocar parênteses de fechamento
e então ela deve ser válida. Agora, para limpar um pouco isso, posso me livrar dessa variável y porque não estou mais
fazendo referência a ela. Também não preciso
dos valores mínimo ou máximo de y ou do deslocamento Y. E eu nem preciso
dessa semente aleatória ou expressão aleatória de semente. Então, vou
selecionar tudo isso. Então, fico com apenas as
variáveis às quais preciso acessar. Então, o que temos agora é x, que é a posição real x
e y sendo nosso novo y, que é a expressão linear
pegando o
controle deslizante de animação 0-100 e remapeando esse valor para essa
posição no por que, de zero a balançando esse valor de frequência e
amplitude zonal muda dinamicamente de não balançar para
essa expressão de oscilação. Então, vamos aplicá-lo e
ver o que acontece com esses quadros-chave e visualizar um valor de zero,
nada acontece. Assim que chega a 100, ele começa a balançar e depois
volta a zero. Isso é exatamente o que
queríamos que acontecesse. E agora que
sabemos que está funcionando, posso ativar novamente o efeito de
transformação da posição y, e esses dois efeitos se acumulam um
sobre o outro. Agora, se jogarmos de volta, ele
não só vai se
levantar do chão, mas vai começar a balançar e depois voltar
para sua base. Então, deixe-me espaçar um
pouco para que possamos vê-lo pairando por mais tempo
e vê-lo subir, se mexer para cima e para baixo, e depois voltar
para um ponto de descanso. E eles são baseados na
frequência e amplitude. Então, vamos copiá-los para
todas as outras camadas. Então, com esses efeitos selecionados, pressionarei Copiar com o Controle C, removerei os efeitos de todas as outras camadas e os
ativarei também, tudo menos a bandeja que está pressionando Control Desloque E para remover esses efeitos e
cole mais uma vez. Agora, a razão pela qual eu não removi os efeitos da bandeja
é porque, lembre-se, escrevemos uma
expressão diferente nessa posição ampla do que
o resto das camadas, de modo que é uma ligação direta aquele amplo controle deslizante de posição
no controlador global. Então, se eu substituir isso, a árvore se
moverá forma diferente do que eu gostaria. Mas vamos voltar atrás
e ver o que acontece. Tudo se
levanta da bandeja. Ele está balançando para cima e
para baixo no eixo y, e depois cai de
volta no lugar. Então, isso é ótimo. Tudo está se movendo
mais do que eu quero, mas agora é muito fácil discar porque
tenho a posição, a
frequência e a amplitude que posso reduzir se quiser. Então, digamos que eu não queira que isso aconteça uma vez por segundo. Eu quero que isso aconteça
0,5 vezes por segundo, ou uma vez a cada 2 s. E digamos também que a
amplitude fosse demais, eu poderia reduzi-la para 80. Agora, tudo vai
mudar dinamicamente de forma diferente com base
nos valores que eu coloquei. Então, está muito mais lento agora, o AT provavelmente ainda
é demais. Vou baixar isso para 50. Vamos voltar para o
trem agora porque eu
quero que a posição y
oscile na bandeja. Eu simplesmente não quero sobrescrever
a posição y padrão, então preciso ter cuidado
com minha cópia. Vou mostrar os efeitos
de qualquer uma das outras camadas. Pegue isso, por que mexer? E depois
mostro o que acontece se eu colar em cima do que já
estava lá. Ela apenas substitui a transformação
que já estava lá. Então, em vez disso, vou desfazer a duplicação da posição
y e com a segunda cópia
selecionada, vou colar. E isso substitui essa instância
do efeito de transformação. Agora eu deveria mexer
a mesma coisa
na bandeja que todo o resto. Aí está. Então,
isso parece ótimo, mas ainda é bastante rígido e estático porque está apenas
balançando no eixo y. Vamos também introduzir uma
oscilação na rotação, o que faremos novamente usando outra instância
do efeito de transformação. Então, desta vez, vamos começar
pela parte inferior e eu vou apenas duplicar o
movimento y na bandeja. Então, vou ampliar aqui. Duplique por que mexer e, em seguida basta desligar
a posição y e a agitação selvagem para que possamos nos concentrar apenas no efeito com o qual
estamos trabalhando. Esse será o
movimento de rotação. Então, vou renomear esse efeito e
depois abrir a posição. Na verdade, podemos nos
livrar dessa expressão. Então, vou segurar Alt Shift ou Option Shift E em um Mac para remover
essa expressão. Na verdade, vou redefinir todo
esse efeito para que tenhamos valores padrão
para tudo. E eu quero
destacar uma coisa. Se eu mudar a rotação, ela não girará em torno do centro da obra
de arte. E isso remonta ao
que eu estava
falando com camadas vetoriais
e o After Effects, After Effects está
olhando para essa camada como se fosse
do tamanho de toda a composição. E esse efeito também, é por isso
que o ponto de ancoragem está bem no
centro da minha composição, e é aí que ele
vai girar. Quero que esse
ponto de ancoragem
esteja sempre no centro
da minha obra de arte. Mas se eu mover o ponto de ancoragem, o conteúdo da camada
mudará com ele. E isso porque a posição também precisa ser ajustada. Há duas etapas
para corrigir isso. Em primeiro lugar, a posição deve sempre seguir
o ponto de ancoragem. Então, vou até a
propriedade position , usar minha propriedade, escolher chicote para pegar
o ponto de ancoragem, e isso adiciona automaticamente a expressão para seguir
o ponto de ancoragem. Agora posso mover o
ponto de ancoragem para onde quiser e isso não
afetará mais a posição, pelo
menos visualmente, a
propriedade da posição real está mudando. Mas agora eu posso girar isso em torno qualquer ponto em que eu coloque
o ponto de ancoragem, mas eu quero que ele fique bem
no centro da minha camada. Bem, se você notou
que realmente
existe um ponto de ancoragem
na camada e que corresponde aos controles de
transformação reais da camada. Se eu entrar na transformação, aí está meu ponto de ancoragem. Essa é a mira
bem no meio. E é exatamente isso
que eu quero
atingir com meu ponto de ancoragem de
oscilações de rotação. Então, vou alterar a opção, clicar nesse
ponto de ancoragem e
digitar uma expressão muito
simples, transformar a posição do ponto. E terminei
com um ponto e vírgula. Então, estamos apenas examinando
os controles
de transformação da camada à qual ela
pertence e a propriedade
de posição dessa camada. Aplique isso. E agora, onde quer que
essa camada vá, o ponto de ancoragem sempre
estará bem no centro. que significa que quando eu
vou girar
isso, ele vai girar em torno
do centro da camada, exatamente como eu quero. Então, agora que
fizemos isso tudo configurado, eu posso realmente ir até
a rotação e
implementar uma manobra nela. E vamos pegar
emprestada a mesma expressão que usamos na mudança da posição
Y. Então, vou
entrar nisso e copiar, depois recolher o backup, entrar na rotação, adicionar uma expressão
a ele e colar. Agora, se eu aplicar isso,
receberemos um erro porque essa propriedade não é uma
matriz, é um valor único. Precisamos mudar um pouco
as coisas aqui. Em primeiro lugar, não
precisamos de uma variável x, então vou
selecioná-la
clicando três vezes nela e
pressionando a tecla Delete, e então eu posso me
livrar da minha matriz. Eu não preciso dessa
primeira metade com o x. Eu não preciso dos
colchetes. Vamos
deixar isso para novo. Por quê? Também não preciso especificar
o índice da matriz, pois não
há um na minha expressão
wiggle. Então, vou me livrar desses
colchetes e do número um. Agora, se eu aplicar isso, nosso erro
desaparecerá e essa bandeja
começará a se mexer. Isso é ótimo,
mas está fazendo referência aos mesmos controles deslizantes
de frequência
e amplitude da posição y. E eu quero controles deslizantes de frequência e
amplitude exclusivos para a rotação. Então, vou selecionar
os dois, duplicá-los. Arraste-os para baixo e os renomeie. Então, vamos dizer frequência de
rotação, amplitude de
rotação
e, em seguida,
vinculá-los às variáveis. Então, vou entrar
aqui e, em vez
dessa linha de código
para a frequência, vamos mudar isso
para frequência de rotação. A mesma coisa para a amplitude. Selecione isso até
o ponto e vírgula e, em seguida,
pegue a amplitude. Agora posso alterar
a oscilação de rotação separadamente
da oscilação de posição. E eu sei, de fato, 50 graus de agitação
é demais. Eu só vou discar isso de
volta para dizer 12º. E então eu vou ligar os outros
efeitos novamente e apenas abrir os quadros-chave para que
possamos ver como eles se alinham. A bandeja se levanta do chão, paira para cima e para baixo e se mexe em uma velocidade muito mais gerenciável. Acho que está ótimo. Então, vamos pegar aquele efeito, o movimento de rotação
da bandeja. As camadas não solitárias também se destacam, para que possamos ver os efeitos. Vou pressionar E e colar. E eu fiz isso dessa maneira apenas para ter
certeza de que
não
substituiria nenhum dos outros
efeitos e não substituiu. Agora eu sei que é seguro pegar todas as outras camadas
e colá-las também. Novamente, basta pressionar E
para verificar se nenhum dos efeitos foi
realmente substituído. E agora vou jogar de volta
e ver como é. Ok, então
tudo decola do chão. Ele paira para cima
e para baixo e está girando, mas não parece estar
girando em torno do centro de cada camada da maneira
que a configuramos. Então, vamos dar uma
olhada no porquê disso. Vamos pegar essa toupeira de molho e soltá-la por um segundo. Então, o que está acontecendo é que ele está se
levantando do chão, mas depois está girando
e parece que está girando de
algum lugar aqui embaixo. Então, se eu pressionar E para
exibir os efeitos, a razão pela qual isso está acontecendo
é porque os efeitos são aplicados na
ordem de cima para baixo. Então, primeiro estamos movendo
a posição Y, depois mexendo
a posição y e depois
girando a camada. E essa instância do efeito de
transformação está girando em torno desse ponto
exatamente onde estava
a arte original. Então, em vez de fazer isso, primeiro
preciso
mexer a rotação, que significa que preciso movê-la
acima do efeito da posição y. Em seguida, vou movê-lo para cima e , em seguida, adicionaremos
esse movimento à posição. Com essa ordem de efeitos. Vou copiá-los e
, por segurança, removerei todos os
efeitos de tudo,
exceto da bandeja Control
ou Command Shift E, e depois os colarei novamente. E então eu vou até a
bandeja também e movo a oscilação de
rotação acima
dos outros dois efeitos. Agora eu deveria ser
capaz de reproduzir isso e ver o tipo de movimento
que eu realmente queria. Tudo se levanta da bandeja. Ele está oscilando para cima e para baixo
em toda a rotação
que está acontecendo ao redor do
ponto central de cada camada. Isso é exatamente o que eu queria. Agora, a amplitude da posição provavelmente
é um pouco forte demais, então vou
reduzi-la para 25. E a amplitude de rotação provavelmente também
poderia ser reduzida para talvez
oito graus em vez de 12. Isso depende
totalmente do seu gosto. E a melhor parte de criar todos esses
controles é que você tem a flexibilidade de
apenas modificar alguns
desses valores e ver como isso afeta a animação geral. Agora, esse pedaço de arroz
aqui de novo está me causando problemas. Então, talvez, em vez de
deixar isso no chão, eu pegue o atum e o
coloque mais alto
na pilha. Mas, no geral, isso é muito
parecido com o que eu tinha em mente sobre o que eu queria que
essa animação fosse.
11. Links de propriedades: Agora eu gerei todo
o movimento que eu queria com essa animação. E eu fiz tudo isso com
um único conjunto de quadros-chave, mas há ainda mais
detalhes que eu poderia acrescentar a isso que não são estritamente para o movimento
de todas essas camadas. Digamos que você queira adicionar alguns looks estilizados ao seu trabalho de
arte usando efeitos, mas ser capaz de controlá-los com a mesma precisão
a partir desse ponto. Bem, podemos fazer exatamente isso. Então, vamos adicionar um efeito de fervura a toda a obra de arte para dar a ela
uma textura dançante. Vou procurar o efeito de
deslocamento turbulento e aplicá-lo na bandeja. Se você nunca usou
deslocamento turbulento, isso só vai adicionar distorção
aleatória à imagem
inteira e temos um tamanho e uma quantidade para mexer na aparência dessa
distorção. Então, eu quero
reduzir todo
o tamanho para o mínimo de dois, o que dará
essa bela borda texturizada. E o valor, provavelmente
terei uma taxa em torno de 50. Eu quero levar
isso até o topo
da pilha de efeitos. E eu vou reduzir
esses outros efeitos só para que eles fiquem fora do caminho. Mas dessa forma, a textura
é aplicada antes do movimento e
ficará com essa camada. Agora. Agora, existem
algumas maneiras diferentes de animar a turbulência. Uma delas é a evolução, mas essa é uma forma mais
fluida de animar as coisas. E eu quero que seja
bem aleatório. Então, vou entrar
nas opções de evolução e há um valor inicial
aleatório, assim como com a expressão
aleatória da semente. A semente aleatória dará ao deslocamento um ponto de
partida aleatório. Então, se eu mudar isso
para qualquer outro número, isso mudará drasticamente a
aparência dessa distorção. Então, podemos adicionar uma expressão
aleatória a isso para animá-lo. Então, vamos pressionar
Alt ou Option e clicar no cronômetro
para adicionar uma expressão. Nessa expressão,
digitaremos aleatoriamente. E entre parênteses, vou colocar
um número muito grande, então vou dizer 10.000. E dessa forma, em
cada quadro, ele
gerará um
número aleatório de 0 a 10 mil, mudando
completamente a aparência desse
deslocamento turbulento. Então, vou
reproduzir isso e vocês verão que agora essa
textura está animada. Está dançando, mas está mudando em cada quadro. Eu preferiria que não
mudasse todos os quadros. Então, vamos aos nossos controles
globais. Duplique o último
controle deslizante e nomeie este boil FPS para quadros por segundo. Agora, quero ter certeza de que sempre
consigo ver esses efeitos. Então, vou clicar
nesse pequeno botão de bloqueio aqui
mesmo no painel de controles de
efeitos. Dessa forma, ele ficará visível mesmo se eu selecionar uma camada diferente. Ok, então vamos voltar
para a camada em que estávamos trabalhando na bandeja
para essa expressão. E antes desses 10.000 aleatórios, vou colocar uma linha e adicionar um tempo de posterização. E entre os parênteses, vou
selecionar esse controle deslizante. Dessa forma, qualquer
número que eu digitar aqui é o que serão os quadros por
segundo para essa expressão, esse valor aleatório. Então, se eu mudar para seis, ele será atualizado a uma taxa
de seis quadros por segundo. E isso é muito mais parecido com
o que eu realmente queria. Eu poderia aumentar para
12 quadros por segundo. Isso é metade da minha taxa de quadros de composições. Mas a questão é que eu tenho um controle
muito flexível sobre isso agora. Mas e se eu quisesse mudar a quantidade e o tamanho também? Bem, eu poderia fazer mais controles deslizantes e eu poderia amarrar esses dois, ou eu poderia fazer aquele truque de cópia
com links de propriedades. Então, por que eu não faço isso só
para mudar um pouco? Na verdade, vou cortar esse deslocamento turbulento da bandeja e colá-lo
nos controles globais e reduzirei todos
esses outros efeitos. Por enquanto, vou renomear esse turbulento
deslocamento para ferver. Lembre-se de que isso não faz
nada porque é aplicado
ao objeto nulo e não a nenhuma
dessas camadas de arte. Mas se eu copiá-lo com
links de propriedades subindo para editar, copiar com
links de propriedades e depois colar em todas
essas outras camadas. Agora eu tenho esse único ponto de referência e posso ajustar as coisas. Então, digamos que eu queira que
o tamanho seja maior. Eu poderia aumentar o tamanho aqui no
controlador global e isso
afetará cada instância
desse deslocamento turbulento. Agora eu gostei, então vou deixar como está, mas talvez eu tenha diminuído um pouco a quantidade de
deslocamento. Ok, isso parece
muito bom, mas eu quero dobrar esse furúnculo de que temos
dois níveis. Então, vou isolar essas
últimas camadas novamente, entrar em meus controles globais
e duplicar uma delas. Isso será fervido dois, e vou copiar e colar os dois com links de
propriedades agora. Então edite, copie com links de
propriedades vá até a bandeja. Vou apenas deletar o
efeito de fervura e depois colá-lo. E lembre-se, eu quero que
esses furúnculos aconteçam antes dos outros efeitos de movimento. Agora que tenho dois casos de deslocamento turbulento sendo acionados por esse controlador global. Eu posso discar na segunda olhada. Então, eu quero que o tamanho
desta seja muito maior e que
a quantidade seja muito menor. Se eu entrar nas opções de
evolução,
a semente aleatória ainda está sendo animada pelo meu controle deslizante de FPS de ebulição. Então, isso ainda se aplica. Ele será atualizado a uma taxa
de 12 quadros por segundo. Então, vamos voltar atrás e
ver como é. Agora estamos obtendo uma distorção
maior em toda a camada. Então, deixe-me desligar a fervura
apenas para que possamos ter uma ideia mais clara de como é essa segunda
distorção. Portanto, é sutil, mas apenas adiciona um pouco de
personalidade geral, especialmente quando combinado com
a primeira instância de fervura. Tudo bem, deixe-me separar
essas camadas e como elas estão todas
vinculadas a links de propriedades, posso copiá-las e
colá-las em outra camada. Pressione E para exibir esses efeitos e
verificar se eles estão acima dos efeitos de
transformação de movimento. Eu ainda quero o
deslocamento Y na parte superior, mas agora que a pilha de
efeitos está definida, posso copiá-la. Posso acessar minhas outras camadas, selecioná-las todas, remover os efeitos e
colar mais uma vez. E agora tudo tem
aquela fervura dupla aplicada. Eu posso desbloquear isso
para que possamos ver mais do que apenas esses efeitos de
camadas. Se eu aumentar o zoom, agora
é muito fácil discar isso para ter a
aparência que eu quiser. Então, se eu quiser
uma distorção mais extrema na primeira
instância da fervura, posso
aumentá-la ou voltar a ficar um
pouco mais sutil. E com esse FPS fervendo, eu poderia mudar isso para qualquer
número de quadros por segundo que eu quisesse
personalizar completamente a aparência. Assim,
adicionei uma textura animada que ainda é completamente
controlável a partir desta, objeto nulo de controle
global. Uma coisa que eu gostaria de
salientar, porém, se eu voltar para Editar, há duas opções aqui, copiar com links de propriedades e
copiar com links de
propriedades relativas. Então, deixe-me entrar em qualquer um
desses efeitos de Boyle e
apontar como qualquer uma das expressões
sobre esse efeito é escrita. Começa com comp, sushi, que é o
nome desse comp. Então, está procurando
especificamente por essa composição. E então a camada chamada controles
globais e , em seguida, o efeito ferve um e
depois o valor da propriedade. O que isso significa é que se eu duplicasse essa composição e agora
eu também comesse sushi, eu entro nessa
composição e ajusto os controles globais
para um dos furúnculos. Então, digamos que eu aumente
o tamanho. Isso não afetará
nada nessa composição porque essas
expressões de camadas estão procurando por ela. Isso compõe controles globais nulos. E as propriedades
que definimos aqui, se você quiser fazer
algo um pouco mais universal. Portanto, não foi controlado
por uma composição específica. É quando você usaria copy com links de propriedades relativas. Então, se eu pegar
fervura querendo ferver para editar, cópia era links de
propriedades relativas. Selecione ferver 1.2 aqui e cole. Agora, todas essas
expressões serão escritas de forma um
pouco diferente. Em vez de dizer sushi, está dizendo essa composição, ou
seja, qualquer composição, em que essa
expressão está escrita. Agora, se eu copiar todos esses
efeitos para todos os outros, vou simplesmente remover todos os
efeitos e colá-los novamente, e depois simplesmente copiar essa fervura para a camada da árvore também. Agora, todas as minhas expressões são relativas à composição
à qual pertencem. Eu posso deletar esse sushi para
duplicar o sushi mais uma vez. E agora, todos esses controles
globais afetarão o que está nessa competição. Então, isso é apenas algo
que
você deve ter em mente ao trabalhar com textos
com links de propriedades.
12. Estilos de camada: Agora eu praticamente recriei minha animação para
todo esse projeto de classe. Mas há mais algumas
coisas que eu gostaria de mostrar que você pode
aproveitar,
especialmente com textos,
com links de propriedades. Como eu disse, um objeto nulo é
como qualquer outra camada. Ele simplesmente não é renderizado, mas você pode realmente aplicar
mais do que efeitos a ele. Você pode até mesmo aplicar estilos de camada. Então, se eu voltar
para a bandeja e clicar com o botão direito do mouse e ir
para os Estilos de camada. Digamos que eu queira adicionar um traço branco ao redor
da coisa toda. Então, vou adicionar esse traço, mudar sua cor para branco e
talvez aumentá-lo. Agora vai parecer
que é quase um adesivo sem contorno
branco. Quero copiar esse estilo de camada
de
traçado para o objeto nulo. Então Control C, Control V. Novamente, nada visual muda, mas agora que eu o tenho
aqui, eu posso selecioná-lo. Vá para editar, copie com
links de propriedades relativas desta vez e cole-os em todas
as outras ilustrações
, incluindo a bandeja. Então, vou selecionar
tudo e colar
e tudo terá
esse estilo de camada. Tudo parece adesivos agora. E eu posso afetar a cor e o tamanho diretamente dos controles
globais nulos. Então, talvez esse tamanho
seja um pouco grande demais. Vou deixar para dizer sete. Tudo fica um
pouco mais fino. Talvez eu não queira
que seja branco puro. Talvez eu queira deixá-lo um pouco
de branco puro. Portanto, não é tão intenso. Na verdade, não acho
que isso pareça
tão bom, então vou desfazer isso. Mas a questão é que você pode
controlar muito mais do que apenas efeitos com a cópia,
com links de propriedades. Novamente, liberando
a necessidade de mergulhar em todas
essas camadas individuais de arte apenas para mudar algo
visual sobre todas elas. Tudo está sendo impulsionado por
esses controles globais. Não, libertando você de
um monte de trabalho tedioso.
13. Valeu!: É isso mesmo. Parabéns
por terminar esta aula. Espero que as expressões não
sejam mais tão intimidantes para você como
eram antes de você começar e que você realmente
sinta que tem um bom entendimento
de como seguir frente e usá-las.
em seus próprios projetos. Se você gostou dessa aula, eu
adoraria se você me desse uma avaliação,
me contasse o que você
gostou na aula, o
que você não gostou. Então, eu sempre posso melhorá-lo. Na próxima, eu sempre
quero melhorar minhas aulas e a
maneira como as ensino. Portanto, não se esconda. Se você usar qualquer coisa que
aprendeu nesta aula, não
deixe de me marcar no
Instagram ou no Twitter em Jake in motion para que eu possa ver
seu trabalho e exibi-lo. Confira também meu canal
no YouTube, youtube.com slash Jake
e motion of para obter conteúdo
regular que está sendo
postado lá o tempo todo. E, definitivamente, não deixe de me
seguir aqui no Skillshare. Assim, você está sempre atualizado com minhas últimas aulas e pode começar a assisti-las
assim que forem publicadas. Muito obrigado por fazer esta aula e nos
vemos na próxima.