AniPanic.ru

Теги ASS

Aegisub-logo
Здесь представлены все теги, определенные форматом Advanced SubStation Alpha.

Специальные символы

Следующие теги не следует заключать в фигурные скобки {}.

Мягкий перенос строки

\n

\n осуществляет мягкий перенос строки. Учитывается только при использовании стиля переносов 2 (см. \q). При использовании любого другого стиля переносов заменятся на пробел. Если вы не можете выбрать между \n и \N, то вам, скорее всего, нужен \N.

Принудительный перенос строки

\N

\N осуществляет принудительный перенос строки. Не зависит от стиля переносов.

Неразрывный пробел

\h

\h вставляет неразрывный пробел. Перед таким пробелом и после него строка не будет переноситься при автоматическом делении. Этот пробел также учитывается, когда стоит в начале или в конце строки.

Теги

Следующие теги требуется заключать в фигурные скобки {}. Текст внутри скобок, который не был распознан как тег, будет проигнорирован, таким образом можно оставлять комментарии, не создавая для этого отдельную строку. Не рекомендуется задавать теги и оставлять комментарии внутри одной и той же пары скобок.
Теги делятся на две группы: те, что воздействуют на саму строку, и те, которые воздействуют на текст строки. \pos, \move, \org, \fad, \fade, \clip и \iclip относятся к первой, все остальные – ко второй. Теги из первой группы не могут быть использованы в строке больше одного раза. Более того, некоторые из них несовместимы друг с другом: \pos и \move, \clip и \iclip, \fad и \fade. При наличии в строке более одного тега из этой группы или несовместимых тегов обработчики субтитров ведут себя по-разному, поэтому так делать не рекомендуется.
Теги из второй группы воздействуют на текст, находящийся после них вплоть до конца строки или до переопределения этого свойства другим тегом.
Синтаксис любого тега удовлетворяет шаблону \<название><параметр> или \<название>(<параметр1>,<параметр2>,…), если требуется более одного параметра. Если параметр опущен, соответствующее значение берется из стиля строки.
Примечание: все, что далее будет заключено в угловые скобки <>, при использовании требуется заменить на числа или теги. Сами скобки при этом удаляются.

Курсив

\i1
\i0

После \i1 текст приобретает курсивное начертание, а после \i0 – нормальное.

Насыщенность

\b1
\b0
\b<насыщенность>

После \b1 текст приобретает полужирное начертание, а после \b0 – нормальное.
\b<насыщенность> позволяет задавать насыщенность вручную от 100 до 900 с шагов в 100. Однако подавляющая часть шрифтов имеет лишь одно или два значения насыщенности, из-за чего использование \b<насыщенность> теряет смысл.

Примеры

Нам {\b1}очень{\b0} интересно.Слово “очень” будет написано полужирным шрифтом.
{\b100}Насколько {\b300}насыщенным {\b500}может {\b700}быть {\b900}текст?Шрифт каждого последующего слова должен быть насыщеннее предыдущего, однако при использовании большинства шрифтов первая половина фразы будет иметь обычное начертание, а вторая – полужирное.

Подчеркивание

\u1
\u0

После \u1 текст становится подчеркнутым, а после \u0 – обычным.

Зачеркивание

\s1
\s0

После \s1 текст становится зачеркнутым, а после \s0 – обычным.

Толщина контура

\bord<толщина>

Изменяет толщину контура текста. Она может быть как целой, так и дробной, но не отрицательной. Значение 0 отключает контур.
Если в свойствах скрипта отмечено “Подгонять контур и тень”, то толщина будет указываться в пикселях разрешения скрипта, в противном случае – в пикселях разрешения видео, тогда толщина контура будет зависеть от разрешения видео, на которое накладываются субтитры.

Примеры

\bord0Убирает контур.
\bord3.7Устанавливает толщину контура равной 3,7 пикселям.

Толщина контура (расширенный)

\xbord<толщина>
\ybord<толщина>

Изменяет толщину контура отдельно по осям X (\xbord) и Y (\ybord). <толщина> может быть как целой, так и дробной, но не отрицательной. Значение 0 отключает контур.
Эти теги могут понадобиться при использовании анаморфированного видео.
Имейте в виду, что \xbord и (или) \ybord, использованные после \bord, не будут приниматься во внимание.

Расстояние до тени

\shad<расстояние>

