가변 글꼴 축에 대한 스크립팅 지원

After Effects에서 가변 글꼴 축에 액세스하고 제어하기 위한 ExtendScript에 대해 알아보세요.

After Effects에서 ExtendScript를 사용하여 가변 글꼴 축에 액세스하고 제어할 수 있습니다. 즉, 텍스트 레이어 전체에서 굵기, 너비, 기울기와 같은 속성 변경을 자동화할 수 있어, 각 설정을 수동으로 조정하지 않고도 동적 애니메이션을 더 쉽게 만들 수 있습니다.

글꼴 객체 API

글꼴 축 액세스하기

// 텍스트 레이어에서 글꼴 객체 가져오기
var textLayer = comp.layer("My Text");
var sourceText = textLayer.property("Source Text");
var textDocument = sourceText.value;
var fontObject = textDocument.fontObject;

// 글꼴에 가변 축이 있는지 확인
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);
    }
}

스크립트를 통한 축 애니메이터 추가

컴포지션 및 텍스트 레이어 만들기

// 컴포지션과 텍스트 레이어 만들기
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;);

글꼴을 가변 글꼴로 설정

// 글꼴을 가변 글꼴로 설정
var textDocument = textLayer.property(&quot;Source Text&quot;).value;
textDocument.font = &quot;ShantellSans&quot;;  // 또는 다른 가변 글꼴 이름
textLayer.property(&quot;Source Text&quot;).setValue(textDocument);

텍스트 속성과 애니메이터 그룹 가져오기

// 텍스트 속성과 애니메이터 그룹 가져오기
var textProp = textLayer.property(&quot;Text&quot;);
var animators = textProp.property(&quot;Animators&quot;);

새 애니메이터 추가

// 새 애니메이터 추가
var animator = animators.addProperty(&quot;ADBE Text Animator&quot;);
var animatorProps = animator.property(&quot;ADBE Text Animator Properties&quot;);

4자리 태그를 사용하여 가변 글꼴 축 추가

// 4자리 태그를 사용하여 가변 글꼴 축 추가
// 일반적인 태그: &quot;wght&quot; (Weight), &quot;wdth&quot; (Width), &quot;ital&quot; (Italic), &quot;slnt&quot; (Slant)
var weightAxis = animatorProps.addVariableFontAxis(&quot;wght&quot;);

키프레임 없이 값 설정

// 값 설정(키프레임 없음)
weightAxis.setValue(700);

키프레임 만들기

// 또는 키프레임 만들기
var italicAxis = animatorProps.addVariableFontAxis(&quot;ital&quot;);
italicAxis.setValueAtTime(0, 0);
italicAxis.setValueAtTime(2, 1);

사용 가능한 축 확인

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

쉽고 빠르게 지원 받기

신규 사용자이신가요?