Анимация рукописного текста

Анимация рукописного текста

Модификация позволяет анимировать рукописный текст

Описание
Видеоинструкция по подключению
Инструкция с копированием шаблона к себе
ID шаблона:
36256017
Создаём новую страницу на сайте
Шаг 1
Скроллим в самый низ и нажимаем кнопку «Указать ID шаблона»
Шаг 2
В графе указываем номер шаблона (он указан в начале инструкции), нажимаем кнопку «Выбрать»
Шаг 3
Пошаговая инструкция с подключением кода
В Zero блоке создаём html-блок и добавляем в него код (шаблон)
Шаг 1
<!--Анимация рукописного текста-->
<!--https://mt-webdesign.ru/handwritten-->
<svg data-v-2100d41e="" width="600" height="240" viewBox="0 0 600 240" fill="none" xmlns="http://www.w3.org/2000/svg" class="hand-drawing-svg-1">
<mask data-v-2100d41e="" id="mask1" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="600" height="240">
<path data-v-2100d41e="" d="" fill="white"></path>
</mask><g data-v-2100d41e="" mask="url(#mask1)" id="svg_color_1" ><path data-v-2100d41e="" d="" stroke="#BB3D15" stroke-opacity="1.0" stroke-width="14" class="hand-drawing-path">
</path></g></svg>
Ниже создаём блок T123 и добавляем код ниже (управление)
Шаг 2
<!--Анимация рукописного текста-->
<!--https://mt-webdesign.ru/handwritten-->
<!--Библиотеки для триггера-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.0/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.7.0/ScrollTrigger.min.js"></script>
<style>
.text-line .hand-drawing-svg-1 {
opacity:0;
}
#svg_color_1 path {
stroke: #fff; /*меняем цвет текста*/
}
.text-line-anim .hand-drawing-svg-1 {
overflow: visible;
opacity:1;
stroke-dasharray: 3000; /*длина линии*/
stroke-dashoffset: 3000; /*длина линии*/
animation: text-line-anim 10s linear forwards; /*продолжительность анимации*/
}
@keyframes text-line-anim {
to {
stroke-dashoffset: 0;
}
}
</style>
<script>
ScrollTrigger.create({
trigger: ".trigger", /*класс триггера для старта анимации*/
markers: false,
start: "top center",
end: "top top",
onEnter: () => setTimeout(() => myfunction_1(), 200), /*задержка перед анимацией*/
// onLeaveBack: () => setTimeout(() => myfunction_2(), 200),
});
function myfunction_1() {
$('.text-line').addClass("text-line-anim"); /*класс текста с анимацией*/
};
// function myfunction_2() {
// $('.text-line').removeClass("text-line-anim");
// };
</script>
В Figma создаём необходимый текст во фрейме, переводим в кривые и выгружаем в формате svg
Шаг 3
Открываем в блокноте этот файл и дополнительно открываем новый блокнот
Шаг 4
Копируем в новый блокнот каждый новый путь, который начинается на "M". Это все символы в тексте. Вставляем их каждый с новой строки. В итоге у вас получится следующее
Шаг 5
Копируем весь этот код и добавляем его в Zero блоке в html блок, на это место. Это путь по которому будет строится svg фигура (контур)
Шаг 6
В фигме дублирем фрейм с текстом и с помощью пера обводим по контуру текст. Он будет служить путем, который заполнет контур выше
Шаг 7
Удаляем лишний текст и выгружаем в svg этот фрейм
Шаг 8
Открываем его в блокноте и копируем его путь
Шаг 9
Добавляем его в тот же html блок на это место
Шаг 10
Выставляем ширину и высоту, такую же, что и сам фрейм из Figma
Шаг 11
Выставляем размер линии, которой обводили по контуру в пикселях. В моём случае 16px
Шаг 12
Создаём шейп в этом же зеро блоке и присваиваем ему класс trigger. Он будет служить началом анимации. Убираем у него заливку и pointer-events ставим none.
Шаг 13
Более подробные настройки, возможности взаимодействия и подключение в видео
Другие модификации
Эффект следа из изображений
Tilda
Анимация градиента на тексте
Tilda