Задает расстояние между текстом и его тенью. Оно может быть как целым, так и дробным, но не отрицательным. Значение 0 отключает тень.
Свойство “Подгонять контур и тень” учитывается (см. \bord).

Расстояние до тени (расширенный)

\xshad<расстояние>
\yshad<расстояние>

Задает расстояние до тени отдельно по осям X (\xshad) и Y (\yshad). Оно может быть целым, дробным или отрицательным, в отличие от \shad. Тень будет отключена только если расстояния по обеим осям будут равны 0.

Размытие краев

\be0
\be1
\be<множитель>

Накладывает эффект размытия краев на текст, благодаря чему последний может выглядеть лучше. Множитель может быть дробным. Как правило, эффект лучше заметен при малых размерах шрифта.
Имейте в виду, что \be размывает именно края текста – если у него есть контур, то он и будет размыт, если его нет, то будет размыт сам текст.
Множитель указывает, сколько раз применить эффект \be1. Большие множители попросту убирают контур (или сам текст, если контур отсутствует), что сводит эффект на нет, поэтому для сильного размытия лучше использовать \blur.

Размытие краев (метод Гаусса)

\blur<множитель>

То же самое, что \be, однако используется фильтр Гаусса, благодаря которому размытие выглядит лучше при больших множителях. Множитель 0 отключает размытие. Имейте в виду, что на расчет сильного размытия может понадобиться много времени ЦП.

Шрифт

\fn<название>

Задает шрифт текста после него. Между \fn и названием шрифта не должно быть пробела, также название не следует брать в скобки.

Примеры

\fnArialТекст осле этого тега будет выводиться шрифтом Arial.
\fnTimes New RomanА после этого – шрифтом Times New Roman.

Размер шрифта

\fs<размер>

Задает размер шрифта. Размер указывается в пикселях разрешения скрипта и может быть дробным. (Примечание: размер в пикселях не отличается от типографских пунктов, т.к. отрисовка осуществляется при 72 DPI)

Пример

\fs10Текст после этого шрифта будет иметь размер 10 пикселей.

Масштаб шрифта

\fscx<масштаб>
\fscy<масштаб>

Позволяет изменять размер текста по осям Х (\fscx) и Y (\fscy). Масштаб указывается в процентах, 100% – первоначальный масштаб.
Этот тег отличается от \fs тем, что масштаб применяется после хинтинга, поэтому с \t следует использовать именно его, а не \fs.
Также этот тег может использоваться для компенсации анаморфированности видео.
Масштаб применим к векторному рисованию.
Имейте в виду, что старые версии VSFiler отбрасывают дробную часть масштаба.

Примеры

\fscx150После этого тега текст станет на 50% шире.
\fscy50После этого – будет иметь на 50% меньшую высоту.
\fscx200\fscy200А после этого размер текста увеличится в 2 раза.

Расстояние между символами

\fsp<расстояние>

Задает расстояние между отдельными символами, что позволяет растянуть текст. Расстояние указывается в пикселях разрешения скрипта и может принимать как дробные, так и отрицательные значения.

Вращение

\frx<угол>
\fry<угол>
\frz<угол>
\fr<угол>

Задает вращение по осям X (\frx), Y (\fry) и Z (\frz или \fr) в градусах. \fr – сокращение \frz. Угол может быть дробным, отрицательным и может превышать 360° или быть меньше -360° (такие углы приводятся к диапазону от -360° до 360° при отрисовке). Вращение происходит вокруг точки вращения (см. \org).

  • Ось Х проходит горизонтально в плоскости экрана. Вращение вокруг этой оси (здесь и далее в диапазоне 0-90° при установленной по центру точке вращения) верх текста удаляет от смотрящего, а низ – приближает.
  • Ось Y проходит вертикально в плоскости экрана. Вращение вокруг этой оси левую часть текста приближает к смотрящему, а правую – удаляет.
  • Ось Z проходит перпендикулярно плоскости экрана. Вращение вокруг этой оси вращает текст в плоскости экрана против часовой стрелки.

Вращение применимо к векторному рисованию.

Примеры

\frx45Текст будет повернут на 45° вокруг оси X
\fry-45Текст будет повернут на 45° в обратном направлении вокруг оси Y
\frz180Текст будет повернут на 180° вокруг оси Z (в плоскости экрана), и таким образом перевернут.
\frz-30
<\frz330>
Оба тега одинаково повернут текст, т.к. поворот на 330° в одном направлении идентичен повороту на 30° в противоположном.
\t(\frz3600)Строка сделает 10 полных оборотов против часовой стрелки в плоскости экрана во время отображения.
Снимок экрана ниже иллюстрирует эффект поворота вокруг каждой из осей:

