Scripting-Unterstützung für Achsen der variablen Schriftart

Erfahre mehr über ExtendScript, mit dem du in After Effects auf die Achsen der variablen Schriftart zugreifen und sie steuern kannst.

In After Effects kannst du ExtendScript verwenden, um auf Achsen der variablen Schriftart zuzugreifen und sie zu steuern. Das bedeutet, du kannst Änderungen an Eigenschaften wie Weight, Width und Slant über Textebenen hinweg automatisieren und so dynamische Animationen einfacher anlegen, ohne jede Einstellung manuell anzupassen.

Font-Objekt-API

Zugriff auf Font-Achsen

// Font-Objekt von Textebene abrufen
var textLayer = comp.layer("My Text");
var sourceText = textLayer.property("Source Text");
var textDocument = sourceText.value;
var fontObject = textDocument.fontObject;

// Prüfen, ob Font variable Achsen hat
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);
    }
}

Achsen-Animatoren per Skript hinzufügen

Erstellen einer Komposition und einer Textebene

// Komposition und Textebene anlegen
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;);

Font auf eine Variable Schriftart setzen

// Font auf eine Variable Schriftart setzen
var textDocument = textLayer.property(&quot;Source Text&quot;).value;
textDocument.font = &quot;ShantellSans&quot;;  // oder beliebiger Name einer variablen Schriftart
textLayer.property(&quot;Source Text&quot;).setValue(textDocument);

Text-Eigenschaft und Animatoren-Gruppe abrufen

// Text-Eigenschaft und Animatoren-Gruppe abrufen
var textProp = textLayer.property(&quot;Text&quot;);
var animators = textProp.property(&quot;Animators&quot;);

Neuen Animator hinzufügen

// Neuen Animator hinzufügen
var animator = animators.addProperty(&quot;ADBE Text Animator&quot;);
var animatorProps = animator.property(&quot;ADBE Text Animator Properties&quot;);

Hinzufügen einer Achse der variablen Schriftart mit ihrem Tag aus 4 Zeichen

// Achse der variablen Schriftart mit ihrem Tag aus 4 Zeichen hinzufügen
// Häufige Tags: &quot;wght&quot; (Gewichtung), &quot;wdth&quot; (Breite), &quot;ital&quot; (Kursiv), &quot;slnt&quot; (Neigung)
var weightAxis = animatorProps.addVariableFontAxis(&quot;wght&quot;);

Wert ohne Keyframe setzen

// Wert setzen (ohne Keyframe)
weightAxis.setValue(700);

Erstellen von Keyframes

// Oder Keyframes anlegen
var italicAxis = animatorProps.addVariableFontAxis(&quot;ital&quot;);
italicAxis.setValueAtTime(0, 0);
italicAxis.setValueAtTime(2, 1);

Verfügbare Achsen prüfen

function getAvailableAxes(textLayer) {
    var sourceText = textLayer.property(&quot;Quelltext&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.

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?