본문 바로가기

최신 글

    애프터이펙트 표현식(Expression) 시작하기 1편 - 값, 배열, 변수, 세미콜론

    빠르크의3분강좌 2026. 10. 11.
    반응형

    애프터이펙트에서 표현식은 속성의 값을 코드로 직접 정하거나, 다른 속성과 연결하는 기능입니다. 자바스크립트를 기반으로 하지만 코딩 경험이 없어도 괜찮습니다. 1편에서는 이후 모든 편에서 쓰게 될 기본 규칙 네 가지만 정리합니다.

    • 속성에는 모두 값이 있다
    • 값에는 네 종류가 있다
    • 변수에 값을 담아 쓴다
    • 문장은 세미콜론으로 끝낸다

    예제는 1920×1080 컴포지션에 솔리드 레이어 하나를 만든 상태를 기준으로 합니다. 화면은 한글 인터페이스로 캡처했으며, 속성 이름은 영문(한글)로 함께 적습니다.

    1. 표현식을 입력하는 방법

    1. 타임라인에서 레이어의 속성(예: Position, 위치) 앞에 있는 스톱워치 아이콘에 마우스를 올립니다.
    2. Alt(맥은 Option)를 누른 채 스톱워치를 클릭합니다.

    스톱워치에 마우스를 올리면 "Option+클릭하면 표현식을 추가 또는 제거합니다"라는 안내가 나옵니다.

    1. 속성 아래에 코드 입력창이 열립니다. 처음에는 속성 이름(예: transform.position)이 기본으로 들어 있습니다.
    2. 코드를 입력하고 입력창 바깥을 클릭하면 적용됩니다.
    3. 표현식을 지울 때는 같은 방법으로 스톱워치를 Alt + 클릭합니다.

    2. 모든 속성은 값으로 이루어져 있습니다

    표현식을 이해하는 열쇠는 "값"입니다. 속성이 몇 개의 값을 갖는지만 알면 반은 끝납니다.

    속성 화면 표시 값의 개수
    Anchor Point (기준점) 960.0, 540.0 2개
    Position (위치) 960.0, 540.0 2개
    Scale (비율) 100.0, 100.0% 2개
    Rotation (회전) 0x+0.0° 1개
    Opacity (불투명도) 100% 1개

    %나 도(°) 같은 단위는 표현식에서 신경 쓰지 않습니다. Opacity의 100%도, Rotation의 0°도 그냥 숫자 하나입니다. 값이 하나인 속성은 숫자 하나로, 값이 둘 이상인 속성은 숫자 묶음(배열)으로 다룹니다.

    3. 값의 네 가지 종류

    숫자 (Number)

    12
    12.5

    소수점은 항상 점(.)으로 씁니다.

    문자 (String)

    따옴표로 감싼 글자입니다. 큰따옴표와 작은따옴표 모두 쓸 수 있습니다.

    "안녕하세요"
    'Hello'

    불리언 (Boolean)

    참과 거짓 두 가지뿐입니다. 소문자로 씁니다.

    true
    false

    배열 (Array)

    값을 대괄호로 묶고 쉼표로 구분한 것입니다. Position, Scale, Anchor Point처럼 값이 2개인 속성이 배열입니다.

    [960, 540]
    [100, 100]

    한 가지 중요한 규칙이 있습니다. 표현식의 결과는 원래 속성이 가진 값의 종류와 같아야 합니다. Rotation에는 숫자 하나, Position에는 숫자 두 개짜리 배열을 넣어야 합니다.

    4. 직접 해보기: 값 넣어 보기

    Rotation(회전)은 숫자 1개짜리 속성입니다. 표현식 입력창에 다음을 입력합니다.

    45

    레이어가 45도로 고정되고, 속성 값도 0x+45.0°로 바뀝니다.

    Position(위치)은 배열 속성입니다. 표현식 입력창에 다음을 입력하면 레이어가 컴포지션 정중앙에 놓입니다.

    [960, 540]

    Position에 숫자 하나만 넣으면(예: 960) 값의 개수가 맞지 않아 오류가 나거나 의도와 다르게 동작합니다. 값의 개수가 맞는지 먼저 확인하는 습관을 들이면 좋습니다.

    5. 배열에서 값 하나만 꺼내기 (인덱스)

    배열 안의 값은 순서 번호로 부릅니다. 이 번호를 인덱스라고 하고, 0부터 시작합니다.

    position[0]   // X 값
    position[1]   // Y 값

    Position이 [960, 540]이면 position[0]은 960, position[1]은 540입니다. 맨 앞이 1이 아니라 0이라는 점만 기억하면 됩니다.

    예제: X는 그대로 두고 Y만 바꾸기

    Position에 입력합니다.

    [position[0], 800]

    X 위치는 원래 값을 따르고, Y만 800으로 고정됩니다. 일부 값만 바꾸고 나머지는 유지할 때 자주 쓰는 형태입니다. 아래 화면에서 위치 값이 960.0, 800.0이 되어 레이어가 아래로 내려간 것을 볼 수 있습니다.

    6. 변수: 값에 이름을 붙여 저장하기

    값을 여러 번 쓰거나 계산 과정을 읽기 쉽게 정리하고 싶을 때는 변수에 담습니다. var 뒤에 이름을 쓰고 =로 값을 넣습니다.

    var x = 960;
    var y = 540;
    [x, y]

    숫자뿐 아니라 문자, 불리언, 배열도 담을 수 있습니다.

    var title = "표현식";
    var isOn = true;
    var center = [960, 540];

    변수 이름 규칙은 다음과 같습니다.

    • 대소문자를 구분합니다. Speed와 speed는 서로 다른 변수입니다.
    • 공백을 쓸 수 없습니다. 단어를 이어 붙일 때는 moveSpeed처럼 두 번째 단어부터 대문자로 쓰는 방식이 흔합니다.
    • 숫자로 시작할 수 없습니다.

    7. 세미콜론과 코드를 읽는 순서

    ;는 한 문장이 끝났다는 표시입니다. 줄 바꿈과는 별개의 역할이라서 한 줄에 여러 문장을 쓸 수도 있습니다.

    var a = 10; var b = 20;

    표현식은 위에서 아래로, 왼쪽에서 오른쪽으로 순서대로 읽습니다. 그래서 변수는 쓰기 전에 먼저 만들어 둬야 합니다.

    var a = 100;
    var b = a + 50;   // a가 먼저 있어야 계산됩니다
    [b, b]

    마지막 줄의 결과가 속성에 들어가는 최종 값입니다. 마지막 줄의 세미콜론은 생략해도 되지만, 습관적으로 붙이는 편이 안전합니다.

    주석

    // 뒤에 쓴 내용은 실행되지 않는 메모입니다. 나중에 내가 쓴 코드를 다시 볼 때 도움이 됩니다.

    // 화면 중앙에 고정
    [960, 540]

    정리

    항목 핵심
    값의 종류 숫자, 문자, 불리언, 배열
    결과 속성이 원래 가진 값의 종류와 같아야 함
    인덱스 배열의 순서 번호, 0부터 시작
    변수 var 이름 = 값;
    읽는 순서 위에서 아래로, 왼쪽에서 오른쪽으로
    주석 // 뒤는 실행되지 않음

    다음 편

    2편에서는 슬라이더·체크박스 같은 표현식 컨트롤을 만들고, 이 값을 다른 속성에 연결하는 방법을 다룹니다. 값을 직접 입력하지 않고 슬라이더 하나로 여러 속성을 조절할 수 있게 됩니다.

     

    참고: Adobe After Effects 표현식 공식 문서, François Lefebvre 『After Effects: The Power of Expression』(개념 참고)

    반응형

    댓글