Искажение

\fax<коэффициент>
\fay<коэффициент>

Применяет к тексту искажение перспективы. Коэффициент 0 отключает искажение.
Коэффициент, как правило, небольшое число; в большинстве случаев коэффициенты больше 2 и меньше -2 приводят к слишком сильным искажениям. Искажение применяется после вращения, при этом используется повернутая система координат. Точка вращения (см. \org) не учитывается.

Примеры

Кодировка

\fe<ID>

Позволяет выбрать, какую кодовую страницу использовать для сопоставления кодов Юникода символам шрифта. Данный тег может понадобиться для корректного отображения текста с использованием шрифта, не имеющего таблицы сопоставления кодам Юникода. К примеру, для выбора начертания иероглифов, которое отличается в упрощенном и традиционном китайском, корейском и японском языках.
Наиболее часто используемые ID:

  • 0 – ANSI, кодовая страница 1251 в русскоязычных версиях MS Windows;
  • 1 – По умолчанию, зависит от настроек системы пользователя, но также позволяет подсистеме вывода текста в некоторых случаях использовать другую кодовую страницу;
  • 2 – Символ, коды с 0 по 255 сопоставляются специальным символам шрифта, обычно используется для таких шрифтов, как Windings;
  • 128 – Shift-JIS, японский язык;
  • 129 и 130 – Хангыль и JOHAB соответственно, корейский язык;
  • 134 – GB2312, упрощенный китайский язык;
  • 136 – BIG5, традиционный китайский язык;
  • 162 – турецкий язык;
  • 163 – вьетнамский язык;
  • 177 – иврит;
  • 178 – арабский язык.

Более полный список можно увидеть при выборе кодировки в окне редактора стиля.
В файлах .ass, сохраненных в кодировке, отличной от Юникода, этот тег также определяет, какую кодировку использовать для следующего за ним текста. Aegisub, как и некоторые обработчики субтитров, не поддерживает это, поэтому рекомендуется сохранять скрипт в Юникоде (Aegisub по умолчанию сохраняет в UTF-8).

Цвет

\c&H<bb><gg><rr>&
\1c&H<bb><gg><rr>&
\2c&H<bb><gg><rr>&
\3c&H<bb><gg><rr>&
\4c&H<bb><gg><rr>&

Задает цвет следующего за тегом текста. \c – сокращение \1c.

  • \1c или \c задает основной цвет;
  • \2c задает вспомогательный цвет. Он используется только для неподсвеченного текста караоке;
  • \3c задает цвет контура;
  • \4с задает цвет тени.

Цвета записываются в шестнадцатеричном виде в формате BGR (синий-зеленый-красный). Обратите внимание, что в HTML цвета записываются в обратном порядке. Цвет всегда должен начинаться с &H и заканчиваться &.
Для изменения цвета может использовать панель инструментов “Выбор цвета” .

Прозрачность

\alpha&H<прозрачность>
\1a&H<прозрачность>
\2a&H<прозрачность>
\3a&H<прозрачность>
\4a&H<прозрачность>

Задает прозрачность цвета.

  • \alpha задает прозрачность всех цветов одновременно;
  • \1а задает прозрачность основного цвета;
  • \2а задает прозрачность вспомогательного цвета;
  • \3а задает прозрачность цвета контура;
  • \4а задает прозрачность цвета тени.

Прозрачность задается в шестнадцатеричном виде в диапазоне 00-FF (0-255 в десятичной системе), где 0 соответствует непрозрачному цвету (полностью видимому), а FF (255) – прозрачному (полностью невидимому).

Примеры

\alpha&H80&Устанавливает прозрачность всех цветов равной 80 в шестнадцатеричной системе счисления (128 в десятеричной), что делает текст полупрозрачным.
\1a&HFF&Устанавливает прозрачность основного цвета равной 0xFF, что делает его невидимым; остальные цвета остаются без изменений.

Выравнивание

\an<выравнивание>

