Scopri alcuni degli ExtendScript per accedere e controllare gli assi dei font variabili in After Effects.
In After Effects, è possibile utilizzare ExtendScript per accedere e controllare gli assi dei font variabili. Questo significa che puoi automatizzare le modifiche per proprietà come Spessore, Larghezza e Inclinazione tra i livelli di testo, rendendo più semplice creare animazioni dinamiche senza regolare manualmente ogni impostazione.
API dell’oggetto font
Accedere agli assi dei font
// Ottieni l’oggetto font dal livello di testo
var textLayer = comp.layer("My Text");
var sourceText = textLayer.property("Source Text");
var textDocument = sourceText.value;
var fontObject = textDocument.fontObject;
// Verifica se il font ha assi variabili
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);
}
}
Aggiunta di animatori di assi tramite Script
Creare una composizione e un livello di testo
// Crea una composizione e un livello di testo var comp = app.project.items.addComp("Variable Font Demo", 1920, 1080, 1, 30, 30); var textLayer = comp.layers.addText("Hello World");
Impostare il font su un font variabile
// Imposta il font su un font variabile var textDocument = textLayer.property("Source Text").value; textDocument.font = "ShantellSans"; // or any variable font name textLayer.property("Source Text").setValue(textDocument);
Ottenere la proprietà del testo e il gruppo animatori
// Ottieni la proprietà del testo e il gruppo animatori var textProp = textLayer.property("Text"); var animators = textProp.property("Animators");
Aggiungi un nuovo animatore
// Aggiungi un nuovo animatore var animator = animators.addProperty("ADBE Text Animator"); var animatorProps = animator.property("ADBE Text Animator Properties");
Aggiungi un asse Font variabile utilizzando il suo tag a 4 caratteri
// Aggiungi un asse Font variabile utilizzando il suo tag a 4 caratteri // tag comuni: "wght" (Weight), "wdth" (Width), "ital" (Italic), "slnt" (Slant) var weightAxis = animatorProps.addVariableFontAxis("wght");
Impostare un valore senza fotogramma chiave
// Imposta un valore (nessun fotogramma chiave) weightAxis.setValue(700);
Creare fotogrammi chiave
// Oppure crea fotogrammi chiave var italicAxis = animatorProps.addVariableFontAxis("ital"); italicAxis.setValueAtTime(0, 0); italicAxis.setValueAtTime(2, 1);
Verifica degli assi disponibili
function getAvailableAxes(textLayer) {
var sourceText = textLayer.property("Source Text");
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;
}