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("Axis: " + axis.name);
$.writeln(" Tag: " + axis.tag);
$.writeln(" Min: " + axis.minValue);
$.writeln(" Max: " + axis.maxValue);
$.writeln(" Default: " + 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("Variable Font Demo", 1920, 1080, 1, 30, 30); var textLayer = comp.layers.addText("Hello World");
Definir a fonte como uma fonte de variável
// Definir a fonte como uma fonte de variável var textDocument = textLayer.property("Source Text").value; textDocument.font = "ShantellSans"; // ou qualquer nome de fonte de variável textLayer.property("Source Text").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("Text"); var animators = textProp.property("Animators");
Adicionar um novo animador
// Adicionar um novo animador var animator = animators.addProperty("ADBE Text Animator"); var animatorProps = animator.property("ADBE Text Animator Properties");
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: "wght" (Espessura), "wdth" (Largura), "ital" (Itálico), "slnt" (Inclinado) var weightAxis = animatorProps.addVariableFontAxis("wght");
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("ital"); italicAxis.setValueAtTime(0, 0); italicAxis.setValueAtTime(2, 1);
Verificação de eixos disponíveis
function getAvailableAxes(textLayer) {
var sourceText = textLayer.property("Texto de Origem");
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;
}