Suporte a scripts para eixos de fonte de variável

Saiba mais sobre alguns dos ExtendScript para acesso e controle de eixos de fonte de variável no After Effects.

No After Effects, você pode usar o ExtendScript para acessar e controlar eixos de fonte de variável. Isso significa que você pode automatizar alterações em propriedades como Espessura, Largura e Inclinação em camadas de texto, facilitando a criação de animações dinâmicas sem ajustar manualmente cada configuração.

API de objeto de fonte

Acessar eixos de fonte

// Obter objeto da fonte da camada de texto
var textLayer = comp.layer("My Text");
var sourceText = textLayer.property("Source Text");
var textDocument = sourceText.value;
var fontObject = textDocument.fontObject;

// Verificar se a fonte tem eixos variáveis
if (fontObject && fontObject.designAxesData) {
    var axes = fontObject.designAxesData;

    for (var i = 0; i < axes.length; i++) {
        var axis = axes[i];
        $.writeln(&quot;Axis: &quot; + axis.name);
        $.writeln(&quot;  Tag: &quot; + axis.tag);
        $.writeln(&quot;  Min: &quot; + axis.minValue);
        $.writeln(&quot;  Max: &quot; + axis.maxValue);
        $.writeln(&quot;  Default: &quot; + axis.defaultValue);
    }
}

Adicionar animadores de eixo via Script

Criar uma composição e uma camada de texto.

// Criar uma composição e camada de texto
var comp = app.project.items.addComp(&quot;Variable Font Demo&quot;, 1920, 1080, 1, 30, 30);
var textLayer = comp.layers.addText(&quot;Hello World&quot;);

Definir a fonte como uma fonte de variável

// Definir a fonte como uma fonte de variável
var textDocument = textLayer.property(&quot;Source Text&quot;).value;
textDocument.font = &quot;ShantellSans&quot;;  // ou qualquer nome de fonte de variável
textLayer.property(&quot;Source Text&quot;).setValue(textDocument);

Obter a propriedade de texto e o grupo de animadores

// Obter a propriedade de texto e o grupo de animadores
var textProp = textLayer.property(&quot;Text&quot;);
var animators = textProp.property(&quot;Animators&quot;);

Adicionar um novo animador

// Adicionar um novo animador
var animator = animators.addProperty(&quot;ADBE Text Animator&quot;);
var animatorProps = animator.property(&quot;ADBE Text Animator Properties&quot;);

Adicionar um eixo de fonte de variável usando sua tag de 4 caracteres

// Adicionar um eixo de fonte de variável usando sua tag de 4 caracteres
// tags comuns: &quot;wght&quot; (Espessura), &quot;wdth&quot; (Largura), &quot;ital&quot; (Itálico), &quot;slnt&quot; (Inclinado)
var weightAxis = animatorProps.addVariableFontAxis(&quot;wght&quot;);

Definir um valor sem quadro-chave

// Definir um valor (sem quadro-chave)
weightAxis.setValue(700);

Criar quadros-chave

// Ou criar quadros-chave
var italicAxis = animatorProps.addVariableFontAxis(&quot;ital&quot;);
italicAxis.setValueAtTime(0, 0);
italicAxis.setValueAtTime(2, 1);

Verificação de eixos disponíveis

function getAvailableAxes(textLayer) {
    var sourceText = textLayer.property(&quot;Texto de Origem&quot;);
    var textDoc = sourceText.value;
    var fontObj = textDoc.fontObject;

    if (!fontObj || !fontObj.designAxesData) {
        return [];
    }

    var axisInfo = [];
    for (var i = 0; i < fontObj.designAxesData.length; i++) {
        var axis = fontObj.designAxesData[i];
        axisInfo.push({
            name: axis.name,
            tag: axis.tag,
            min: axis.minValue,
            max: axis.maxValue,
            default: axis.defaultValue
        });
    }

    return axisInfo;
}

Adobe, Inc.

Receba ajuda com mais rapidez e facilidade

Novo usuário?