Титры из песка в Fusion
Этот workflow показывает, как собрать эффект титров из песка в Fusion. Надпись DaVinci Resolve сначала используется как источник формы для Bitmap Mask, затем по этой форме рождаются частицы. pTurbulence добавляет живое рассыпание, pRender превращает частичную систему в изображение, Glow даёт мягкое золотое свечение, а отдельный Text+ возвращает читаемую финальную надпись поверх песчаного слоя.

Почему схема собрана так
Логика workflow
Схема разделена на две ветки: первая ветка создаёт форму букв и превращает её в частичную систему, вторая ветка оставляет чистый Text+ для финальной читаемой надписи. TimeStretcher используется не как декоративная нода, а как управляющий приём: он разворачивает время и позволяет получить эффект сборки или рассыпания без ручной переделки всей анимации. Merge соединяет песчаный слой и чистый текст уже после pRender и Glow, поэтому частицы остаются живыми, а финальный титр не теряет читаемость.
Node tree
Схема подключения
Цвета повторяют Fusion: синий кабель идёт в маску Effect Mask, серые кабели передают изображение, а цветные порты показывают конкретные входы нод. Кликабельны только реальные ноды Fusion из энциклопедии. Пользовательские PNG, медиа-слои и переименованные исходники остаются обычными элементами схемы без перехода.
Очередность нод
Как читать эту цепочку
Text1 → TimeStretcher1
Первый Text+ создаёт форму надписи, из которой потом будут рождаться частицы. TimeStretcher разворачивает движение по времени через выражение comp.RenderEnd - time, чтобы эффект можно было собрать как появление или как рассыпание.
TimeStretcher1 → Bitmap1
Bitmap берёт яркость текста и превращает её в маску. Эта маска становится областью рождения частиц: песок появляется не по всему кадру, а строго внутри букв.
Bitmap1 → pEmitter1 → pTurbulence1
pEmitter рождает частицы по форме букв, а pTurbulence добавляет хаотичное движение. Именно эта связка делает титр похожим не на обычное растворение, а на песок, пыль или золотую крошку.
pTurbulence1 → pRender1 → Glow1
pRender переводит частичную систему в обычное 2D-изображение. После этого Glow добавляет мягкое свечение, чтобы частицы выглядели объёмнее и дороже на чёрном фоне.
Text1_1 → Merge1
Второй Text+ нужен для чистой финальной надписи. Он соединяется с песчаным слоем в Merge, чтобы эффект не превращался в нечитаемую пыль и в финале оставался полноценный титр.
Merge1 → Transform1 → TimeStretcher2 → MediaOut1
После сборки Transform выставляет титр в нужную позицию, а финальный TimeStretcher снова управляет направлением времени всей композиции перед выводом в MediaOut.
Результат
Что получается на кадре
На выходе получается золотой титр на чёрном фоне: нижняя часть букв выглядит как песок или пыль, частицы поднимаются и растворяются, а основной текст остаётся читаемым. Такой приём подходит для заставок, логотипов, промо-роликов и кинематографичных интро.
Когда использовать
Где пригодится
- Кинематографичные заставки и интро с рассыпающимся текстом.
- Появление логотипа из песка, пыли, искр или золотой крошки.
- Титры для роликов про DaVinci Resolve, моушен-дизайн и визуальные эффекты.
- Рекламные надписи на чёрном фоне, где нужен дорогой эффект частиц.
- Любые задачи, где текст должен не просто появиться, а собраться из материала.
Параметры нод
Что отличается от дефолта
Text1 / Text1_1
Оба Text+ используют один и тот же текст и стиль. Первый нужен как источник формы для частиц, второй — как чистый читаемый слой в финальном Merge.
- StyledText: DaVinci Resolve
- Font: Montserrat Bold
- CharacterSpacing: 1.5 через Follower
- Цвет текста: золотой, Green 0.6666667 / Blue 0
- Horizontal / Vertical Justification: Center
- Text1_1 Opacity: 1 на кадре 70 → 0 на кадре 90
Follower / Path
Follower анимирует символы по порядку, а Path задаёт смещение букв. Благодаря этому текст не просто появляется целиком, а собирается посимвольно с небольшим движением.
- Order: 4
- Delay: 1
- CharacterOffset: Path Position
- Path Displacement: 0 на кадре 0 → 1 на кадре 7
- Follower Opacity: 0 на кадре 0 → 1 на кадре 20
pEmitter1
Emitter рождает частицы по Bitmap Mask. Количество частиц заанимировано волной: сначала ноль, затем пик, затем снова ноль. Это даёт эффект песчаного выброса, а не постоянного шума.
- Region: BitmapRgn
- BitmapRgn.Bitmap: Bitmap1.Mask
- Number: 0 на кадре 70 → 8000 на кадре 90 → 0 на кадре 119
- Lifespan: 80
- Velocity: 0.047
- Angle: 83.5 / AngleZ: 44.3
- RandomSeed: 1500
pTurbulence1
Turbulence ломает слишком правильное движение частиц. Силы по X и Y направляют песок в сторону и вверх, из-за чего края букв выглядят живыми.
- XStrength: -0.402
- YStrength: 0.315
- StrengthOverLife: 0.5
Glow1 / Transform1 / TimeStretcher
Финальные ноды отвечают за презентацию результата: свечение, позицию и обратное воспроизведение всей собранной композиции.
- Glow Blend: 0.2
- XGlowSize: 3.1
- Glow: 0.52
- Transform Center: X 0.5 / Y 0.095
- TimeStretcher SourceTime: comp.RenderEnd - time
Ошибки
Что не ломать
- Не подавать pEmitter напрямую в Merge: частицы сначала нужно отрисовать через pRender.
- Не забывать Bitmap Mask. Без неё частицы будут рождаться не по форме букв, а как обычный эмиттер.
- Не ставить слишком большое Velocity, иначе песок улетит из формы текста и надпись потеряет читаемость.
- Не убирать второй Text+: чистая надпись нужна, чтобы финальный титр оставался читаемым после частичного распада.
- Не путать два TimeStretcher: первый управляет маской/источником частиц, второй разворачивает уже собранный результат.

