ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • EP.2 디자인한 자막바 크기 자동 조절되게 만들기
    Adobe 프로그램 정복기/After Effects 에프터이펙트 2021. 9. 12. 19:00

    요즘 많은 사람들이 유튜브를 만들고 영상을 제작하는 것 같아요

    그래서인지 자막과 관련한 기능들이 편집 프로그램에 업데이트 되고 있더라고요

    어떤 기능이냐면 자막 길이에 맞춰 자막바의 길이가 자동으로 조절되는 기능이에요

    참고로 무료 편집 프로그램인 다빈치 리졸브(Davinci Resolve)와 프리미어프로(Premiere Pro)에서 가능했습니다.

     

    오늘 에프터이펙트에서 표현식을 활용해 만들어 볼 기능도 이와 같은 자동으로 길이가 조절되는 자막바를 만들어 보려고 해요

    에펙으로 편집하는 일이 많지 않을 수 있지만 자막을 디자인해야 하는 경우 종종 사용하게 되는 것 같아요.

     

    1. 자막바 만들기

    길게 클릭하고 있으면 여러 도형 툴을 선택할 수 있습니다

    모서리에 라운드가 들어간 툴을 선택한 후 영상의 SafeZone 안쪽에 그려놓았습니다

    SafeZone은 영상이 상영될 화면의 크기가 다양한데 어떤 환경에서도 잘려보이지 않는 영역입니다.

     

    5번째에 있는 버튼을 클릭한 후 Title/Action Safe를 누르면 확인할 수 있습니다

     

    자막바를 좀 더 입체적으로 보여주기 위해서 똑같은 도형을 하나 더 만들어주겠습니다

     

     

    2. Size에 표현식 넣기

    이제 이 자막바에 표현식(expression)을 넣어주어 자동으로 길이 조절이 되도록 해볼게요

    먼저 Size에 표현식을 넣어주면 되는데요.

    표현식을 넣는 방법은 스톱워치 모양의 아이콘을 Option 키를 누른 상태로 클릭하면 됩니다

    (윈도우 사용자는 Alt 키를 누르면 됩니다)

     

    s = thisComp.layer("text");
    w = s.sourceRectAtTime().width;
    h = s.sourceRectAtTime().height;

    [w+140, h+40]

    thisComp는 현재 컴포지션을 의미하고 .layer()를 입력하면 레이어를 선택할 수 있게 됩니다.

    그래서 thisComp.layer("text")는 현재 컴포지션의 레이어 중 이름이 text로 되어있는 레이어를 선택하는 표현식입니다.

    그 앞에 "s =" 가 있는 이유는 변수로 설정해주기 위함인데요.

    s = thisComp.layer("text"); 는 "=" 을 기준으로 오른쪽에 있는걸 왼쪽에 있는 s에 넣었다고 생각하시면 됩니다.

     

    그 아래의 s.sourceRectAtTime().width; 는 위에 선택했던 text 라는 레이어의 width, 가로 길이를 구하는 식입니다.

    s.sourceRectAtTime().height; 는 위와 마찬가지로 text 레이어의 height, 높이를 구하는 식입니다.

     

    정리해보면 자막바 사이즈가 text 레이어의 가로길이와 세로길이를 구해서 따라가도록 만든 것 입니다.

     

    그리고 표현식을 작성하고난 후 중요한게 있습니다.

    대괄호를 사용해서 값을 입력해주어야 하는데요. Size의 경우 가로와 세로 두개의 값이 있어야하기 때문에

    [w, h] -> "," 로 가로와 세로 값을 구분해주어 작성해주면 정상적으로 작동하게 됩니다.

     

    [w, h]로 입력하면 위와 같은 모습을 보게 될텐데 작성한 표현식대로 잘 적용된 상태입니다.

    글씨의 크기에 정확히 딱 맞는 크기로 바뀌게 된 것 입니다.

    자막바는 글씨 크기보다 좀 더 커야하기 때문에 [w, h]를 [w+140, h+40] 이렇게 바꿔주시면 크기를 바꿀 수 있습니다.

     

     

    자막바 뒤쪽에 그림자처럼 있는 도형의 크기는 자막바의 크기를 따라가면 되기 때문에 좀 더 간단하게 조절할 수 있습니다.

    영상에서처럼 Expression pick wipe 버튼을 클릭하고 표현식을 작성했던 Size 부분에 끌어다 놓으면 크기가 같아집니다.

     

     

     

    3. 이름 넣기

    한 가지 더 추가하자면 자막바에 이름을 넣는 경우가 꽤 많이 보였는데 그 디자인도 만들어 보도록 하겠습니다.

    c = thisComp.layer("bar 2");
    px = c.sourceRectAtTime().left;
    py = c.sourceRectAtTime().top;
    py2 = c.sourceRectAtTime().height/2;

    [px - 60, py + py2]

    Position에 위와 같이 표현식을 적어주면 자막바의 왼쪽 끝부분에 따라다니게 됩니다.

     

     

    4. 자막바 왼쪽 정렬

    자막을 넣다보면 왼쪽 아래에 넣어야 할 때가 있을 것 같은데 이 경우에도 하나의 표현식만 더 작성해주면 해결됩니다.

    자막바의 Position 위치에 표현식을 추가해주시고 텍스트도 왼쪽 정렬로 바꿔주시면 되요.

    s = thisComp.layer("text");
    w = s.sourceRectAtTime().width/2;
    h = s.sourceRectAtTime().height/2;
    l = s.sourceRectAtTime().left;
    t = s.sourceRectAtTime().top;

    [w+l, h+t]

     

    도형 크기를 자동으로 바꾸는 이 표현식을 이해하고 활용하면

    자막바 외에도 모션그래픽 등의 작업을 하는 경우에도 유용하게 쓸 수 있습니다.

Designed by Tistory.