Задает выравнивание строки. Оно определяет позицию строки в кадре при отсутствии позиционирования вручную (см. \pos) и движения (см. \move), а также расположение точек позиционирования и вращения.
Данный тег выравнивает строку согласно расположению цифр на цифровом блоке клавиатуры, т.е.:

  • 1 – слева внизу;
  • 2 – по центру внизу;
  • 3 – справа внизу;
  • 4 – слева по центру;
  • 5 – по центру;
  • 6 – справа по центру;
  • 7 – слева вверху;
  • 8 – по центру вверху;
  • 9 – справа вверху.

Положение точки позиционирования относительно текста соответствует выравниванию строки в кадре, т.е. при выравнивании по центру она будет находиться по центру текста, а при выравнивании по левому нижнему краю – ниже и левее текста.

Выравнивание (устаревшее)

\a<выравнивание>

Задает выравнивание строки и расположение точек позиционирования и вращения аналогично \an, используя старые обозначения из SubStation Alpha. Использование этого тега нежелательно, вместо него рекомендуется \an как более интуитивный.
Выравнивание вычисляется как сумма положения по горизонтали, где выравнивание по левому краю равно 1, по центру – 2, а по правому – 3, и положения по вертикали, где выравнивание по нижнему краю равно 0, по верхнему – 4, а по центру – 8. Таким образом:

  • 1 – слева внизу;
  • 2 – по центру внизу;
  • 3 – справа внизу;
  • 5 – слева вверху;
  • 6 – по центру вверху;
  • 7 – справа вверху;
  • 9 – слева по центру;
  • 10 – по центру;
  • 11 – справа по центру.

Караоке

\k<длительность>
\K<длительность>
\kf<длительность>
\ko<длительность>

Данные теги позволяют разметить строку для наложения эффекта караоке, указывая время, за которые произносится каждая часть строки. Количество тегов караоке в строке определяется количеством частей. Длительность указывается в сантисекундах (1 сс = 10 мс = 1/100 с) для той части текста после тега. Как правило, для задания длительности используются инструменты тайминга, такие как режим караоке в окне аудио.
Теги караоке:

  • \k – до подсвечивания текст части имеет вспомогательный цвет; как только часть начинается цвет сразу же меняется на основный;
  • \K и \kf – до подсвечивания текст части имеет вспомогательный цвет; на протяжении части текст слева направо постепенно менять цвет на основной, таким образом в конце части весь текст имеет основной цвет;
  • \k – такой же, как и \k, за исключением отсутствия контура до подсвечивания, который появляется одновременно с изменением цвета.

Имейте в виду, что теги выше накладывают весьма специфические эффекты, все остальные достигаются путем сочетания других тегов с тегами караоке.
Также существует тег \kt, но он не распространен и Aegisub его не поддерживает.

Стиль переносов

\q<стиль>

Определяет, как текст будет делиться на строки при отображении. Доступны следующие стили:

  • 0 – Аккуратное деление, строки по возможности одинаковой длины; нижняя строка не может быть шире верхней; учитывается только \N;
  • 1 – Деление по достижении максимальной длины строки; учитывается только \N;
  • 2 – Без деления, часть строки может выйти за пределы кадра; учитывается как \N, так и \n;
  • 3 – Аккуратное деление, такое же, как и 0, за исключением того, что верхняя строка не может быть шире нижней.

Возврат к настройкам стиля

\r
\r<стиль>

Возвращает параметры отображения следующего за ним текста к указанным в стиле. Сводит на нет эффект тегов, переопределяющих настройки стилей, в том числе \t.
\r<стиль> позволяет указать, параметры какого стиля использовать как эталонные.

Пример

– Привет!\N{\rAlternate}– Хай.\N{\r}– Как жизнь?Если Default выбран стилем строки, то первая реплика будет отображаться с настройками стиля Default, вторая – Alternate, а перед третьей настройки вернутся к стилю Default, поэтому она будет выглядеть так же, как первая.

Позиционирование

\pos(<x>,<y>)

Задает положение строки. Где x и y – координаты точки позиционирования по горизонтали и вертикали соответственно в пикселях разрешения скрипта относительно левого верхнего угла кадра. Координаты могут быть как дробными, так и отрицательными, и указываться на точку за пределами кадра. Подробнее про расположение точки позиционирования см. \an.
Если в строке встречается больше одного тега позиционирования, то восприниматься будет только первый из них, остальные будут проигнорированы.

Примеры

Снимок экрана ниже демонстрирует одновременную работу тегов \pos и \an. отмечает местоположение точки позиционирования:

