Счетчик в after effects выражение

Обновлено: 28.09.2024

rounds

Сегодня подкинули несколько вопросов об округлении чисел в АЕ, поэтому я решил написал общую эту статью. Также рассмотрим несколько примеров и вариантов округления и в качестве бонуса: «дописи» к выражениям различных символов, а также методы их размещения.

Рассмотрим вариант, где мы имеем анимированный слайдер на текстовом слое:


По умолчанию выражение в Source text имеет вид:

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

  • Math.round() – округление к ближайшему целому числу. Как в школе учат.
  • Math.floor() – округление до целого числа в меньшую сторону.
  • Math.ceil() – округление до целого числа в большую сторону.

Таким образом применив к нашему Source text один из методов округления мы получим:

В этом случае мы будем получать целое число. Но что если мы хотим оставить несколько числе после запятой? В этом случае мы можем использовать несколько вариантов:

Первый вариант умножить и разделить само выражение на 10 или 100, в зависимости от того сколько чисел вы хотите получить после запятой. Например, наше выражение Math.floor(effect("Slider Control")("Slider")) мы умножаем на 100 и делим на 100, получаем вид:

В этом случае мы получим две цифры после запятой. Но будьте аккуратны, если значение примет вид целого числа, то цифры после запятой показываться не будут. Поясню, число 16,66666 таким образом будет округляться до 16,67, но если число примет вид 16,5, то вне зависимости от того на сколько вы делили или умножали выражение, вид остается прежним 16,5. Если вы хотите, чтобы было также отображение фиксированного количества знаком, то нужно использовать второй вариант, а именно выражение:

  • toFixed() – округляет значение до точного количества знаков, причем отображает и нули.

Чтобы toFixed() корректно работал в выражении для Source Text необходимо сделать следующие изменения: так как source text возвращает нам строчное значение, а не числовое, нужно для начала преобразовать его в число с помощью функции parse:

В скобках для toFixed() мы указываем количество знаков после запятой.

Помимо toFixed, вы можете использовать toPrecision(), но в этом случае в скобках нужно указывать общее число знаков для округления. То есть если вы хотите получить 18,90, то функция имеет вид toPrecision(4)

Теперь более подробно о функции parse.

Как я уже писал выше, parse преобразует строковой аргумент в числовое и существует два вида вывода: Int – целое число, Float с плавающей запятой.

Для чего же нужен parse? Например, в вашем выражении Source Text нужно дописать какой-то знак, после числа, например: «%» или «?». Напомню, что для того, чтобы дописать символ к выражению нужно добавить:

Если вы будете писать непосредственно в теле выражения без преобразования строки в число, то будете получать ошибку:

divide

Чтобы избежать этого следует сделать преобразование:

Если в вашем проекте нужно использовать знаки после запятой, то следует использовать parseFloat. Выражение примет вид: parseFloat(effect("Slider Control")("Slider"))+" $"

Вы можете скорректировать количество знаков после запятой добавив toFixed или toPrecision:

Теперь немного об отображении Source text.

Если вы хотите, чтобы символы или какие значения в Source Text начинались с новой строки, то следует использовать выражение "\r". Например, вы хотите перенести знак $ на новую строку, для этого дописываем в выражение + "\r"

Вы можете дописывать любые знаки стразу после +"\r…..". Таким образом вы получите новую строку с заданными символами или словами, например:

Читайте также: