Aegisub/메뉴얼
1. 개요
아래에 소개된 태그와 스크립트들은 xy-filters를 필요로 하거나, 설명하기에 너무 복잡한 내용들은 제외되어 있다. 더 많은 정보는 아래 Aegisub 공식 메뉴얼이나 포럼을 참고하자
Aegisub 공식 메뉴얼(영어)
Aegisub 스크립트는 기본적으로 다음과 같은 구조를 지닌다
속성 안에는 내용에 적용될 태그들이 들어가게 되는데, 가령
라고 쓰게 되면 Hello, World라는 텍스트를 \\fs30의 효과(폰트 크기를 30pp로 설정)를 받게 출력하는 식이다.
1.1. 특수문자
스크립트의 '''내용'''부분에 쓰면 특정한 효력을 발휘하게 되는 문자들이다.
1.2. 태그 목록
- 이텔릭
\\i1 : 기울임 활성화
\\i0 : 기울임 비활성화
예시)
\\i0 : 기울임 비활성화
예시)
- 볼드
\\b1 : 볼드체 활성화
\\b0 : 볼드체 비활성화
예시)
\\b0 : 볼드체 비활성화
예시)
- 밑줄
\\u1 : 밑줄 활성화
\\u0 : 밑줄 비활성화
예시)
\\u0 : 밑줄 비활성화
예시)
- 취소선 (strike out)
\\s1 : 취소선 활성화
\\s0 : 취소선 비활성화
예시)
\\s0 : 취소선 비활성화
예시)
- 테두리 크기
\\bord<사이즈>
예시)
예시)
- 그림자 크기
\\shad<깊이>
예시)
예시)
- 테두리 블러 (blur edge)
\\be<강도>
\\blur<강도>
테두리(border)와 그림자가 있을 때에는 테두리나 그림자를 흐리게 하지만 테두리나 그림자가 없을 땐 메인 텍스트를 흐리게 한다.
이 태그의 주 용도는 화면에 떠있는 글씨를 이식할 때, 텍스트의 border의 색을 배경색과 같이 맞춘 후에 border의 크기를 키워서 덮은 후, blur값을 키워서 배경과 조화를 맞추는 식으로 자주 활용하게 된다. (차후 설명)
이 둘의 차이점이라면 blur은 점점 번져나가서 전체적인 크기가 커지지만, be는 형태는 유지한 채로 흐리게 한다. 그리고 blur, be 모두 border값이 있다면 border만 흐리게 하고 border값이 없을 때 글씨를 흐리게 한다.
참고로 강도가 높고 글씨가 커지면 재생시 컴퓨터에 큰 부하를 주게 된다.
예시)
\\blur<강도>
테두리(border)와 그림자가 있을 때에는 테두리나 그림자를 흐리게 하지만 테두리나 그림자가 없을 땐 메인 텍스트를 흐리게 한다.
이 태그의 주 용도는 화면에 떠있는 글씨를 이식할 때, 텍스트의 border의 색을 배경색과 같이 맞춘 후에 border의 크기를 키워서 덮은 후, blur값을 키워서 배경과 조화를 맞추는 식으로 자주 활용하게 된다. (차후 설명)
이 둘의 차이점이라면 blur은 점점 번져나가서 전체적인 크기가 커지지만, be는 형태는 유지한 채로 흐리게 한다. 그리고 blur, be 모두 border값이 있다면 border만 흐리게 하고 border값이 없을 때 글씨를 흐리게 한다.
참고로 강도가 높고 글씨가 커지면 재생시 컴퓨터에 큰 부하를 주게 된다.
예시)
- bord값이 있을 때 be
- bord값이 없을 때 be
- blur
- be와 blur의 차이
- 글씨체 (font name)
\\fn<폰트이름>
스타일 매니저를 사용하지 않고 스크립트 내에서 자체적으로 폰트를 설정 할 수 있는 태그
다만 어지간히 특수한 대사(등장빈도가 매우 낮다던가)가 아니라면 사용하지 않는게 좋다. 일일히 써주는게 귀찮은것고 있지만, Aegisub 자막은 폰트와 씨름할 일이 잦기 때문에 나중에 완성하고 나서 폰트를 수정하고 싶어진다던가 할 때 fn으로 지정한 스크립트가 많으면 뒤집어진다.
예시)
스타일 매니저를 사용하지 않고 스크립트 내에서 자체적으로 폰트를 설정 할 수 있는 태그
다만 어지간히 특수한 대사(등장빈도가 매우 낮다던가)가 아니라면 사용하지 않는게 좋다. 일일히 써주는게 귀찮은것고 있지만, Aegisub 자막은 폰트와 씨름할 일이 잦기 때문에 나중에 완성하고 나서 폰트를 수정하고 싶어진다던가 할 때 fn으로 지정한 스크립트가 많으면 뒤집어진다.
예시)
- 글씨 크기 (font size)
\\fs<폰트크기>
위에 글씨체에서도 말했지만, 웬만하면 스타일 매니저로 지정하는것이 좋다.
예시)
위에 글씨체에서도 말했지만, 웬만하면 스타일 매니저로 지정하는것이 좋다.
예시)
- 글자 간격 (font spacing)
\\fsp<강도>
음수값을 크게 하면 글씨끼리 겹치게 할 수도 있다.
예시)
음수값을 크게 하면 글씨끼리 겹치게 할 수도 있다.
예시)
- 글자 각도 조절
\\frx<각도>
x축 각도 조절
\\fry<각도>
y축 각도 조절
\\frz[2]<각도>
z축 각도 조절
텍스트의 표시되는 각도를 조절할 수 있는데, Aegisub의 특기할만한 점으로 XYZ축 모두를 제어할 수 있다.
각도값은 -45같은 값에서부터 3600같은 값도 입력할 수 있는데, 이는 아래 소개할 \\t와 잘 연계되기 위함이다.
예시)
x축 각도 조절
\\fry<각도>
y축 각도 조절
\\frz[2]<각도>
z축 각도 조절
텍스트의 표시되는 각도를 조절할 수 있는데, Aegisub의 특기할만한 점으로 XYZ축 모두를 제어할 수 있다.
각도값은 -45같은 값에서부터 3600같은 값도 입력할 수 있는데, 이는 아래 소개할 \\t와 잘 연계되기 위함이다.
예시)
- 글자 x축 y축 길이 조정.
\\fscx<각도>
x축 길이 조정
\\fscy<각도>
y축 길이 조정
글씨를 좌우나 상하로 늘릴 때 쓴다. 영상을 보여주는 창의 왼쪽에 붙어있는 scale 아이콘을 눌러 GUI로 사용할 수 있다.
x축 길이 조정
\\fscy<각도>
y축 길이 조정
글씨를 좌우나 상하로 늘릴 때 쓴다. 영상을 보여주는 창의 왼쪽에 붙어있는 scale 아이콘을 눌러 GUI로 사용할 수 있다.
- 색 지정
\\c&H &
\1c&H &
활성색 지정
\2c&H &
비활성색 지정
이 색은 가라오케를 찍을 때, 비활성화 된 글자들을 나타낼 때 쓰인다
\3c&H &
테두리(border)색 지정
\4c&H &
그림자(shadow)색 지정
Aegisub에서 쓰이는 색깔코드는 html에 쓰이는 색깔코드와 순서가 반대다. html은 R-G-B순서지만 ASS는 B-G-R
이러한 색상들은 아래 버튼들로 색을 지정할 수 있다.
\1c&H
활성색 지정
\2c&H
비활성색 지정
이 색은 가라오케를 찍을 때, 비활성화 된 글자들을 나타낼 때 쓰인다
\3c&H
테두리(border)색 지정
\4c&H
그림자(shadow)색 지정
Aegisub에서 쓰이는 색깔코드는 html에 쓰이는 색깔코드와 순서가 반대다. html은 R-G-B순서지만 ASS는 B-G-R
이러한 색상들은 아래 버튼들로 색을 지정할 수 있다.
- 투명값(알파값) 지정
택스트의 투명값(알파값)을 지정한다.
\1a&H
활성색의 알파값 지정
\2a&H
비활성색의 알파값 지정
\3a&H
배경색의 알파값 지정
\4a&H
그림자색의 알파값 지정
\\alpha&H
모든 알파값을 한번에 지정
\1a&H
활성색의 알파값 지정
\2a&H
비활성색의 알파값 지정
\3a&H
배경색의 알파값 지정
\4a&H
그림자색의 알파값 지정
\\alpha&H
모든 알파값을 한번에 지정
- 페이드인/아웃
\\fad(t1,t2)
여기서 t1은 "싱크 시작 시간 기준-t1" 페이드인 시간을 설정할 수 있으며, t2는 "싱크 종료 시간 기준-t2" 페이드아웃 시간을 설정할 수 있다. t는 ms기준이다. (1000ms=1s)
예시) (싱크 시작 시간 00:01:000 / 싱크 종료 시간 00:05:000 기준)
{\\fad(0,500)} 0.5초 동안 페이드아웃 된다.
자막은 영상 1초에 표시가 되며 페이드인 시간을 0으로 설정했기에 페이드인 없이 바로 나타난다. 영상 00:04:500 가 되면 페이드아웃이 시작되어 00:05:000 에 페이드아웃이 완료되어 자막이 보이지 않게 된다.
단점은 t1+t2 합쳐서 4000ms(4초)밖에 쓸 수 없다는 점이다.
이 외에도 \\fade(a1,a2,a3,t1,t2,t3,t4)라는 태그가 있긴 하나 복잡하기 때문에 잘 쓰지 않는 것 같기도 하고 애초에 위에 서술된 알파+16진수와 \\t태그를 활용하는 게 더 쉽기 때문에 안 쓰는 것 같기도 하다.
여기서 t1은 "싱크 시작 시간 기준-t1" 페이드인 시간을 설정할 수 있으며, t2는 "싱크 종료 시간 기준-t2" 페이드아웃 시간을 설정할 수 있다. t는 ms기준이다. (1000ms=1s)
예시) (싱크 시작 시간 00:01:000 / 싱크 종료 시간 00:05:000 기준)
{\\fad(0,500)} 0.5초 동안 페이드아웃 된다.
자막은 영상 1초에 표시가 되며 페이드인 시간을 0으로 설정했기에 페이드인 없이 바로 나타난다. 영상 00:04:500 가 되면 페이드아웃이 시작되어 00:05:000 에 페이드아웃이 완료되어 자막이 보이지 않게 된다.
단점은 t1+t2 합쳐서 4000ms(4초)밖에 쓸 수 없다는 점이다.
이 외에도 \\fade(a1,a2,a3,t1,t2,t3,t4)라는 태그가 있긴 하나 복잡하기 때문에 잘 쓰지 않는 것 같기도 하고 애초에 위에 서술된 알파+16진수와 \\t태그를 활용하는 게 더 쉽기 때문에 안 쓰는 것 같기도 하다.
- 줄 배열
\\an
(격투게임이나 숫자패드를 생각하면 쉽다.)
줄이 어느 위치에 배열될지를 결정한다. 기본 설정은 스타일 매니저의 align을 따라간다. 따라서 이 태그를 자주 써야 할 때는 스타일 매니저에서 지정해서 운용하면 좋다.
사용법은 화면에 나타나는 글자들은 구분을 위해 따로 상단 중앙에 표시한다던가, 노래 가사를 쓸 때 로마자/번역본을 나누어 표시할 때에 쓰인다.
이 태그의 중요한 특징 중 하나로 정렬 설정을 변경하면 앵커포인트(배치점)도 움직이기 때문에 포지션(pos)를 깔끔하게 할 때 필수적으로 쓰인다.
1: 하단 좌측
2: 하단 중앙
3: 하단 우측
2: 하단 중앙
3: 하단 우측
4: 중간 좌측
5: 중간 중앙
6: 중간 우측
5: 중간 중앙
6: 중간 우측
7: 상단 좌측
8: 상단 중앙
9: 상단 우측
8: 상단 중앙
9: 상단 우측
(격투게임이나 숫자패드를 생각하면 쉽다.)
줄이 어느 위치에 배열될지를 결정한다. 기본 설정은 스타일 매니저의 align을 따라간다. 따라서 이 태그를 자주 써야 할 때는 스타일 매니저에서 지정해서 운용하면 좋다.
사용법은 화면에 나타나는 글자들은 구분을 위해 따로 상단 중앙에 표시한다던가, 노래 가사를 쓸 때 로마자/번역본을 나누어 표시할 때에 쓰인다.
이 태그의 중요한 특징 중 하나로 정렬 설정을 변경하면 앵커포인트(배치점)도 움직이기 때문에 포지션(pos)를 깔끔하게 할 때 필수적으로 쓰인다.
- 위치 지정
\\pos(x,y)
위에 서술된 \\an 외에도 좌표를 직접 지정해 자막을 원하는 위치에 나오게 할 수 있다.
참고로 pos 태그는 t 태그를 먹지 않는다. 만약 지정된 시간 내에 움직이게 하고 싶다면 아래 move 태그를 이용해야 한다.
위에 서술된 \\an
참고로 pos 태그는 t 태그를 먹지 않는다. 만약 지정된 시간 내에 움직이게 하고 싶다면 아래 move 태그를 이용해야 한다.
- 위치 이동
\\move(,,, )
\\move(,,,,, )
자막을 이동시킬 수 있는 태그이다.
기본적으로 (x1,y1)지점에서 (x2,y2)지점으로 이동시키며,과 를 지정해주면 ms~ms 범위 내에서 움직인다.
예시) \\move(111,111,222,222,5000) 111에서 222로 5초 동안 이동합니다.
\\move(
자막을 이동시킬 수 있는 태그이다.
기본적으로 (x1,y1)지점에서 (x2,y2)지점으로 이동시키며,
예시) \\move(111,111,222,222,5000) 111에서 222로 5초 동안 이동합니다.
- 중심점 지정
\\org(x,y)
필요 없을 거라고 생각할지도 모르겠지만 상당히 유용하게 쓰이는 태그이다.
\\t 태그를 쓰게 될 때 쓰게 될 것이다.(물론 안 쓰는 경우가 더 많긴 하지만.)
활용법은 \\frz와 \\t를 활용하며 "크게 회전 시키고 싶다"를 표현하고 싶다면
\\org로 중심점을 잡아주고 \\frz0(\\t(0,5000,\\frz360)를 써보면 된다.
아니면 문장 중심에 중심점을 지정해두고 하면 위치를 최대한 벗어나지 않고 제자리에서 회전하는 것을 표현할 수 있다.
필요 없을 거라고 생각할지도 모르겠지만 상당히 유용하게 쓰이는 태그이다.
\\t 태그를 쓰게 될 때 쓰게 될 것이다.(물론 안 쓰는 경우가 더 많긴 하지만.)
활용법은 \\frz와 \\t를 활용하며 "크게 회전 시키고 싶다"를 표현하고 싶다면
\\org로 중심점을 잡아주고 \\frz0(\\t(0,5000,\\frz360)를 써보면 된다.
아니면 문장 중심에 중심점을 지정해두고 하면 위치를 최대한 벗어나지 않고 제자리에서 회전하는 것을 표현할 수 있다.
- 영역 지정
\\clip
포토샵을 사용해본 사람이라면 마스크 기능을 떠올리면 된다.
자신이 원하는 곳만 보여주게 할 수가 있다.
\\iclip
위 \\clip은 '지정한 곳'을 보여줬다면 이 \\iclip은 지정하지 않는 곳을 보여준다.
쉽게 말하자면 clip의 반전 형태.
포토샵을 사용해본 사람이라면 마스크 기능을 떠올리면 된다.
자신이 원하는 곳만 보여주게 할 수가 있다.
\\iclip
위 \\clip은 '지정한 곳'을 보여줬다면 이 \\iclip은 지정하지 않는 곳을 보여준다.
쉽게 말하자면 clip의 반전 형태.
- 글씨체 크기 조절
\\fs&숫자
당연하지만, 왠만하면 스타일 편집으로 수정하는 편이 낫다. 이 태그의 용도는 어디까지나 시간 태그와 섞어 연출하기 위한 것이다.
당연하지만, 왠만하면 스타일 편집으로 수정하는 편이 낫다. 이 태그의 용도는 어디까지나 시간 태그와 섞어 연출하기 위한 것이다.
- 흐리기 태그
- 둥글게 하기
\\be&숫자으로 외곽선의 각을 둥글게 정리해준다. 명색히 blur지만 투명도를 건드리진 않으니 요주의
- 섞기
\\blur&숫자으로 외곽선을 배경과 섞는다. 이걸 응용하면 애니메이션 속 입간판이나 메뉴들도 수정이 가능하다.
다만 그럴거면 그냥 캡쳐-포토샵 수정 후 이미지 붙이기가 여러모로 낫다는게...
다만 그럴거면 그냥 캡쳐-포토샵 수정 후 이미지 붙이기가 여러모로 낫다는게...
- 시간 태그
\\tags(t1,t2,n1,tags)의 형태로 쓰이며 t1부터 t2까지 tags를 n1만큼 적용시키라는 의미를 가지고 있다. t의 기준은 ms이다.
n1은 쉽게 말해 가속도를 생각하면 된다. 1이 기준이며 1보다 낮을 경우 빨라졌다가 느려진다(굳이 2 이상 숫자를 쓸 이유가 없을 듯하다).
t 태그에는 적용되지 않는 것들이 있는데 대표적으로 \\an, \\pos, \\clip, \\iclip(둘 다 백터값으로 사용된)이다.
n1은 쉽게 말해 가속도를 생각하면 된다. 1이 기준이며 1보다 낮을 경우 빨라졌다가 느려진다(굳이 2 이상 숫자를 쓸 이유가 없을 듯하다).
t 태그에는 적용되지 않는 것들이 있는데 대표적으로 \\an, \\pos, \\clip, \\iclip(둘 다 백터값으로 사용된)이다.
- 알파태그
\\alpha&H&aa의 형태로 쓰이며 자막의 투명도를 조절한다.
\\1a,\\2a,\\3a,\\4a라는 세부 태그로 메인 색상/하이라이트/외곽선/그림자의 투명도를 개별적으로 조절할 수 있다.
\\1a,\\2a,\\3a,\\4a라는 세부 태그로 메인 색상/하이라이트/외곽선/그림자의 투명도를 개별적으로 조절할 수 있다.
- 그리기 태그
그림도 그릴 수 있다! ...라고는 하지만 그렇게 쉽지는 않다. 그림이라는게 비트맵이 아닌 벡터 이미지이기 때문. 색상이 없는 도형을 만들 수 있는데 캐드를 연상하면 된다.
\\p<0/1/..>
\\p1 이 기본이며 숫자가 올라감에 따라 점점 작아진다. 홈페이지 메뉴얼에는 \\p0 은 이미지를 그리지 않는다고 하는데(Disables drawing) 이미지를 그리지 않을 뿐 아니라 코드가 그대로 드러나기 때문에 쓸모가 없다.
\\p<0/1/..>
\\p1 이 기본이며 숫자가 올라감에 따라 점점 작아진다. 홈페이지 메뉴얼에는 \\p0 은 이미지를 그리지 않는다고 하는데(Disables drawing) 이미지를 그리지 않을 뿐 아니라 코드가 그대로 드러나기 때문에 쓸모가 없다.
- Aegisub 프로그램 메뉴 중에 잘 찾아보면 히이라기 츠카사 아이콘이 있는데 그걸 클릭하면 ASS DRAW로 이동되며 그림을 그릴 수 있다. 따라 그리고 싶은 이미지가 있다면 Print Screen 키 등으로 캡처 후 ASS DRAW 내에 Ctrl + V(붙여넣기)를 하면 ASS DRAW 내에 캡처된 화면을 띄울 수 있으니 따라서 그려주기만 한다면 애니메이션에 나오는 간단한 로고는 그릴 수 있을 것이다.
- 이미지 작업 중 ASS DRAW 하단의 Drawing commands 항목에
등의 형태로 코드가 실시간으로 생성된다. 작업 완료 후 해당 코드를 복사하여 Aegisub 에 {\\p1}m 0 0 의 형태로 입력해주면 완료m 0 0