Перемещение

\move(<x1>,<y1>,<x2>,<y2>)
\move(<x1>,<y1>,<x2>,<y2>,<t1>,<t2>)

Работает так же, как \pos, за исключением того, что строка перемещается во время отображения.
В первом варианте строка перемещается все отведенное ей время, тогда как пи использовании второго варианта задается промежуток времени, за который нужно переместить строку, где t1 и t2 – начало и конец этого промежутка в миллисекундах относительно начала строки, таким образом:

  • с появления строки t1 миллисекунд строка находится в точке x1,y1;
  • в промежутке между t1 и t2 строка равномерно прямолинейно перемещается из точки x1,y1 в точку x2,y2;
  • после t2 и до исчезновения строка находится в точке x2,y2.

Следует отметить, что моменты времени, задаваемые t1 и t2, могут не принадлежать временному промежутку, определенному для строки. Если задать t1 и t2 равными 0, то перемещение будет выполняться все отведенное строке время, как в первом варианте тега.
Ограничения:
Возможно только равномерное прямолинейное перемещение, т.е. строка не может двигаться не по прямой и (или) с непостоянной скоростью.
Если в строке встречается больше одного тега позиционирования и (или) перемещения, то восприниматься будет только первый из них, остальные будут проигнорированы.
Чтобы обойти эти ограничения следует разделить строку на части по времени.

Примеры

\move(100,150,300,350)Строка появится в точке 100,150 и все время отображения будет равномерно двигаться к точке 300,350.
\move(100,150,300,350,500,1500)Строка появится в точке 100,150, через 0,5 с (500 мс) начнет двигаться к точке 350,500 и за 1,5 с до исчезания строки переместится к ней.

Точка вращения

\org(<x>,<y>)

Задает положение точки, вокруг которой будет осуществляться вращение строки. Где x и y – координаты точки по горизонтали и вертикали соответственно в пикселях разрешения скрипта относительно левого верхнего угла кадра. Координаты могут быть как дробными, так и отрицательными, и указывать на точку за пределами кадра.
При отсутствии \org положение точки вращения совпадает с положением точки позиционирования (см. \an). Если точка позиционирования перемещается, то точка вращения перемещается вместе с ней, однако нельзя динамически изменять (см. \t) положение заданной вручную точки вращения.
Если в трехмерной сцене поместить точку вращения в точку схода, то искажения при вращении текста будут соответствовать искажениям перспективы.
При помощи \org и \fr можно частично обойти ограничение \move на равномерность движения: если установить точку вращения достаточно далеко за пределы кадра, то поворот вокруг нее в плоскости экрана будет выглядеть как движение по прямой, а т.к. угол поворота можно изменять динамически, то можно и задать ускорение этого изменения.
При наличии в строке более одного тега \org восприниматься будет только первый, остальные будут проигнорированы.

Примеры

\org(320,240)Точка 320,240 становится точкой вращения.
\org(-100000,0)Размещение точки вращения далеко за пределами кадра позволяет перемещать строку путем небольшого вращения вокруг оси Z.

Постепенное появление и исчезание

\fad(<период появления>,<период исчезания>)

Накладывает эффекты появления и исчезания строки. Время, за которое строка должна появиться и исчезнуть, задается в миллисекундах относительно момента начала строки для появления и момента конца строки для исчезания. Задание периода равным 0 отключает соответствующий эффект.
Имейте в виду, что данные эффекты используют уже отведенное строке время, таким образом не изменяя продолжительность отображения, поэтому рекомендуется следить за тем, чтобы сумма периодов появления и исчезания не превышала длину строки во времени.

Пример

\fad(1200,2500)Строка будет появляться в течение 1,2 с, а исчезать – в течение 0,25 с.

Постепенное появление и исчезание (расширенный)

\fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)

Накладывает эффект появления и (или) исчезания, используя три значения прозрачности (a1, a2, a3) и четыре момента времени (t1, t2, t3, t4). Прозрачность задается десятичным числом от 0 до 255, где 0 соответствует непрозрачному тексту (полностью видимому), а 255 – прозрачному (полностью невидимому). Моменты времени задаются в миллисекундах от начала строки.
Эффект накладывается следующим образом:

  • с момента появления и до t1 текст имеет прозрачность a1;
  • между моментами t1 и t2 текст постепенно меняет прозрачность с a1 на a2;
  • между моментами t2 и t3 текст сохраняет прозрачность a2;
  • между моментами t3 и t4 текст постепенно меняет прозрачность с a2 на a3;
  • с момента t4 и до исчезания строки текст сохраняет прозрачность a3.

