Use os elementos de expressão do After Effects juntamente com os elementos JavaScript padrão para gravar as expressões. Use o Menu de idiomas da expressão a qualquer momento para inserir métodos e atributos em uma expressão e você pode usar o ícone de seleção a qualquer momento para inserir propriedades.

Se uma descrição de argumento contém um sinal de igual (=) e um valor (como t=tempo ou ou largura=.2), o argumento usará o valor padrão incluído se você não especificar um valor diferente.

Algumas descrições de argumento incluem um número dentro de colchetes – esse número mostra a dimensão da propriedade ou Matriz esperada.

Algumas descrições de valor de retorno incluem um número dentro de colchetes – esse número mostra a dimensão da propriedade ou Matriz esperada. Se uma dimensão específica não for incluída, a dimensão da Matriz retornada depende das dimensões da entrada.

O site de referência W3Schools JavaScript fornece informações para a linguagem JavaScript padrão, incluindo páginas para os objetos JavaScript Math e String.

Objetos, atributos e métodos globais (referência a expressões)

comp(name)

Tipo de retorno: Composição.

Tipo de argumento: name é uma Sequência de caracteres.

Recupera outra composição por nome.

footage(name)

Tipo de retorno: Gravação.

Tipo de argumento: name é uma Sequência de caracteres.

Recupera um item de gravação por nome.

thisComp

Tipo de retorno: Composição.

Representa a composição que contém a expressão.

thisLayer

Tipo de retorno: Camada, Luz ou Câmera.

Representa a camada que contém a expressão. Como thisLayer é o objeto padrão, seu uso é opcional. Por exemplo, é possível iniciar uma expressão com thisLayer.width ou largura e obter o mesmo resultado.

thisProperty

Tipo de retorno: Propriedade.

Representa a propriedade que contém a expressão. Por exemplo, se você grava uma expressão na propriedade Rotação, é possível iniciar uma expressão com thisProperty para fazer referência à propriedade Rotação.

hora

Tipo de retorno: Número.

Representa o tempo de composição, em segundos, no qual a expressão está sendo avaliada.

colorDepth

Tipo de retorno: Número.

Retorna o valor de intensidade de cor do projeto. Por exemplo, colorDepth retorna 16 quando a intensidade de cor do projeto é 16 bits por canal.

posterizeTime(framesPerSecond)

Tipo de retorno: Número.

Tipo de argumentos: framesPerSecond é um Número.

O valor framesPerSecond torna-se a taxa de quadros da qual o restante da expressão opera. Esta expressão permite definir a taxa de quadros para uma propriedade menor que a taxa de quadros da composição. Por exemplo, a seguinte expressão atualiza o valor de propriedade com um valor aleatório uma vez por segundo:

  posterizeTime(1);   random()

valor

Tipo de retorno: Número, Matriz ou Sequência de caracteres.

Representa o valor no tempo atual para a propriedade que contém a expressão.

Métodos de conversão de tempo (referência de expressão)

timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Tipo de retorno: Número.

Tipo de argumento: t e fps são Números; isDuration é Booleano.

Converte o valor t, que redefine para o valor padrão o tempo da composição atual, para um número inteiro de quadros. O número de quadros por segundo é especificado no argumento fps, que é a taxa de quadros da composição atual (1.0 / thisComp.frameDuration). O argumento isDuration, que redefine para o valor padrão falso, deve ser verdadeiro se o valor t representa um espaço entre dois tempos em vez de um tempo absoluto. Os tempos absolutos são arredondados para baixo para infinito negativo; as durações são arredondadas para zero (acima para valores positivos).

framesToTime(frames, fps = 1.0 / thisComp.frameDuration)

Tipo de retorno: Número.

Tipo de argumento: frames e fps são Números.

O inverso de timeToFrames. Retorna o tempo que corresponde ao argumento frames, que é necessário. Não precisa ser um número inteiro. Consulte timeToFrames para obter uma explicação do argumento fps.

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)

Tipo de retorno: Sequência de caracteres.

Tipo de argumento: t e timecodeBase são Números; isDuration é Booleano.

Converte o valor t em uma sequência de caracteres que representa o timecode. Consulte timeToFrames para obter uma explicação dos argumentos t e isDuration. O valor timecodeBase, que redefine para o valor padrão 30, especifica o número de quadros em um segundo.

timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)

Tipo de retorno: Sequência de caracteres.

Tipo de argumento: t é um Número, ntscDropFrame e isDuration são Booleanos.

Converte t para uma Sequência de caracteres que representa o timecode NTSC. Consulte timeToFrames para obter uma explicação dos argumentos t e isDuration. Se ntscDropFrame for falso (o padrão), a Sequência de caracteres resultante é Timecode de quadro não ignorado NTSC. Se ntscDropFrame for verdadeiro, a Sequência de caracteres resultante é Timecode de quadro ignorado NTSC.

timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)

Tipo de retorno: Sequência de caracteres.

Tipo de argumento: t , fps e framesPerFoot são Números; isDuration é Booleano.

Converte o valor t em uma Sequência de caracteres que representa os rodapés de filme e quadros. Consulte timeToFrames para obter uma explicação dos argumentos t, fps e isDuration. O argumento framesPerFoot especifica o número de quadros no rodapé do filme. O padrão é 16, que é a taxa mais comum para gravação de 35 mm.

timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

Tipo de retorno: Sequência de caracteres.

Tipo de argumento: t e fps são Números; isDuration é Booleano.

Converte o valor t como uma sequência de caracteres que representa o tempo no formato de exibição atual Configurações do projeto. Consulte timeToFrames para uma obter uma definição de todos os argumentos.

Um argumento ntscDropFrame opcional foi adicionado à função timeToCurrentFormat() no After Effects CS5.5 e posterior. Padrão: ntscDropFrame = thisComp.ntscDropFrame.

Observação:

Para obter mais controle sobre a aparência do timecode na gravação, use o método timeToCurrentFormat ou outros métodos timeTo para gerar o timecode em vez de usar o efeito Timecode ou Números. Crie uma camada de texto, adicione uma expressão à propriedade Texto de origem, digite timeToCurrentFormat() no campo de expressão. Com esse método, você pode formatar e animar texto do timecode. Além disso, o timecode usa o mesmo estilo de exibição definido pelas configurações atuais do projeto.

Métodos de matemática de vetores (referências a expressão)

As funções Matemática de vetores são métodos globais que realizam operações em matrizes, tratando-as como vetores matemáticos. Diferentemente dos métodos JavaScript incorporados, como Math.sin, esses métodos não são usados com o prefixo Math. Salvo especificado em contrário, os métodos de matemática de vetores são brandos em relação às dimensões e retornam um valor que é a dimensão do objeto Matriz de entrada maior, preenchendo elementos ausentes com zeros. Por exemplo, a expressão add([10, 20], [1, 2, 3]) retorna [11, 22, 3].

O site de JJ Gifford fornece explicações e exemplos mostrando como usar a geometria e trigonometria simples com expressões.

add(vec1, vec2)

Tipo de retorno: Matriz.

Tipo de argumento: vec1 e vec2 são Matrizes.

Adiciona dois vetores.

sub(vec1, vec2)

Tipo de retorno: Matriz.

Tipo de argumento: vec1 e vec2 são Matrizes.

Subtrai dois vetores.

mul(vec, amount)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma Matriz, amount é um Número.

Multiplica cada elemento do vetor pelo valor.

div(vec, amount)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma Matriz, amount é um Número.

Divide cada elemento do vetor pelo valor.

