Expressões: trabalhe de forma mais inteligente no Adobe After Effects | Jake Bartlett | Skillshare
Menu
Pesquisar

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Expressões: trabalhe de forma mais inteligente no Adobe After Effects

teacher avatar Jake Bartlett, Motion Designer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Expressões - Trailer

      1:52

    • 2.

      Projeto de classe

      1:00

    • 3.

      linear(); ;

      11:49

    • 4.

      Controles de expressão

      7:22

    • 5.

      Valores aleatórios

      10:35

    • 6.

      wiggle(); ;

      7:16

    • 7.

      Variáveis

      4:14

    • 8.

      Controles globais

      14:17

    • 9.

      Aleatoriamente controlado

      13:20

    • 10.

      Movimento em camadas

      13:40

    • 11.

      Links de propriedades

      7:57

    • 12.

      Estilos de camada

      1:50

    • 13.

      Valeu!

      1:08

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

3.647

Estudantes

41

Projetos

Sobre este curso

Conheça as expressões: como trabalhar de forma mais inteligente no Adobe After Effects. Neste curso, vou oferecer um guia completo sobre minhas expressões mais usadas, como elas funcionam e como usá-las. Quando você terminar, as expressões serão menos intimidadoras, você vai entender como usá-las para gerenciar animação e efeitos em muitas camadas, e vai sair inspirado para aproveitá-las.

As expressões podem ser intimidadoras. Quer dizer, vamos ser sinceros, ninguém gosta de escrever código, não é? É confuso, não é nada visual e, definitivamente, não é animação. Vou dizer uma coisa: se eu pudesse dar um conselho a qualquer pessoa que use o After Effects para ajudar a acelerar seu fluxo de trabalho, eu diria para aprender a usar expressões. É sério! Não existe uma maneira melhor e mais fácil de executar tarefas complexas e tediosas no After Effects.

Este curso é para qualquer pessoa que conheça os fundamentos básicos do After Effects. Não é preciso já ter trabalhado com expressões antes. Nas aulas, vou ensinar tudo o que você precisa saber para se preparar e trabalhar com expressões.

Tópicos abordados:

  • linear(); ;
  • wiggle(); ;
  • random(); ;
  • gaussRandom();
  • seedRandom(); ;
  • posterizeTime();
  • Variáveis
  • Matrizes
  • Controles de expressão
  • Copiar com links de propriedades

Vejo você no curso!

Conheça seu professor

Teacher Profile Image

Jake Bartlett

Motion Designer

Professor
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

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.