Пример

\fade(255,32,224,0,500,2000,2200)При появлении строка полностью прозрачна, за 0,5 с прозрачность снижается до 32 и сохраняется на этом уровне еще 1,5 с, а потом за 0,2 с возрастает до 224.

Динамическая трансформация

\t<модификаторы>
\t(<ускорение>,<модификаторы>)
\t(<t1>,<t2>,<модификаторы>)
\t(<t1>,<t2>,<ускорение>,<модификаторы>)

Данный тег осуществляет постепенное преобразование внешнего вида текста согласно модификаторам. Модификаторы представляют собой теги с аргументами, которые могут быть отличны от заданных до \t (как явно, так и неявно). Поддерживаемые теги: \bord, \xbord, \ybord, \shad, \xshad, \yshad, \be, \blur, \fs, \fscx, \fscy, \fsp, \frx, \fry, \frz, \fr, \fax, \fay, \c, \1c, \2c, \3c, \4c, \alpha, \1a, \2a, \3a, \4a, \clip, \iclip.
Примечание: версии \clip и \iclip с произвольной областью не поддерживаются.
Примечание: одновременное использование модификаторов \clip и \iclip может привести к нежелательным результатам.
Ускорение позволяет осуществить преобразование нелинейно: так, при значении от 0 до 1 преобразование вначале происходит быстро, но к концу замедляется, а при значениях больше 1 – наоборот. При ускорении, равном 1, преобразование будет выполняться линейно.
Моменты времени t1 и t2 задаются в миллисекундах от момента появления строки и позволяют указать промежуток времени, за который нужно осуществить преобразование, таким образом:

  • с момента появления строки и вплоть до момента t1 используются параметры тегов до \t;
  • между моментами t1 и t2 происходит преобразование;
  • с момента t2 и до исчезания строки к тегам до \t добавляются теги-модификаторы, причем последние имеют приоритет.

При отсутствии моментов времени преобразование будет выполняться на протяжении всего времени, отведенного строке.

Примеры

{\1c&HFF0000&\t(\1c&H0000FF&)}Привет!В момент появления строки текст имеет синий цвет, но на протяжении строки постепенно меняет его на красный.
{\an5\t(0,5000,\frz3600)}Да!Первые пять секунд с момента появления текст сделает 10 оборотов против часовой стрелки в плоскости экрана.
{\an5\t(0,5000,0.5,\frz3600)}Да!Аналогично предыдущему примеру, но вначале вращение будет происходить быстрее, а ближе к концу – медленнее.
{\an5\fscx0\fscy0\t(0,500,\fscx100\fscy100)}Да!Текст не будет виден при появлении, однако за 0,5 с с момента появления увеличится до нормального размера.

Вырезание (прямоугольная область)

\clip(<x1>,<y1>,<x2>,<y2>)
\iclip(<x1>,<y1>,<x2>,<y2>)

Задает прямоугольную область, внутри которой текст будет виден (\clip) или не виден (\iclip). Прямоугольная область задается как координаты верхнего левого и правого нижнего углов в пикселях разрешения скрипта относительно левого верхнего угла кадра.

Примеры

\clip(0,0,320,240)При разрешение скрипта 640х360 будет видна только та часть текста, которая находится в левой верхней четверти кадра.
\iclip(0,0,320,240)Текст в левой верхней четверти кадра виден не будет.
Так будет выглядеть \clip(0,0,640,184):

Вырезание (произвольная область)

\clip(<команды рисования>)
\clip(<масштаб>,<команды рисования>)
\iclip(<команды рисования>)
\iclip(<масштаб>,<команды рисования>)

Задает произвольную область, внутри которой текст будет виден (\clip) или не виден (\iclip). Команды рисования совпадают с теми, что используются внутри тега \p, однако доступны лишь m, l и b, координаты для них задаются в пикселях разрешения скрипта относительно левого верхнего угла кадра. При отсутствии явно заданного масштаба его значение принимается за 1, что означает соответствие координат команд рисования пикселям разрешения скрипта. (Подробнее про масштаб см. \p).
В отличие от вырезания прямоугольной области, вырезание произвольной области не может динамически трансформироваться (см. \t). Обойти это ограничение можно путем задания области отдельно для каждого кадра.

