본문 바로가기

최신 글

    애프터이펙트 표현식(Expression) 2편 - 표현식 컨트롤로 슬라이더·체크박스 연결하기

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

    1편에서는 값, 배열, 변수 같은 기본 규칙을 정리했습니다. 2편에서는 표현식을 실제 작업에서 편하게 쓰게 해 주는 표현식 컨트롤을 다룹니다. 속성 값을 매번 코드로 고치는 대신, 슬라이더나 체크박스 하나로 여러 속성을 조절하는 방법입니다.

    화면은 한글 인터페이스로 캡처했습니다. 한글 UI에서는 코드 안의 이름도 한글로 들어가므로, 본문 코드도 화면과 같은 한글 이름으로 적었습니다. 영문 UI를 쓰신다면 "슬라이더 컨트롤"은 Slider Control, "슬라이더"는 Slider, "확인란 컨트롤"은 Checkbox Control, "확인란"은 Checkbox로 바꿔서 보시면 됩니다.

    1. 표현식 컨트롤이란

    표현식 컨트롤은 화면에 아무것도 그리지 않는 효과입니다. 오직 "값을 담는 상자" 역할만 합니다. 이 상자에 값을 넣어 두고, 다른 속성이 그 값을 가져다 쓰도록 연결합니다.

    • 값을 한 곳에서 관리할 수 있습니다.
    • 표현식 코드를 몰라도 슬라이더만 움직여서 조절할 수 있습니다.
    • 템플릿을 만들 때 사용자가 건드릴 값만 따로 모아 둘 수 있습니다.

    주로 쓰는 컨트롤은 이렇습니다.

    컨트롤(영문) 한글 메뉴 이름 담는 값 용도
    Slider Control 슬라이더 컨트롤 숫자 1개 크기, 각도, 속도 조절
    Checkbox Control 확인란 컨트롤 켜짐/꺼짐 켜고 끄는 스위치
    Point Control 지점 컨트롤 숫자 2개(배열) 위치 지정
    Color Control 색상 컨트롤 색상 색 바꾸기
    Angle Control 각도 컨트롤 각도 회전량 조절
    Layer Control 레이어 컨트롤 레이어 다른 레이어 선택

    이번 글에서는 가장 많이 쓰는 슬라이더와 확인란(체크박스)을 다룹니다.

    2. 컨트롤 추가하기

    솔리드 레이어를 선택하고, 상단 메뉴에서 효과 > 표현식 컨트롤 > 슬라이더 컨트롤을 선택합니다.

    효과 컨트롤 패널에 슬라이더 컨트롤이 추가되고, 그 안에 "슬라이더" 값이 0.00으로 들어 있습니다. 이 값이 숫자 1개를 담는 상자입니다.

    타임라인에서 레이어를 펼치면 효과 아래에도 같은 슬라이더 컨트롤이 보입니다. 이 화면에서는 위치에 1편에서 쓴 [position[0],800]이 그대로 남아 있습니다. 이번 예제와 상관없는 코드이니 신경 쓰지 않으셔도 됩니다.

    3. 표현식 뚝딱 도구로 연결하기

    이제 회전(Rotation) 속성에 슬라이더 값을 연결해 보겠습니다.

    1. 회전의 스톱워치를 Option(윈도우는 Alt) + 클릭해서 표현식 입력창을 엽니다. 입력창에는 현재 값인 0이 들어 있습니다.
    2. 입력창 옆의 나선 모양 아이콘을 누른 채로 끌어서 슬라이더 컨트롤의 "슬라이더" 위에 놓습니다.

    이 나선 아이콘의 영문 이름은 Pick Whip(피크휩)이고, 한글 UI에서는 표현식 뚝딱 도구(대상에 참조 삽입)라고 표시됩니다.

    놓는 순간 코드가 자동으로 입력됩니다.

    effect("슬라이더 컨트롤")("슬라이더")

    이 코드는 "이 레이어의 효과 중 슬라이더 컨트롤을 찾고, 그 안의 슬라이더 값을 가져온다"는 뜻입니다. 이제 슬라이더 값을 90으로 바꾸면 회전도 90도가 됩니다. 아래 화면에서 슬라이더 90.00, 회전 0x+90.0°로 같이 바뀐 것을 볼 수 있습니다.

    코드를 직접 타이핑하지 않아도 알아서 써 주기 때문에, 이름이 틀려서 생기는 오류가 줄어듭니다.

    4. 컨트롤 이름 바꾸기

    컨트롤이 여러 개가 되면 이름이 중요합니다. 타임라인이나 효과 컨트롤 패널에서 효과 이름("슬라이더 컨트롤" 행)을 한 번 클릭해 선택한 뒤 Return(윈도우는 Enter)을 누르면 이름을 바꿀 수 있습니다. 안쪽의 "슬라이더" 속성이 아니라 위쪽 효과 이름을 선택해야 합니다.

    여기서는 "회전량"으로 바꿨습니다.

    이름을 바꾸면 회전 속성의 코드에도 새 이름이 자동으로 반영됩니다.

    effect("회전량")("슬라이더")

    다만 코드를 직접 고쳤거나 다른 곳에 복사한 코드는 이름이 자동으로 바뀌지 않을 수 있습니다. 이름을 바꾼 뒤 오류가 나면 따옴표 안 이름이 컨트롤 이름과 정확히 같은지 확인하세요. 띄어쓰기까지 같아야 합니다.

    5. 슬라이더 값을 계산에 쓰기

    가져온 값은 숫자이기 때문에 계산에 쓸 수 있습니다. 1편에서 배운 변수를 함께 써 보겠습니다.

    var s = effect("회전량")("슬라이더");
    s * 2

    슬라이더 값의 두 배가 회전에 들어갑니다.

    값이 2개인 비율(Scale)에는 숫자를 두 번 넣어 배열로 만들어 줍니다.

    var s = effect("회전량")("슬라이더");
    [s, s]

    슬라이더 하나로 가로·세로 크기를 같이 조절하는 식입니다. 비율은 100이 원래 크기라는 점만 기억하면 됩니다.

    6. 확인란 컨트롤: 켜고 끄는 스위치

    확인란은 켜짐/꺼짐 값을 가집니다. 켜면 1, 끄면 0처럼 동작합니다. 효과 > 표현식 컨트롤 > 확인란 컨트롤을 추가하고 불투명도에 연결해 보겠습니다. 불투명도 표현식 입력창에 표현식 뚝딱 도구로 확인란을 연결한 뒤 아래처럼 고칩니다.

    var cb = effect("확인란 컨트롤")("확인란")
    cb * 100
    • 체크하면 1 * 100이므로 불투명도가 100이 됩니다.
    • 해제하면 0 * 100이므로 불투명도가 0이 되어 레이어가 사라집니다.

    화면에서 효과 컨트롤 패널의 확인란이 체크된 상태이고, 불투명도 표현식에 위 코드가 들어 있는 것을 볼 수 있습니다. 확인란 하나로 레이어를 보이고 숨기는 스위치가 만들어졌습니다.

    7. 컨트롤은 한 곳에 모으기

    작업이 커지면 컨트롤을 레이어마다 두지 않고 Null 개체 하나에 모아 두면 편합니다.

    1. 타임라인의 빈 곳에서 우클릭하고 새로 만들기 > Null 개체를 선택합니다.
    2. Null 개체에 슬라이더, 확인란 같은 컨트롤을 추가합니다. 이미 만든 컨트롤은 효과 이름을 선택하고 복사(Cmd/Ctrl + C)한 뒤 Null 개체에 붙여넣기(Cmd/Ctrl + V)해도 됩니다.
    3. 다른 레이어의 속성에서 표현식 뚝딱 도구로 이 Null 개체의 컨트롤에 연결합니다.

    연결하면 코드 앞에 Null 개체의 이름이 붙습니다.

    thisComp.layer("Null 1").effect("회전량")("슬라이더")
    
    var cb = thisComp.layer("Null 1").effect("확인란 컨트롤")("확인란")
    cb * 100

    화면의 맨 위 Null 1 레이어에 회전량 슬라이더와 확인란 컨트롤이 모여 있고, 아래 솔리드 레이어의 회전과 불투명도가 그 값을 따라갑니다. 이제 Null 1 하나만 열어 모든 값을 조절할 수 있습니다. Null 개체 이름은 "CONTROL"처럼 알아보기 쉬운 이름으로 바꿔 두면 코드도 읽기 편해집니다. 템플릿을 만들어 다른 사람에게 줄 때도 건드릴 값이 한곳에 모여 있어서 사용하기 쉽습니다.

    8. 자주 하는 실수

    증상 확인할 것
    이름을 바꿨더니 오류가 난다 코드 따옴표 안 이름이 컨트롤 이름과 정확히 같은지
    값이 하나만 적용된다 비율처럼 값이 2개인 속성에는 [s, s]처럼 배열로 넣었는지
    컨트롤이 다른 레이어에 있다 thisComp.layer("레이어 이름")이 앞에 붙었는지
    확인란이 안 먹는다 cb * 100처럼 숫자로 바꿔서 썼는지
    이름 바꾸기가 안 된다 안쪽 "슬라이더" 속성이 아니라 위쪽 효과 이름을 선택했는지

    정리

    항목 핵심
    표현식 컨트롤 값을 담는 상자, 화면에는 보이지 않음
    슬라이더 컨트롤 숫자 1개
    확인란 컨트롤 켜짐(1) / 꺼짐(0)
    표현식 뚝딱 도구(피크휩) 끌어서 연결하면 코드가 자동으로 입력됨
    이름 바꾸기 효과 이름 선택 후 Return
    Null 개체 컨트롤을 한곳에 모으는 데 사용

    다음 편

    3편에서는 time을 이용해 키프레임 없이 계속 움직이는 애니메이션을 만들고, Math.round로 숫자를 정리하는 방법을 다룹니다.

     

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

    반응형

    댓글