clamp(value, limit1, limit2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: value, limit1 e limit2 são Números ou Matrizes.

O valor de cada componente de value fica restrito entre os valores correspondentes de limit1 e limit2.

dot(vec1, vec2)

Tipo de retorno: Número.

Tipo de argumento: vec1 e vec2 são Matrizes.

Retorna o produto (interno) do ponto dos argumentos de vetor.

cross(vec1, vec2)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumentos: vec1 e vec2 são Matrizes [2 ou 3].

Retorna o produto cruzado do vetor vec1 e vec2. Consulte a referência a matemática ou um guia JavaScript para obter mais informações.

normalize(vec)

Tipo de retorno: Matriz.

Tipo de argumento: vec é uma Matriz.

Normaliza o vetor para que seu comprimento seja 1,0. Usando o método normalize que é uma forma abreviada de executar a operação div(vec, length(vec)).

length(vec)

Tipo de retorno: Número.

Tipo de argumento: vec é uma Matriz.

Retorna o comprimento de vetor vec.

length(point1, point2)

Tipo de retorno: Número.

Tipo de argumento: point1 e point2 são Matrizes.

Retorna a distância entre dois pontos. O argumento point2 é opcional. Por exemplo, length(point1, point2) é o mesmo que length(sub(point1, point2)).

Por exemplo, adicione esta expressão à propriedade Distância do foco de uma câmera para bloquear o plano focal para o ponto de interesse da câmera de interesse para que o ponto de interesse esteja no foco:

  length(position, pointOfInterest)

lookAt(fromPoint, atPoint)

Tipo de retorno: Matriz [3].

Tipo de argumento: fromPoint e atPoint são Matrizes [3].

O argumento fromPoint é o local no espaço do mundo da camada que deseja orientar. O argumento atPoint é o ponto no espaço do mundo para o qual você deseja apontar a camada. O valor de retorno pode ser usado como uma expressão da propriedade Orientação, tornando o eixo z do ponto de camada em atPoint. Esse método é particularmente útil para câmeras e luzes. Se você usar esta expressão em uma câmera, desative a orientação automática. Por exemplo, a expressão na propriedade Orientação de uma luz de spot faz a luz apontar para o ponto de ancoragem da camada número 1 na mesma composição: lookAt(position, thisComp.layer(1).position)

Métodos de números aleatórios (referências a expressão)

Observação:

O método Chocalho – usado para variar aleatoriamente um valor de propriedade – está na categoria de atributos e métodos da Propriedade. (consulte Atributos e métodos de propriedade (referência da expressão).)

seedRandom(offset, timeless=false)

Tipo de retorno: Nenhum.

Tipo de argumento: offset é um Número, timeless é um Booleano.

Os métodos random e gaussRandom usam um valor de distribuição que controla a sequência dos números. Por padrão, a distribuição é calculada em função de um identificador exclusivo da camada, a propriedade na camada, o tempo atual e um valor de deslocamento de 0. Chame seedRandom para definir o deslocamento para um valor diferente de 0 para criar uma sequência aleatória diferente.

Use true para o argumento timeless para não usar o tempo atual como entrada para a distribuição aleatória. Usar true para o argumento timeless permite a você gerar um número aleatório que não varia dependendo do tempo da avaliação.

O valor offset, mas não o valor timeless, é também usado para controlar o valor inicial da função chocalho

Por exemplo, essa expressão na propriedade Opacidade define o valor Opacidade para um valor aleatório que não varia com o tempo:

  seedRandom(123456, true);   random()*100

A multiplicação por 100 em este exemplo converte o valor no intervalo 0-1 retornado pelo método random em um número no intervalo 0-100; este intervalo é geralmente mais útil para a propriedade Opacidade, com valores de 0% a 100%.

random()

Tipo de retorno: Número.

Retorna um número aleatório no intervalo 0-1.

No After Effects CC e CS6, o comportamento de random() é alterado para ser mais aleatório quando as IDs de camada estão próximas. A expressão wiggle() não é afetada.

random(maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: maxValOrArray é um Número ou uma Matriz.

Se maxValOrArray for um número, o método retornará um número no intervalo de 0 a maxValOrArray. Se maxValOrArray for uma matriz, este método retorna uma matriz com as mesmas dimensões que maxValOrArray, com cada componente variando de 0 ao componente correspondente de maxValOrArray.

random(minValOrArray, maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: minValOrArray e maxValOrArray são Números ou Matrizes.

Se minValOrArray e maxValOrArray forem números, este método retornará um número no intervalo de minValOrArray a maxValOrArray. Se os argumentos forem matrizes, este método retorna uma matriz com as mesmas dimensões que o argumento com as dimensões maiores; cada componente no intervalo do componente correspondente de minValOrArray o componente correspondente de maxValOrArray. Por exemplo, a expressão random([100, 200], [300, 400]) retorna uma matriz cujo primeiro valor está no intervalo 100-300 e cujo segundo valor está no intervalo 200-400. Se as dimensões das duas matrizes de entrada não correspondem, os valores de dimensão maiores da Matriz mais curta são preenchidos com zeros.

gaussRandom()

Tipo de retorno: Número.

Retorna um número aleatório. Os resultados têm uma distribuição Gaussiana (em forma de sino). Aproximadamente 90% dos resultados estão no intervalo 0-1 e os restantes 10% está fora desse intervalo.

gaussRandom(maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: maxValOrArray é um Número ou uma Matriz.

Quando maxValOrArray for um número, o método retornará um número aleatório. Aproximadamente 90% dos resultados estão no intervalo 0 a maxValOrArray e os restantes 10% estão fora desse intervalo. Quando maxValOrArray for uma matriz, este método retorna uma matriz de valores aleatórios, com as mesmas dimensões que maxValOrArray. 90% dos valores estão no intervalo de 0 a maxValOrArray e os restantes 10% estão fora desse intervalo. Os resultados têm uma distribuição Gaussiana (em forma de sino).

gaussRandom(minValOrArray, maxValOrArray)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: minValOrArray e maxValOrArray são Números ou Matrizes.

Se minValOrArray e maxValOrArray forem números, este método retornará um número aleatório. 90% dos resultados estão no intervalo de minValOrArray a maxValOrArray e os restantes 10% estão fora desse intervalo. Se os argumentos forem matrizes, este método retorna uma matriz de números aleatórios com as mesmas dimensões que o argumento com a dimensão maior. Para cada componente, aproximadamente 90% dos resultados estão no intervalo do componente correspondente do minValOrArray ao componente correspondente do maxValOrArray e os restantes 10% estão fora desse intervalo. Os resultados têm uma distribuição Gaussiana (em forma de sino).

noise(valOrArray)

Tipo de retorno: Número.

Tipo de argumento: valOrArray é um número ou uma matriz [2 ou 3].

Retorna um número no intervalo de -1 a 1. O ruído não é realmente aleatório; baseia-se no ruído Perlin, o que significa que os valores de retorno para dois valores de entrada que estão próximos um do outro também tendem a estar próximos um do outro. Esse tipo de ruído é útil para uma sequência de números aleatórios que você não variam descontroladamente variam um ao outro – como costuma ser o caso ao animar qualquer movimento natural aparentemente aleatório. Exemplo: rotação + 360*ruído(tempo)

Métodos de interpolação (referências a expressão)

Para todos os Métodos de interpolação, o argumento t é frequentemente tempo ou valor, mas pode ter outros valores, em vez disso. Se t for tempo, a interpolação entre valores ocorre em uma duração. Se t for valor, a expressão mapeia um intervalo de valores para um novo intervalo de valores.

Para ver uma explicação e exemplos dos métodos de interpolação, consulte o site de JJ Gifford.

Chris e Trish Meyer oferecem informações adicionais e exemplos para esses métodos em um artigo no site da ProVideo Coalition.

Ian Haigh fornece um script no site After Effects Scripts que você pode usar para aplicar facilmente expressões do método de interpolação avançado, como saltos, a propriedades.

Andrew Devis oferece um conjunto de tutoriais em vídeo no site da Creative COW que mostra em detalhe como usar o método de expressão linear juntamente com o comando Converter áudio em quadros-chave.

linear(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin e tMax são números e value1 e value2 são números ou matrizes.

Retorna value1 quando t <= tMin. Retorna value2 quando t >= tMax. Retorna uma interpolação linear entre value1 e value2 quando tMin < t < tMax.

Por exemplo, essa expressão na propriedade Opacidade faz com que os valores de opacidade aumentem linearmente de 20% para 80% no tempo de 0 segundos a 6 segundos:

  linear(time, 0, 6, 20, 80)

Este método – como todos os Métodos de interpolação – também pode ser usado para converter de um intervalo de valores para outro. Por exemplo, essa expressão na propriedade Opacidade converte os valores Opacidade do intervalo 0%-100% para o intervalo 20%-80%:

  linear(value, 0, 100, 20, 80)

linear(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Retorna um valor que interpole linearmente do value1 ao value2 como intervalos t de 0 a 1. Retorna value1 quando t <= 0. Retorna value2 quando t >= 1.

ease(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Semelhante ao linear com os mesmos argumentos, exceto que a interpolação atenua para dentro e para fora para que a velocidade seja 0 nos pontos iniciais e finais. Este método resulta em uma animação suave.

ease(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin e tMax são números e value1 e value2 são números ou matrizes.

Semelhante ao linear com os mesmos argumentos, exceto que a interpolação atenua para dentro e para fora para que a velocidade seja 0 nos pontos iniciais e finais. Este método resulta em uma animação suave.

easeIn(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Semelhante à atenuação, exceto que a tangente é apenas 0 no value1 e a interpolação é linear no value2.

easeIn(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin e tMax são números e value1 e value2 são números ou matrizes.

Semelhante à atenuação, exceto que a tangente é apenas 0 no tMin e a interpolação é linear no tMax.

easeOut(t, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número e value1 e value2 são números ou matrizes.

Semelhante à atenuação, exceto que a tangente é apenas 0 no value2 e a interpolação é linear no value1.

easeOut(t, tMin, tMax, value1, value2)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t, tMin e tMax são números e value1 e value2 são números ou matrizes.

Semelhante à atenuação, exceto que a tangente é apenas 0 no tMax e a interpolação é linear no tMin.

Métodos de conversão de cores (referência de expressão)

Harry Frank fornece um tutorial em vídeo em seu site graymachine, que mostra como usar esses métodos de conversão de cores para alterar a cor das ondas criadas pelo efeito Ondas de rádio.

rgbToHsl(rgbaArray)

Tipo de retorno: Matriz [4].

Tipo de argumento: rgbaArray é uma matriz [4].

Converte uma cor no espaço RGBA em um espaço HSLA. A entrada é uma matriz de valores normalizados de canal de vermelho, verde, azul e alfa, tudo no intervalo de 0.0 a 1.0. O valor resultante é uma matriz de matiz, saturação, luminosidade, e valores do canal alfa, também no intervalo de 0.0 a 1.0. Exemplo:

  rgbToHsl.effect(“Alterar cor”)(“Cor a ser alterada”)

hslToRgb(hslaArray)

Tipo de retorno: Matriz [4].

Tipo de argumento: hslaArray é uma matriz [4].

Converte uma cor no espaço HSLA em um espaço RGBA. Esta conversão é o oposto da conversão executada pelo método rgbToHsl.

Outros métodos matemáticos (referências a expressão)

degreesToRadians(degrees)

Tipo de retorno: Número.

Tipo de argumento: degrees é um número.

Converte graus em radianos.

radiansToDegrees(radians)

Tipo de retorno: Número.

Tipo de argumento: radians é um número.

Converte radianos em graus.

Atributos e métodos da Composição (referência de expressão)

layer(index)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumento: index é um número.

Recupera a camada pelo número (ordem no painel Linha de tempo). Exemplo: thisComp.layer(3)

layer(name)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumento: name é uma Sequência de caracteres.

Recupera a camada por nome. Os nomes são correspondidos de acordo com o nome da camada, ou nome da origem se não houver nenhum nome da camada. Se houver nomes duplicados, o After Effects utiliza o primeiro (superior) no painel Linha de tempo. Exemplo:

  thisComp.layer(“Sólido 1”)

layer(otherLayer, relIndex)

Tipo de retorno: Camada, Luz ou Câmera.

Tipo de argumentos: otherLayer é um objeto de camada e relIndex é um número.

Recupera a camada ou seja camadas relIndex acima ou abaixo de otherLayer. Por exemplo, thisComp.layer(thisLayer, 1).active retornará verdadeiro se a próxima camada abaixo no painel Linha de tempo estiver ativa.

marker

Tipo de retorno: MarkerProperty.

Observação:

Você não pode acessar um marcador de composição por número de marcador. Se você tiver um projeto criado em uma versão anterior do After Effects que use números de marcador de composição em expressões, altere essas chamadas para usar marker.key(name) em vez disso. Como o nome padrão de um marcador de composição é um número, converter a referência para usar o nome é geralmente é uma simples questão de envolver o número com aspas.

marker.key(index)

Tipo de retorno: MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto MarkerKey do marcador com o índice especificado. O índice refere-se à ordem do marcador no tempo de composição, não ao nome do marcador. Por exemplo, esta expressão retorna o tempo do primeiro marcador de composição:

  thisComp.marker.key(1).time

marker.key(name)

Tipo de retorno: MarkerKey.

Tipo de argumento: name é uma Sequência de caracteres.

Retorna o objeto MarkerKey do marcador com o nome especificado. O valor name é o nome do marcador, conforme digitado no campo de comentário na caixa de diálogo do marcador, por exemplo, marker.keymarker.key(“1”). Para um marcador de composição, o nome padrão é um número. Se mais de um marcador na composição tiver o mesmo nome, esse método retornará o marcador que ocorrer primeiro no tempo (no tempo da composição). O valor da chave de um marcador é uma sequência de caracteres, não um número. Por exemplo, essa expressão retornará o tempo do marcador de composição com o nome “0”:

  thisComp.marker.key("0").time

marker.nearestKey(t)

Tipo de retorno: MarkerKey.

Tipo de argumento: t é um número.

Retorna o marcador que está mais próximo no tempo de t. Por exemplo, essa expressão retornará o tempo do marcador de composição mais próximo do tempo de 1 segundo:

  thisComp.marker.nearestKey(1).time 

Esta expressão retornará o tempo do marcador de composição mais próximo ao tempo atual:

  thisComp.marker.nearestKey(time).time

marker.numKeys

Tipo de retorno: Número.

Retorna o número total de marcadores de composição na composição.

numLayers

Tipo de retorno: Número.

Retorna o número de camadas na composição.

activeCamera

Tipo de retorno: Câmera.

Retorna o objeto Câmera para a câmera em que a composição foi renderizada no quadro atual. Essa câmera não é necessariamente a câmera em que está visualizando no painel Composição.

largura

Tipo de retorno: Número.

Retorna a largura da composição, em pixels.

Aplique a seguinte expressão à propriedade Posição de uma camada para centralizar a camada no quadro da composição:

  [thisComp.width/2, thisComp.height/2]

altura

Tipo de retorno: Número.

Retorna a altura da composição, em pixels.

duração

Tipo de retorno: Número.

Retorna a duração da composição, em segundos.

ntscDropFrame

Tipo de retorno: Booleano.

Retorna verdadeiro se o timecode estiver no formato de quadro ignorado. (After Effects CS5.5 e posterior.)

displayStartTime

Tipo de retorno: Número.

Retorna a hora de início da composição, em segundos.

frameDuration

Tipo de retorno: Número.

Retorna a duração de um quadro, em segundos.

shutterAngle

Tipo de retorno: Número.

Retorna o valor do ângulo do obturador da composição, em graus.

shutterPhase

Tipo de retorno: Número.

Retorna a fase do obturador da composição, em graus.

bgColor

Tipo de retorno: Matriz [4].

Retorna a cor de fundo da composição.

pixelAspect

Tipo de retorno: Número.

Retorna a taxa de proporção de pixels da composição.

nome

Tipo de retorno: Sequência de caracteres.

Retorna o nome da composição.

Atributos e métodos da Gravação (referência de expressão)

Para usar um item de gravação do painel Projeto como um objeto em uma expressão, use o método de gravação global, como em footage(“file_name”). Você também pode acessar um objeto de gravação usando o atributo source em uma camada cuja origem é um item de gravação.

largura

Tipo de retorno: Número.

Retorna a largura do item de gravação, em pixels.

altura

Tipo de retorno: Número.

Retorna a altura do item de gravação, em pixels.

duração

Tipo de retorno: Número.

Retorna a duração do item de gravação, em segundos.

frameDuration

Tipo de retorno: Número.

Retorna a duração de um quadro no item de gravação, em segundos.

ntscDropFrame

Tipo de retorno: Booleano.

Retorna verdadeiro se o timecode estiver no formato de quadro ignorado. (After Effects CS5.5 e posterior).

pixelAspect

Tipo de retorno: Número.

Retorna a taxa de proporção de pixels do item de gravação.

nome

Tipo de retorno: Sequência de caracteres.

Retorna o nome do item de gravação conforme mostrado no painel Projeto.

Atributos e métodos de Subobjetos da camada (referência de expressão)

Observação:

Para o After Effects CC e CS6, o Menu de idiomas da expressão, “Subobjetos de camada”, “Camada geral”, “Propriedades da camada”, “Camada 3D” e “Transformações do espaço da camada” foram organizados no submenu “Camada”.

origem

Tipo de retorno: Composição ou gravação.

Retorna o objeto de composição de origem ou objeto de gravação de origem da camada. O tempo padrão é ajustado para o tempo na origem. Exemplo: source.layer(1).position

sourceTime(t = time)

Tipo de retorno: Número.

Retorna a origem da camada correspondente ao tempo t. (After Effects CS5.5 e posterior.)

effect(name)

Tipo de retorno: Efeito.

Tipo de argumento: name é uma Sequência de caracteres.

O After Effects localiza o efeito pelo seu nome no painel Controles do efeito. O nome pode ser o nome padrão ou um nome definido pelo usuário. Se vários efeitos tiverem o mesmo nome, o efeito mais próximo da parte superior do painel Controles do efeito será usado. Exemplo:

  effect(“Desfoque rápido”)(“Desfoque”)

effect(index)

Tipo de retorno: Efeito.

Tipo de argumento: index é um número.

O After Effects localiza o efeito pelo seu índice no painel Controles do efeito, começando em 1 e contando a partir de cima.

mask(name)

Tipo de retorno: Máscara.

Tipo de argumento: name é uma Sequência de caracteres.

O nome pode ser o nome padrão ou um nome definido pelo usuário. Se várias máscaras tiverem o mesmo nome, a primeira máscara (superior) é usada. Exemplo:

  mask(“Máscara 1”)

mask(index)

Tipo de retorno: Máscara.

Tipo de argumento: index é um número.

O After Effects localiza a máscara pelo seu índice no painel Linha de tempo, começando em 1 e contando a partir de cima.

Atributos e métodos da Camada geral (referência de expressão)

largura

Tipo de retorno: Número.

Retorna a largura da camada, em pixels. Isso equivale a source.width.

altura

Tipo de retorno: Número.

Retorna a altura da camada, em pixels. Isso equivale a source.height.

index

Tipo de retorno: Número.

Retorna o número de índice da camada na composição.

parent

Tipo de retorno: Camada, Luz ou Câmera.

Retorna o objeto Camada pai da camada, caso haja algum. Exemplo: position[0] + parent.width

hasParent

Tipo de retorno: Booleano.

Retorna verdadeiro se a camada tiver pai ou falso se não.

Use o atributo hasParent para determinar se uma camada tem uma camada pai. Você pode usar esse atributo mesmo se ela não tiver uma camada pai atualmente. Por exemplo, a seguinte expressão indica que a camada na qual você a aplica chocalha com base na posição do pai. Se a camada não tiver pai, então ela chocalha com base em sua própria posição. Se a camada recebe um pai posteriormente, o comportamento da camada muda em conformidade:

  idx = index;   if (hasParent) {     idx = parent.index;   }   thisComp.layer(idx).position.wiggle(5,20)

inPoint

Tipo de retorno: Número.

Retorna o Ponto de entrada de camada, em segundos.

Observação:

Geralmente, o valor outPoint é maior que o valor inPoint. Porém, se a camada é invertida no tempo, o valor inPoint é maior que o valor outPoint. Similarmente, o valor startTime pode ser maior que o valor inPoint.

outPoint

Tipo de retorno: Número.

Retorna o Ponto de saída da camada, em segundos.

startTime

Tipo de retorno: Número.

Retorna a hora inicial de camada, em segundos.

hasVideo

Tipo de retorno: Booleano.

Retorna verdadeiro se a camada tiver vídeo, ou falso se não.

hasAudio

Tipo de retorno: Booleano.

Retorna verdadeiro se a camada tiver áudio, ou falso se não.

active

Tipo de retorno: Booleano.

Retorna verdadeiro se a opção Vídeo estiver ativa para a camada e o tempo atual estiver no intervalo do Ponto de entrada da camada ao Ponto de saída de camada; senão Falso.

enabled

Tipo de retorno: Booleano.

Retorna true se a opção de Vídeo é em para a camada; caso contrário, false.

audioActive

Tipo de retorno: Booleano.

Retorna true se a opção Áudio estiver ativada para a camada e o tempo atual estiver na faixa do ponto de Entrada para o ponto de Saída da camada, caso contrário, false.

sampleImage(point, radius = [.5, .5], postEffect=true, t=time)

Tipo de retorno: Matriz [4].

Tipo de argumento: point é uma matriz [2], radius é uma matriz [2], postEffect é um booleano e t é um número.

Faz a amostragem dos valores de cor e do canal alfa de uma camada e retorna o valor médio ponderado de alfa dos pixels dentro da distância do ponto como uma matriz: [vermelho, verde, azul, alfa]. Se postEffect é verdadeiro, os valores da amostragem são da camada depois de as máscaras e os efeitos em essa camada terem sido renderizados; se postEffect for falso, os valores de amostragem são da camada antes de as máscaras e os efeitos terem sido renderizados. O valor de entrada point está no espaço da camada; o ponto [0,0] é o centro do pixel superior esquerdo na camada. O valor de entrada radius especifica a distância horizontal e vertical do centro da amostra às bordas do retângulo da amostra. O valor padrão das amostras é de um pixel.

Observação:

O parâmetro postEffect refere-se aos efeitos aplicados diretamente à camada, não aos efeitos aplicados indiretamente, como uma camada de ajuste.

Observação:

Usar sampleImage em uma expressão já não desativa o multiprocessamento.

Este exemplo faz a amostragem de um retângulo com 4 de largura e 3 pixels de altura, centralizado em torno de um ponto 100 pixels abaixo e à direita do canto esquerdo superior da camada:

  thisComp.layer(1).sampleImage([100, 100], [2, 1.5])

Dan Ebberts fornece um exemplo de como usar o método sampleImage no seu site da MotionScript.

Todd Kopriva fornece instruções sobre o uso do método sampleImage e o efeito Controle de ponto para monitorar cores para um ponto especificado durante a correção de cores no seu blogue After Effects Region of Interest.

Atributos e métodos das Propriedades de camada (referência de expressão)

Ao adicionar máscaras, efeitos, pintura ou texto a uma camada, o After Effects adiciona novas propriedades ao painel Linha de tempo. Há muitas dessas propriedades para listar aqui, portanto, utilize o ícone de seleção para conhecer a sintaxe para fazer referência a elas em suas expressões.

anchorPoint

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor de ponto de ancoragem da camada no sistema de coordenadas da camada (espaço da camada).

posição

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor da posição da camada, no espaço do mundo se a camada não tem pai. Se a camada tiver um pai, ela retorna o valor da posição da camada no sistema de coordenadas da camada pai (no espaço de camada da camada pai).

escala

Tipo de retorno: Propriedade [2 ou 3].

Retorna o valor de escala da camada, expresso em porcentagem.

rotação

Tipo de retorno: Propriedade.

Retorna o valor de rotação da camada em graus. Para uma camada 3D, retorna o valor de rotação z em graus.

opacidade

Tipo de retorno: Propriedade.

Retorna o valor de opacidade da camada, expresso em porcentagem.

audioLevels

Tipo de retorno: Propriedade [2].

Retorna o valor da propriedade Níveis de áudio da camada, em decibéis. Este é um valor 2D; o primeiro valor representa o canal de áudio esquerdo e o segundo valor representa o da direita. O valor não é a amplitude da trilha sonora do material de origem. Em vez disso, é o valor da propriedade Níveis de áudio, que pode ser afetado pelos quadros-chave.

timeRemap

Tipo de retorno: Propriedade.

Retorna o valor da propriedade Remapeamento de tempo, em segundos, se Remapeamento de tempo estiver ativado.

marker.key(index)

Tipo de retorno: MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto MarkerKey do marcador de camada com o índice especificado.

marker.key(name)

Tipo de retorno: MarkerKey.

Tipo de argumento: name é uma Sequência de caracteres.

Retorna o objeto MarkerKey do marcador de camada com o nome especificado. O valor name é o nome do marcador, conforme digitado no campo de comentário na caixa de diálogo do marcador, por exemplo, marker.key (“ch1”). Se mais de um marcador na camada possuir o mesmo nome, o método retorna o marcador que ocorrer primeiro no tempo (no tempo da camada). O valor da chave de um marcador é uma sequência de caracteres, não um número.

Esta expressão em uma propriedade reduz o valor da propriedade de 0 a 100 entre dois marcadores identificados pelo nome:

  m1 = marker.key("Start").time;   m2 = marker.key("End").time;   linear(time, m1, m2, 0, 100);

marker.nearestKey(t)

Tipo de retorno: MarkerKey.

Tipo de argumento: t é um número.

Retorna o marcador de camada que está mais próximo no tempo de t. Por exemplo, essa expressão retornará o tempo do marcador na camada mais próxima do tempo de 1 segundo:

  marker.nearestKey(1).time

Esta expressão retornará o tempo do marcador na camada mais próxima ao tempo atual:

  marker.nearestKey(time).time

marker.numKeys

Tipo de retorno: Número.

Retorna o número total de marcadores na camada.

nome

Tipo de retorno: Sequência de caracteres.

Retorna o nome da camada.

Atributos e métodos da Camada 3D (referência de expressão)

orientação

Tipo de retorno: Propriedade [3].

Retorna o valor de orientação 3D, em graus, para uma camada 3D.

rotationX

Tipo de retorno: Propriedade.

Retorna o valor de rotação x, em graus, para uma camada 3D.

rotationY

Tipo de retorno: Propriedade.

Retorna o valor de rotação y, em graus, para uma camada 3D.

rotationZ

Tipo de retorno: Propriedade.

Retorna o valor de rotação z, em graus, para uma camada 3D.

lightTransmission

Tipo de retorno: Propriedade.

Retorna o valor da propriedade Transmissão de luz para uma camada 3D.

castsShadows

Tipo de retorno: Propriedade.

Retorna um valor de 1,0 se a camada projetar sombras.

acceptsShadows

Tipo de retorno: Propriedade.

Retorna um valor de 1,0 se a camada aceitar sombras.

acceptsLights

Tipo de retorno: Propriedade.

Retorna um valor de 1,0 se a camada aceitar luzes.

ambiente

Tipo de retorno: Propriedade.

Retorna o valor de componente ambiente como uma porcentagem.

difusão

Tipo de retorno: Propriedade.

Retorna o valor de componente de difusão como uma porcentagem.

especular

Tipo de retorno: Propriedade.

Retorna o valor de componente especular como uma porcentagem.

brilho

Tipo de retorno: Propriedade.

Retorna o valor de componente de brilho como uma porcentagem.

metal

Tipo de retorno: Propriedade.

Retorna o valor de componente de metal como uma porcentagem.

Métodos de Transformações do espaço da camada (referência expressão)

Use métodos de transformação do espaço da camada para transformar valores de um espaço para outro, como do espaço da camada para o espaço do mundo. Os métodos “de” transformam os valores do espaço denominado (composição ou mundo) para o espaço da camada. Os métodos “para” transformam valores do espaço da camada para o espaço denominado (composição ou mundo). Cada método de transformação adota um argumento opcional para determinar o tempo em que a transformação é calculada; no entanto, quase sempre é possível usar o tempo atual (padrão).

Use métodos de transformação “Vec” para transformar um vetor de direção, como a diferença entre dois valores de posição. Use métodos de transformação (não “Vec”) simples ao transformar um ponto, como uma posição. O espaço da composição (comp) e do mundo são os mesmos para camadas 2D. Para camadas 3D, contudo, o espaço da composição se refere à câmera ativa e o espaço do mundo é independente da câmera.

toComp(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto de um espaço de camada para um espaço de composição.

fromComp(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de composição para um espaço de camada. O ponto resultante em uma camada 3D pode ter um valor diferente de zero até que esteja no espaço de camada. Exemplo: fromComp(thisComp.layer(2).position)

toWorld(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de camada para um espaço de mundo com exibição independente. Exemplo:

  toWorld.effect(“Saliência”)(“Centro da saliência”)

Dan Ebberts fornece uma expressão em seu site MotionScript que usa o método toWorld para orientar automaticamente uma camada ao longo de somente um eixo. Isso é útil, por exemplo, para que os caracteres girem de um lado ao outro para seguir a câmera enquanto permanece na posição vertical.

Rich Young oferece um conjunto de expressões no site da AE Portal que usa o método toWorld que liga uma câmera e luz a uma camada com o efeito Esfera do CC.

fromWorld(point, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Transforma um ponto do espaço de mundo para o espaço de camada. Exemplo: fromWorld(thisComp.layer(2).position)

Consulte Exemplo de expressão: Criar uma saliência entre duas camadas para obter um exemplo de como esse método pode ser usado.

toCompVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de camada para o espaço de composição. Exemplo: toCompVec ([1,0])

fromCompVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de composição para o espaço de camada. Exemplo (camada 2D):

  dir=sub(position, thisComp.layer(2).position);   fromCompVec(dir)

toWorldVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço de camada para o espaço do mundo. Exemplo:   p1 = effect(“Saliência do olho 1”)(“Centro da saliência”);    p2 = effect(“Saliência do olho 2”)(“Centro da saliência”);     toWorld(sub(p1, p2))

fromWorldVec(vec, t=time)

Tipo de retorno: Matriz [2 ou 3].

Tipo de argumento: vec é uma matriz [2 ou 3] e t é um número.

Transforma um vetor do espaço do mundo para o espaço de camada. Exemplo: fromWorld(thisComp.layer(2).position)

fromCompToSurface(point, t=time)

Tipo de retorno: Matriz [2].

Tipo de argumento: point é uma matriz [2 ou 3] e t é um número.

Projeta um ponto localizado no espaço de composição para um ponto na superfície da camada (valor z zero) no local onde ele aparece quando exibido da câmera ativa. Este método é útil para definir pontos de controle do efeito. Use apenas com camadas 3D.

Atributos e métodos da Câmera (referência de expressão)

Os objetos de câmera têm os mesmos atributos e métodos que os objetos de camada, exceto para source, effect,mask, width, height, anchorPoint,scale, opacity, audioLevels, timeRemap e todas as propriedades de material.

pointOfInterest

Tipo de retorno: Propriedade [3].

Retorna os valores do ponto de interesse da câmera no espaço do mundo.

aplicar zoom

Tipo de retorno: Propriedade.

Retorna os valores de zoom da câmera em pixels.

Aqui está uma expressão para a propriedade Escala de uma camada que mantém o tamanho relativo da camada no quadro enquanto altera a posição z (profundidade) de uma camada ou valor Zoom de uma câmera:

  cam = thisComp.activeCamera;    distance = length(sub(position, cam.position));    scale * distance / cam.zoom;

depthOfField

Tipo de retorno: Propriedade.

Retorna 1 se a propriedade Profundidade de campo de uma câmera estiver ativada ou retorna 0 se a propriedade Profundidade de campo estiver desativada.

focusDistance

Tipo de retorno: Propriedade.

Retorna o valor da distância do foco de uma câmera, em pixels.

abertura

Tipo de retorno: Propriedade.

Retorna o valor de abertura de uma câmera, em pixels.

blurLevel

Tipo de retorno: Propriedade.

Retorna o valor de nível de desfoque de uma câmera como uma porcentagem.

active

Tipo de retorno: Booleano.

Retorna verdadeiro se a câmera for a câmera ativa para a composição atual: a opção Vídeo para a camada da câmera está ativada, o tempo atual está no intervalo do Ponto de entrada da camada de câmera para o Ponto de saída da camada de câmera e ela é a primeira (superior) dessa camada de câmera listada no painel Linha de tempo. Caso contrário, retorna falso.

Atributos e métodos da Luz (referência de expressão)

Os objetos de luz têm os mesmos atributos e métodos que os objetos de camada, exceto para source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap e todas as propriedades de material.

pointOfInterest

Tipo de retorno: Propriedade [3].

Retorna os valores do ponto de interesse para uma luz no espaço do mundo.

intensidade

Tipo de retorno: Propriedade.

Retorna os valores de intensidade de uma luz como uma porcentagem.

cor

Tipo de retorno: Propriedade [4].

Retorna o valor de cor de uma luz.

coneAngle

Tipo de retorno: Propriedade.

Retorna o ângulo de cone de uma luz, em graus.

coneFeather

Tipo de retorno: Propriedade.

Retorna o valor de difusão de cone de uma luz como uma porcentagem.

shadowDarkness

Tipo de retorno: Propriedade.

Retorna o valor de escurecimento de sombra de uma luz como uma porcentagem.

shadowDiffusion

Tipo de retorno: Propriedade.

Retorna o valor de difusão de sombra de uma luz, em pixels.

David Van Brink oferece um artigo de instruções e um projeto de amostra em seu blogue omino pixel que mostra como usar expressões com luzes.

Atributos e métodos do Efeito (referência de expressão)

active

Tipo de retorno: Booleano.

Retorna true se o efeito estiver ativado (o botão Efeito está selecionado).

param(name)

Tipo de retorno: Propriedade.

Tipo de argumento: name é uma Sequência de caracteres.

Retorna uma propriedade em um efeito. Os pontos de controle de efeito estão sempre no espaço de camada. Exemplo:

  effect(“Saliência”).param(“Altura da saliência”)

param(index)

Tipo de retorno: Propriedade.

Tipo de argumento: index é um número.

Retorna uma propriedade em um efeito. Os pontos de controle de efeito estão sempre no espaço de camada. Por exemplo, effect(“Bulge”).param(4) retorna a propriedade Altura da saliência.

Atributos e métodos da Máscara (referência de expressão)

Observação:

É possível vincular propriedades Caminho da máscara a outras propriedades do caminho (caminhos em uma camada de forma e traçados de pincel), mas as propriedades não são acessíveis para manipulação numérica direta com as expressões.

maskOpacity

Tipo de retorno: Propriedade.

Retorna o valor de opacidade de uma máscara como uma porcentagem.

maskFeather

Tipo de retorno: Propriedade.

Retorna o valor de difusão de uma máscara, em pixels.

maskExpansion

Tipo de retorno: Propriedade.

Retorna o valor de expansão de uma máscara, em pixels.

inverter

Tipo de retorno: Booleano.

Retorna verdadeiro se a máscara for invertida ou falso se não for.

Atributos e métodos da Propriedade (referência de expressão)

valor

Tipo de retorno: Número, Matriz ou Sequência de caracteres.

Retorna o valor de uma propriedade no tempo atual.

valueAtTime(t)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número.

Retorna o valor de uma propriedade no tempo especificado, em segundos.

Por exemplo, para ter um valor de propriedade para cada quadro selecionado aleatoriamente de um conjunto de quatro valores, defina os quatro valores como quadros-chave para 0, 1, 2 e 3 segundos e aplique a seguinte expressão à propriedade:

  valueAtTime(random(4))

Observação:

Dan Ebberts fornece mais exemplos e técnicas sobre como usar os métodos valueAtTime e velocityAtTime em seu site MotionScript.

velocidade

Tipo de retorno: Número ou Matriz.

Retorna o valor de velocidade temporal no tempo atual. Para propriedades espaciais, como Posição, retorna o valor de vetor tangente. O resultado é a mesma dimensão da propriedade.

velocityAtTime(t)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: t é um número.

Retorna o valor de velocidade temporal no momento especificado.

velocidade

Tipo de retorno: Número.

Retorna um valor de velocidade positivo 1D igual à velocidade em que a propriedade está sendo alterada no tempo padrão. Esse elemento só pode ser usado somente para propriedades espaciais.

speedAtTime(t)

Tipo de retorno: Número.

Tipo de argumento: t é um número.

Retorna o valor de velocidade espacial no momento especificado.

wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumentos: freq, amp, oitavas, amp_mult e t são números.

Agita aleatoriamente (chocalha) o valor da propriedade.

O valor freq é a frequência em chocalhos por segundo.

O valor amp é a amplitude em unidades da propriedade à qual é aplicada.

octaves é o número de oitavas de ruído para adicionar em conjunto. Este valor controla quanto detalhe está no chocalho. Torne este valor maior que o padrão de 1 para incluir as frequências mais altas ou para ou mais baixas para incluir harmônicos de amplitude no chocalho.

amp_mult é o valor que amp é multiplicado para cada oitava. Este valor controla a velocidade em que os harmônicos soltam. O padrão é 0,5; torne-o mais próximo de 1 para ter os harmônicos adicionados à mesma amplitude da frequência de base, ou mais próximo de 0 para adicionar menos detalhe.

t é a hora de início de base. Esse valor é predefinido para o tempo atual. Use este parâmetro se pretender que a saída seja um chocalho do valor da propriedade em amostra em um tempo diferente.

Exemplo: position.wiggle(5, 20, 3, .5) produz aproximadamente 5 chocalhos por segundo com um tamanho médio de aproximadamente 20 pixels. Além do chocalho principal, mais dois níveis de chocalhos detalhados ocorrem com uma frequência de 10 e 20 chocalhos por segundo e tamanhos de 10 e 5 pixels, respectivamente.

Este exemplo, em uma propriedade bidimensional como Escala, chocalha ambas as dimensões pelo mesmo valor:

  v = wiggle(5, 10);   [v[0], v[0]]

Este exemplo, em uma propriedade bidimensional, chocalha somente ao longo do eixo y:

  freq = 3;   amp = 50;   w = wiggle(freq,amp);   [value[0],w[1]];

Dan Ebberts fornece uma expressão de exemplo e explicação detalhada no seu site da MotionScript que mostra como usar o parâmetro de tempo do método chocalho para criar uma animação em loop.

temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumentos: freq, amp, oitavas, amp_mult e t são números.

Faz a amostragem da propriedade em um tempo de chocalho. O valor freq é a frequência em chocalhos por segundo, amp é a amplitude das unidades da propriedade à qual é aplicada, octaves é o número de oitavas de ruído para adicionar em conjunto, amp_mult é a quantia que amp é multiplicado por para cada oitava e t é o tempo de início base. Para que essa função seja significativa, a propriedade à qual faz a amostragem deve ser animada, porque a função altera somente o tempo da amostragem, não o valor. Exemplo: scale.temporalWiggle (5, .2)

smooth(width=.2, samples=5, t=time)

Tipo de retorno: Número ou Matriz.

Tipo de argumento: width, samples e t são números.

Suaviza os valores de propriedade ao longo do tempo, convertendo os desvios grandes e breves no valor em desvios menores, mais uniformemente distribuídos. Essa suavização é conseguida aplicando um filtro de caixa ao valor da propriedade no tempo especificado. O valor width é o intervalo de tempo (em segundos) no qual o filtro é calculado na média. O valor samples é o número de amostras distintas separadas uniformemente ao longo do tempo; use um valor maior para maior suavidade (mas desempenho diminuído). Em geral, convém que samples seja um número ímpar de modo que o valor seja incluído na média. Exemplo: position.smooth(.1, 5)

loopIn(type="cycle", numKeyframes=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do primeiro quadro-chave na camada para frente até ao Ponto de saída da camada. O loop é reproduzido a partir do Ponto de entrada da camada. O valor numKeyframes determina que segmento é repetido: O segmento repetido é a parte do primeiro quadro-chave para o numKeyframes +1 quadro-chave. Por exemplo, loopIn("cycle", 3) repete o segmento delimitado pelo primeiro e quarto quadros-chave. O valor padrão 0 significa que todos os quadros-chave são repetidos.

É possível usar os métodos de repetição de quadros-chave para repetir uma série de quadros-chave. Você pode usar esses métodos na maioria das propriedades. As exceções incluem propriedades que não podem ser expressas por valores numéricos simples no painel Linha de tempo, como a propriedade Texto de origem, propriedades da forma de caminho e a propriedade Histograma para o efeito Níveis. Os quadros-chave ou valores de duração que são muito grandes serão cortados para o valor máximo permitido. Os valores que são muito pequenos resultam em um loop constante.

 

tipo de loop

resultado

ciclo

(padrão) Repete o segmento especificado.

pingpong

Repete o segmento especificado, alternando entre para frente e para trás.

deslocamento

Repete o segmento especificado, mas desloca cada ciclo pela diferença no valor da propriedade no início e o fim do segmento, multiplicado pelo número de vezes que o segmento foi repetido.

continuar

Não repete o segmento especificado, mas continua a animar uma propriedade com base na velocidade no primeiro ou último quadro-chave. Por exemplo, se o último quadro-chave de uma propriedade Escala de uma camada for 100%, a camada continua na escala de 100% ao ponto de saída, em vez de repetir diretamente de volta ao ponto de saída. Este tipo não aceita um argumento keyframes ou duration.

loopOut(type="cycle", numKeyframes=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do último quadro-chave na camada para trás até ao ponto de entrada da camada. O loop é reproduzido até ao Ponto de saída da camada. O número especificado de quadros-chave determina o segmento para repetição. O valor numKeyframes define o número de segmentos de quadro-chave para repetir; o intervalo especificado é medido para trás a partir do último quadro-chave. Por exemplo, loopOut("cycle", 1) repete o segmento delimitado pelo último quadro-chave e o segundo ao último quadro-chave. O valor padrão 0 significa que todos os quadros-chave são repetidos. Veja a entrada para loopIn para obter mais informações.

David Van Brink oferece um artigo e um projeto de amostra em seu omino blog do pixel que show como usar o efeito Eco, o efeito Animação de partículas e o método loopOut para animar um enxame de bactérias nadadoras.

loopInDuration(type="cycle", duration=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do primeiro quadro-chave na camada para frente até ao Ponto de saída da camada. O loop é reproduzido a partir do Ponto de entrada da camada. A duração especificada determina o segmento para repetição. O valor duration define o número de segundos de composição em um segmento para repetir; o intervalo especificado é medido a partir do primeiro quadro-chave. Por exemplo, loopInDuration("cycle",1) repete o primeiro segundo da animação inteira. O padrão de 0 significa que o segmento a ser repetido começa no Ponto de saída da camada. Veja a entrada para loopIn para obter mais informações.

loopOutDuration(type="cycle", duration=0)

Tipo de retorno: Número ou Matriz.

Executa a repetição de um segmento de tempo que é medido do último quadro-chave na camada para trás até ao ponto de entrada da camada. O loop é reproduzido até ao Ponto de saída da camada. A duração especificada determina o segmento para repetição. O valor de duration define o número de segundos de composição em um segmento para repetir; o intervalo especificado é medido para trás a partir do último quadro-chave. Por exemplo, loopOutDuration("cycle", 1) repete o último segundo da animação inteira. O padrão de 0 significa que o segmento a ser repetido começa no Ponto de entrada da camada. Veja a entrada para loopIn para obter mais informações.

key(index)

Tipo de retorno: Key ou MarkerKey.

Tipo de argumento: index é um número.

Retorna o objeto Key ou MarkerKey por número. Por exemplo, key(1) retorna o primeiro quadro-chave.

key(markerName)

Tipo de retorno: MarkerKey.

Tipo de argumento: markerName é uma Sequência de caracteres.

Retorna o objeto MarkerKey com este nome. Use apenas em propriedades do marcador.

nearestKey(t)

Tipo de retorno: Key ou MarkerKey.

Retorna o objeto Key ou MarkerKey mais próximo a um tempo designado.

numKeys

Tipo de retorno: Número.

Retorna o número de quadros-chave em uma propriedade. Retorna o número de marcadores em uma propriedade de marcador.

Observação:

Se você usar o comando Dimensões separadas para separar as dimensões da propriedade Posição em componentes individuais, o número de quadros-chave muda, portanto o valor retornado por este método altera.

propertyGroup(countUp = 1)

Tipo de retorno: Grupo.

Retorna um grupo de propriedades relacionadas à propriedade na qual a expressão é gravada. Por exemplo, se você adicionar a expressão propertyGroup(1) a propriedade Rotação de um traçado de pincel, a expressão direciona o grupo de propriedades Transformação, que contém a propriedade Rotação. Se você adicionar propertyGroup(2) em vez disso, a expressão direciona o grupo de propriedades Pincel. Esse método permite configurar relacionamentos independentes do nome na hierarquia das propriedades. Esse método é particularmente útil para duplicar propriedades que contêm expressões.

 O método numProperties para propertyGroup retorna o número de propriedades no grupo de propriedades.

 Este exemplo retorna o número de propriedades no grupo que contém a propriedade na qual a expressão é gravada:

  thisProperty.propertyGroup(1).numProperties

propertyIndex

Tipo de retorno: Número.

Retorna o índice de uma propriedade em relação a outras propriedades no seu grupo de propriedades, incluindo grupos de propriedades em máscaras, efeitos, animadores de texto, seletores, formas, controladores e pontos de controle.

nome

Tipo de retorno: Sequência de caracteres.

Retorna o nome da propriedade ou do grupo de propriedades.

Exemplo: Animar com o método propertyGroup e o atributo propertyIndex

Valores de propertyGroup com relação à propriedade Posição de um traçado de pincel
Valores de propertyGroup com relação à propriedade Posição de um traçado de pincel

A. propertyGroup(4) B. propertyGroup(3) C. propertyGroup(2) D. propertyGroup(1) E. O valor propertyIndex da posição é 2; o valor propertyIndex da Rotação é 4. 

Neste exemplo, o método propertyGroup para cada traçado de pincel direciona o grupo de propriedades Pincel porque esse grupo está dois grupos de propriedades acima da propriedade Rotação. O atributo propertyIndex em cada traçado de pincel retornará um valor exclusivo para cada traçado de pincel. O valor resultante é multiplicado pelo tempo e 200 e aplicado a cada valor de rotação, girando cada traçado de pincel de forma diferente, criando traçados de redemoinho de tinta:  propertyGroup(2).propertyIndex * time * 200

  propertyGroup(2).propertyIndex * time * 200
Animar um traçado de pincel com uma expressão
Animar um traçado de pincel com uma expressão

Atributos e métodos da Chave (referência de expressão)

Quando você atingir um objeto Key, você pode obter as propriedades time, index e value de ele. Por exemplo, a seguinte expressão fornece o valor do terceiro quadro-chave Posição: position.key(3).value

A expressão a seguir, quando gravada em uma propriedade de opacidade com quadros-chave, ignora os valores dos quadros principais e usa apenas o posicionamento dos quadros-chave na hora de determinar onde um flash deve ocorrer:   d = Math.abs(time – nearestKey(time).time);   easeOut(d, 0, .1, 100, 0)

  d = Math.abs(time - nearestKey(time).time); 
  easeOut(d, 0, .1, 100, 0)

valor

Tipo de retorno: Número ou Matriz.

Retorna o valor do quadro-chave.

hora

Tipo de retorno: Número.

Retorna o tempo do quadro-chave.

index

Tipo de retorno: Número.

Retorna o índice do quadro-chave.

Atributos de MarkerKey (Referência de expressão)

Você pode acessar valores para os marcadores de composição e de camada usando os mesmos métodos. Acesse marcadores de camada pelo objeto thisLayer.marker; acesse os marcadores de composição pelo objeto thisComp.marker.

Com o objetivo de expressões, os marcadores são um tipo especial de objeto Key, portanto você pode utilizar métodos como nearestKey(time) para acessar os marcadores, e marcadores também apresentam atributos time e index. O atributo index não é um número (nome) do marcador, é o número de índice de um quadro-chave, representando a ordem de marcador na régua de tempo.

As expressões têm acesso a todos os valores de um marcador que você pode definir na caixa de diálogo Marcador de composição ou Marcador de camada. Esta expressão na propriedade Texto de origem de uma camada de texto exibe o tempo, duração, índice, comentário (nome), capítulo, URL, destino de quadro e o nome do ponto de sinalização para o marcador de camada mais próximo do tempo atual e se o marcador for um ponto de sinalização de evento:

  m = thisLayer.marker.nearestKey(time);  
  s = "time:" + timeToCurrentFormat(m.time) + "\r" +  
      "duration: " + m.duration + "\r" +  
      "key index: " + m.index + "\r" +  
      "comment:" + m.comment + "\r" +  
      "chapter:" + m.chapter + "\r" +  
      "URL:" + m.url + "\r" +  
      "frame target: " + m.frameTarget + "\r" +  
      "cue point name: " + m.cuePointName + "\r" +  
      "Event cue point? " + m.eventCuePoint + "\r";  
  for (param in m.parameters){  
       s += "parameter: " + param + " value: " + m.parameters[param] + "\r";  
  } 
  s

Como os metadados XMP em um item de gravação podem ser convertidos em marcadores de camada para uma camada baseada nesse item, as expressões podem interagir com os metadados XMP. Para mais informações, consulte Metadados XMP no After Effects.

Dan Ebberts fornece um tutorial no centro de desenvolvedores do After Effects que inclui um exemplo de como usar metadados XMP com expressões.

duração

Tipo de retorno: Número.

Duração, em segundos, do marcador.

comment

Tipo de retorno: Sequência de caracteres.

Conteúdo do campo Comentário na caixa de diálogo Marcador.

chapter

Tipo de retorno: Sequência de caracteres.

Conteúdo do campo Capítulo na caixa de diálogo Marcador.

url

Tipo de retorno: Sequência de caracteres.

Conteúdo do campo URL na caixa de diálogo Marcador.

frameTarget

Tipo de retorno: Sequência de caracteres.

Conteúdo do campo Destino do quadro na caixa de diálogo Marcador.

eventCuePoint

Tipo de retorno: Booleano.

Configuração do ponto de sinalização na caixa de diálogo Marcador. Verdadeiro para Evento; falso para Navegação.

cuePointName

Tipo de retorno: Sequência de caracteres.

Conteúdo do campo Nome do ponto de sinalização na caixa de diálogo Marcador.

parameters

Tipo de retorno: Matriz associativa de valores Sequência de caracteres.

Conteúdo dos campos Nome do parâmetro e Valor do parâmetro na caixa de diálogo Marcador.

Por exemplo, se você tiver um parâmetro nomeado “cor de fundo”, é possível usar a seguinte expressão para acessar seu valor no marcador mais próximo:

  thisComp.marker.nearestKey(time).parameters["background color"]

Acesso de expressão para pontos de caminhos em formas, máscaras e traçados de pincel (referência de expressão)

É possível usar expressões para ler e gravar as coordenadas x e y de pontos de caminho ou vértices para:

  • Máscaras de camada
  • Formas de bézier
  • Traçados de pincel nos efeitos Pintura, Pincel tipo rotoscópio e Refinar borda.

 

Métodos de expressão:

  • Método de pontos do caminho(): {pathProperty}.points (t = time) obtém as coordenadas x,y de todos os pontos em um caminho. As coordenadas para máscara de camada de pontos do caminho são relativas à origem da camada em seu canto superior esquerdo. As coordenadas para pontos do caminho de forma Bézier são relativos ao ponto de ancoragem do grupo de formas do caminho, por exemplo,Transformar: Forma 1 > Ponto de ancoragem. As coordenadas para pontos de caminho de traçado de pincel são relativas ao início do traçado; o primeiro ponto é [0,0]. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita. É possível passar esse método no método createPath() para o parâmetro de pontos ao duplicar um caminho.

Parâmetros:

t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de número, arredondada a quarta casa decimal.

  • Método inTangents() do caminho: {pathProperty}.inTangents (t = time) obtém as coordenadas x,y da alça tangente de entrada para todos os pontos em um caminho. Os valores de coordenadas de tangente são relativos às coordenadas do ponto do pai. isto é, o valor [0,0] não cria curvatura na tangente de entrada. Esse método pode ser passado para o método createPath() do parâmetro inTangents ao duplicar um caminho. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de número, arredondada a quarta casa decimal.

  • Método outTangents() do caminho: {pathProperty}.outTangents (t = time) obtém as coordenadas x,y da alça tangente de saída para todos os pontos em um caminho. Os valores de coordenada tangente são relativos às coordenadas do ponto pai - o valor [0,0] não cria nenhuma curvatura na tangente de saída. Esse método pode ser passado pelo método createPath () do parâmetro outTangents ao duplicar um caminho. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Matriz de matrizes de pares de número, arredondada a quarta casa decimal.

  • O método do caminho isClosed(): {pathProperty}.isClosed () determina se o caminho está aberto ou fechado. Retorna true se o caminho estiver fechado e false se o caminho estiver aberto. Esse método pode ser passado para o método createPath () para o parâmetro is_closed ao duplicar um caminho.

Parâmetros:

Nenhum

Retorna:

Booleano

  • O método do caminho pointOnPath() {pathProperty}.pointOnPath (porcentagem = 0,5, t = time) obtém as coordenadas x,y de um ponto arbitrário ao longo de um caminho. O ponto é expresso como uma porcentagem do comprimento de arco do caminho. 0% é o primeiro ponto e 100% é o último ponto. Quando o caminho estiver fechado, 0% e 100% retornarão as mesmas coordenadas. A porcentagem do comprimento de arco é usada para garantir a velocidade uniforme ao longo do caminho. Diferentes de 0% e 100%, as porcentagens não correspondem necessariamente com os pontos Bézier no caminho - para um caminho com três pontos, o segundo ponto não estará em 50% necessariamente.) Isso também significa que para um caminho aberto e um fechado com pontos idênticos, a porcentagem ao longo do caminho aberto não retornará as mesmas coordenadas que o caminho fechado, devido ao comprimento adicional do caminho fechado. Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.
t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de número.

  • O método do caminho tangentOnPath() {pathProperty}.tangentOnPath (porcentagem = 0,5, t = time) obtém as coordenadas calculadas x,y, da alça tangente de saída para um ponto arbitrário ao longo de um caminho. Os valores de coordenadas de tangente são relativos às coordenadas do ponto pai - o valor [0,0] não cria nenhuma curvatura na tangente de saída. A alça tangente de entrada é o inverso desse valor (multiplique as coordenadas x,y por -1). O ponto pai de tangente é expresso como uma porcentagem do comprimento de arco do caminho. As coordenadas retornadas pelo tangentOnPath() são calculadas a partir do ponto pai e serão diferentes daquelas retornadas pelo outTangents() se um ponto definido pelo usuário também existir nessa porcentagem do comprimento de arco. A distância linear entre as coordenadas do ponto pai e as coordenadas do tangentOnPath() serão sempre 1. Você pode multiplicar as coordenadas retornadas para criar uma tangente mais longa, por exemplo, (myPath.tangentOnPath () * 100). Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.
t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de número.

  • O método do caminho normalOnPath() {pathProperty}.normalOnPath (porcentagem = 0,5, t = time) obtém as coordenadas calculadas x,y do normal para um ponto arbitrário ao longo de um caminho. Os valores de coordenadas dos normais são relativos às coordenadas do ponto pai - o valor [0,0] é igual ao ponto pai. O ponto pai do normal é expresso como uma porcentagem do comprimento de arco do caminho. Leia a descrição do método pointOnPath() para obter detalhes sobre a porcentagem do comprimento de arco. As coordenadas retornadas pelo normalOnPath() são calculadas a partir de seu ponto pai. A distância linear entre as coordenadas do ponto pai e as coordenadas do normalOnPath() serão sempre 1. Você pode multiplicar as coordenadas retornadas para criar um normal mais longo, por exemplo, (myPath.normalOnPath () * 100).Opcionalmente, especifique o tempo no qual a amostra do caminho será feita.

Parâmetros:

porcentagem Número entre 0 e 1, opcional. A porcentagem ao longo do comprimento de arco do caminho para teste. Valores menores que 0 e maiores que 1 são cortados. O padrão é 0,5.
t Número, opcional. O tempo de composição (em segundos) no qual testar o caminho. O padrão é o tempo (o tempo atual).

Retorna:

Uma matriz de pares de número.

  • O método do caminho createPath() {pathProperty}.createPath (pontos = [[0,0], [100,0], [100.100], [0.100]] inTangents = [], outTangents = [], is_closed = true) cria um objeto de caminho de um conjunto de pontos e tangentes. Os pontos são definidos por uma matriz das matrizes de pares de número que representam suas coordenadas x,y. O comprimento da matriz deve ser pelo menos 1 e pode ser de qualquer comprimento maior. As alças de entrada e de saída de tangente dos pontos são definidas por uma matriz das matrizes de pares de número que representam suas coordenadas de saída x,y. O comprimento das matrizes de tangente deve ser exatamente o mesmo que o parâmetro de pontos. Os valores de coordenadas de tangente são relativos às coordenadas do ponto pai - o valor [0,0] não cria nenhuma curvatura na tangente de saída. Os métodos points(), inTangents(), outTangents() e isClosed() de um caminho podem ser transmitidos para os parâmetros points, inTangents, outTangents e is_closed para duplicar um caminho. Os pontos e tangentes do mesmo caminho podem ser transmitidos para createPath() com modificações para gerar um resultado diferente. Por exemplo, a expressão a seguir removerá as curvas da Máscara 1 não passando os parâmetros inTangents ou outTangents:

caminho myMask = mask("Máscara 1");
myMask.createPath (myMask.points ());

O exemplo a seguir transmite os pontos e tangentes da Máscara 1 e converte-os em um caminho aberto ao definir is_closed como false:

caminho myMask = mask ("Máscara 1");
myMask.createPath (myMask.points (), myMask.inTangents (), myMask.outTangents (), false);

pontos Uma matriz de comprimento 1 ou mais contendo matrizes de pares de números representando as coordenadas [x,y] dos pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()).  O padrão é [[0,0], [100,0], [100,100], [0,100]].
is_closed Booliano, opcional. Determina se a máscara está fechada. Se definido como true, o último ponto será conectado ao primeiro ponto. O padrão é true.
inTangents Uma matriz contendo matrizes de pares número que representam as coordenadas de saída [x,y] das alças da tangente de saída para os pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()). O comprimento da matriz deve ser o mesmo que points, ou você pode passar uma matriz vazia ([]), que adotará o mesmo comprimento que points e [0,0] para todas as tangentes. O padrão é uma matriz vazia.
outTangents Uma matriz contendo matrizes de pares número que representam as coordenadas de entrada [x,y] das alças da tangente de saída para os pontos de caminho. Obrigatório, a menos que nenhum parâmetro seja transmitido (isto é, createPath ()). O comprimento da matriz deve ser o mesmo que points, ou você pode passar uma matriz vazia ([]), que adotará o mesmo comprimento que points e [0,0] para todas as tangentes. O padrão é uma matriz vazia.

Retorna:

Um objeto de caminho.

Exemplos:

  • Exemplo 1

O exemplo grava a lista de coordenadas de ponto e tangente do Caminho 1 da Forma 1 na Camada de forma 1, em time=0, em uma sequência de caracteres. Aplique isso à propriedade do texto de origem de uma camada de texto para uma leitura das coordenadas e tangentes de entrada e de saída da forma.

pointsList =";
sampleTime = 0;

myShape = thisComp.layer ("Camada de forma 1").content("Forma1").content ("Caminho 1").path;

para (i = 0; i < myShape.points (sampleTime).length; i++) {
    pointsList + = "c: "+ myShape.points (sampleTime)[i].toString() + " i: "+ myShape.inTangents(sampleTime) [i].toString() + " o: "+ myShape.outTangents(sampleTime) [i].toString() + "\n";
}

pointsList;

  • Exemplo 2

O exemplo lê as coordenadas do primeiro vértice da Máscara 1 em Dark Gray Solid 1 e converte-as em coordenadas de composição. Aplique isso a um controle de ponto 2D de um efeito, como Escrever ou CC Particle Systems II, para tornar o traço do efeito ou rastreamento o primeiro ponto de uma máscara animada. Duplique o efeito e altere o valor de índice de pontos do caminho ([0]) para acompanhar ou rastrear os outros pontos da máscara.

myLayer = thisComp.layer("Dark Gray Solid 1");
myLayer.toComp(myLayer.mask("Mask 1").maskPath.points()[0]);

Animação orientada por dados (referência da expressão)

Métodos de expressão:

  • Atributo de gravação sourceText {footageItem}.sourceText Retorna o conteúdo de um arquivo .JSON como uma sequência de caracteres. O método eval() pode ser usado para converter a sequência de caracteres em uma matriz de objetos sourceData, idêntica aos resultados do atributo sourceData, dos quais os fluxos de dados individuais podem ser referenciados como atributos hierárquicos dos dados. Por exemplo: 

var myData = eval(footage("sample.json").sourceText);

myData.sampleValue;

Tipo:

Sequência de caracteres, o conteúdo do arquivo .JSON; somente leitura.

  • Atributo de gravação sourceData {footageItem}.sourceData Retorna dos dados de um arquivo .JSON como uma matriz de objetos sourceData. A estrutura do arquivo .JSON determinará o tamanho e a complexidade da matriz. Fluxos de dados individuais podem ser referenciados como atributos hierárquicos dos dados. Por exemplo, se fornecido um fluxo de dados chamado Cores, o seguinte retornará o valor de Cor do primeiro objeto de dados:footage("sample.json").sourceData[0].Color

Normalmente, é usado para atribuir o sourceData de um arquivo .JSON a uma variável e, em seguida, referenciar o fluxo de dados desejado. Por exemplo:

var myData = footage("sample.json").sourceData;

myData[0].Color;

Tipo:

Uma matriz de objetos sourceData; somente leitura.

  • Método de gravação dataValue() {footageItem}.dataValue(dataPath) Retorna o valore do fluxo de dados dinâmico ou estático especificado em um arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados desejado. Por exemplo:

footage("sample.mgjson").dataValue([0]) retorna os dados do primeiro filho.

footage("sample.mgjson").dataValue([1][0]) retorna os dados do primeiro filho no segundo grupo.

Parâmetros:

dataPath Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados estático ou dinâmico.

Retorna:

O valor do fluxo de dados.

  • Método de gravação dataKeyCount() {footageItem}.dataKeyCount(dataPath) Retorna o número de amostras em um fluxo de dados dinâmico em um arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia para o fluxo de dados dinâmico desejado. 

Por exemplo:

  • footage("sample.mgjson").dataKeyCount([0]) retorna a contagem de amostras referente ao primeiro filho
  • footage("sample.mgjson").dataKeyCount([1][0]) retorna a contagem de amostras referente ao segundo grupo

Parâmetros:

dataPath Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados estático ou dinâmico.

Retorna:

O número de amostras no fluxo de dados dinâmico.

  • Método de gravação dataKey Times() {footageItem}.dataKeyTimes(dataPath, t0 = startTime, t1=endTime) Retorna o tempo em segundos das amostras de um determinado fluxo de dados dinâmico em um arquivo .mgJSON. Opcionalmente, especifique o intervalo de tempo do qual retornar amostras. Por padrão, o tempo de todas as amostras entre startTime e endTime no fluxo de dados dinâmico é retornado, conforme definido pela propriedade samplesTemporalExtent do fluxo de dados no arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados dinâmico desejado.

O exemplo a seguir retorna os tempos de amostras entre 1 e 3 segundos para o primeiro filho:

footage("sample.mgjson").dataKeyTimes([0], 1, 3)

Parâmetros:

dataPath Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados dinâmico.
t0 Número, opcional. O tempo de início, em segundos, do intervalo do qual retornar amostras. Assume startTime como o padrão.
t1
Número, opcional. O tempo de término, em segundos, do intervalo do qual retornar amostras. Assume endTime como o padrão.

Retorna:

Matriz de números que representam os tempos de amostra.

  • Método de gravação dataKeyValues() {footageItem}.dataKeyValues(dataPath, t0 = startTime, t1=endTime) Retorna os valores das amostras de um determinado fluxo de dados dinâmico em um arquivo .mgJSON. Opcionalmente, especifique o intervalo de tempo do qual retornar amostras. Por padrão, o tempo de todas as amostras entre startTime e endTime no fluxo de dados dinâmico é retornado, conforme definido pela propriedade samplesTemporalExtent do fluxo de dados no arquivo .mgJSON. Aceita um único valor de matriz para definir o caminho na hierarquia do fluxo de dados dinâmico desejado.

Por exemplo:

footage("sample.mgjson").dataKeyTimes([0], 1, 3) retorna os valores das amostras entre 1 e 3 segundos para o primeiro filho.

Parâmetros:


 

dataPath Matriz, obrigatória. O caminho na hierarquia para um fluxo de dados dinâmico.
t0 Número, opcional. O tempo de início, em segundos, do intervalo do qual retornar amostras. Assume startTime como o padrão.
t1
Número, opcional. O tempo de término, em segundos, do intervalo do qual retornar amostras. Assume endTime como o padrão.

Retorna:

Matriz de números que representam os valores de amostra.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online