Пример

\clip(1,m 50 0 b 100 0 100 100 50 100 b 0 100 0 0 50 0)Текст будет виден только внутри нарисованного овала.

Теги рисования

Advanced SubStation Alpha также поддерживает несколько тегов векторной графики. Понимание векторов и сплайнов значительно облегчит их изучение.

Переключение режима рисования

\p0
\p1
\p<масштаб>

Позволяет включить или отключить режим рисования. Использование в качестве параметра 0 отключает режим рисования, а 1 и выше – включает, причем параметр также задает и масштаб по формуле 2масштаб‑1. Так, при 1 координаты при рисовании будут соответствовать пикселям разрешения скрипта, при 2 рисование будет производиться при двойном разрешении по вертикали и горизонтали, при 4 – при восьмикратном, таким образом позволяя рисовать с более высокой точностью, чем разрешение скрипта.

Смещение

\pbo<смещение>

Позволяет перемещать векторное рисование по оси Y. Смещение задается в пикселях разрешения рисования (см. \p). Оно может быть отрицательным, но не дробным. Имейте в виду, что в отличие от смещения вверх (отрицательное смещение), которое будет выполняться, начиная с -1, смещение вниз будет выполняться только когда параметр превысит высоту (по оси Y) фигуры, т.е. чтобы сместить вниз квадрат со стороной 100 на 10 пикселей вниз смещение нужно задать равным 110, причем к высоте фигуры масштаб рисования не применятся, т.е. даже если в кадре этот квадрат имеет сторону 50 пикселей.

Команды рисования

Следующие команды должны использоваться внутри тега \clip (произвольная область) или после \p с параметром, отличным от 0, причем они должны располагаться вне фигурных скобок {}. \clip ограничен командами m, l и b.
Команды рисования используют основной цвет для заливки и цвет контура – для контура. Нарисованный фигуры также отбрасывают тень.
Все команды выполняются из точки, в которую курсор был перемещен предыдущей командой.
Координаты команд задаются в пикселях разрешения скрипта в масштабе (см. \p) и могут быть как дробными, так и отрицательными. Обратите внимание, что в подавляющем большинстве случаев точка 0,0 не будет совпадать с точкой позиционирования; точка позиционирования будет лежать согласно выравниванию (см. \an) на сторонах (углах) прямоугольника с наименьшей площадью, который будет описывать нарисованную фигуру (фигуры).
Рисование можно представить как перемещение курсора командами, во время которого могут наноситься отрезки ломаной, а когда она замыкается, то получившаяся фигура заливается.

Перемещение

m <x> <y>

Перемещает курсор в точку x,y. Фигура, нарисованная до перемещения, замкнется автоматически в случае, если она не замкнута (исходя из того, что после перемещения будет рисоваться новая, не зависящая от нее фигура).

Перемещение (без замыкания)

n <x> <y>

Перемещает курсор в точку x,y. Автоматическое замыкание фигуры при этом не происходит, в отличие от m.

Линия

l <x> <y>

Чертит линию до точки x,y, одновременно перемещая в нее курсор.

Кубическая кривая Безье

b <x1> <y1> <x2> <y2> <x3> <y3>

Чертит кубическую (3-й степени) кривую Безье в точку x3,y3, одновременно перемещая в нее курсор, используя точки x1,y1 и x2,y2 как опорные. За дополнительными сведениями рекомендую обращаться к статье Википедии.

Кубический B-сплайн

s <x1> <y1> <x2> <y2> <x3> <y3> .. <xn> <yn>

Чертит кубический (3-й степени) однородный B-сплайн в точку xn,yn, одновременно перемещая в нее курсор, используя точки x1,y1 .. xn-1,yn-1 как опорные. Для построения требуется как минимум три точки. s позволяет строить больше одной кубической кривой Безье за команду. За дополнительными сведениями рекомендую обращаться к Википедии (1, 2, 3, 4).

Продолжить B-сплайн

p <x> <y>

Добавляет к B-сплайну точку xn+1,yn+1, таким образом сплайн чертиться в эту точку, а xn,yn становится опорной.

Замкнуть B-сплайн

c

Замыкает B-сплайн.

Перевод: Endil
Оригинал: aegisub.org

Comments are closed.

Post Navigation

Яндекс.Метрика