概要
文字を1文字ずつずらして動かすノードです。飛び込み・ふわっと出現・
波打ち・バウンスを stagger(文字ごとの遅延)付きで適用し、タイトルロゴの
登場演出のような「文字が生きている」動きを作ります。
使い方のポイント
- 定番チェーン:
text_layout → text_animate_by_glyph(progress を time_source で駆動) → text_rasterize → animation_render staggerがこのノードの命: 0 だと全文字一斉(ただの全体アニメ)、 上げるほど「順番に」感が出る- 選択文字数に対して
staggerが大きすぎる時は、末尾文字もprogress=1で 完了するよう有効値を0.95 / (対象文字数 - 1)まで自動制限し、警告を表示する - 表示/非表示の演出は
text_reveal_by_glyph、こちらは「動き」。 両方直列に挟むこともできる(出現しながら跳ねる) - このノードは元の layout bounds を拡張しない。大きい移動・拡大・bounce が
端で切れる場合は、後段
text_rasterizeの padding を増やす
関連ノード
text_reveal_by_glyph— 表示演出版(併用可)text_layout— 前段(必須)text_rasterize/text_outline— 画像化ease_in_out— progress のイージング
どう考えればいい?
TextLayoutは「どこに文字を置くか」を持つTextAnimateByGlyphは「その文字ごとにどう動かすか」を上書きする- 最後に
TextRasterize v2やTextOutlineで画像へ焼く
1文字単位の考え方
- v1 の
glyphは実質1文字単位 先頭文字 = 0は1文字目末尾文字の上限は、入力されたTextLayoutの文字数に合わせて自動調整される
進行度の考え方
progressは0..1- 対象文字数が 11 文字なら、1 文字刻みは
1 / 11 staggerを 0 より大きくすると、各文字に順番に遅延が乗るprogress=1は必ず全文字の完了状態。自動制限がかかった場合はstaggerパラメータ付近に非致命警告が出る
技術詳細
- このノードは
TextLayoutGlyph.visible / opacity / translate / scaleを更新した新しいTextLayoutを返す translate_x / translate_yは「開始位置から元の位置へ戻る」補間として使うstart_scale / start_opacityも「開始状態から通常状態へ戻る」補間として使うwave_yは進行中にサイン波オフセットを追加するbounce_yは各文字ごとに 1 回だけ山なりの縦バウンスを追加するTextRasterize v2/TextOutline側でtranslate / scale / opacityを読んで描画する- 変形後も
TextLayout.boundsは入力のまま。描画余白は後段の padding で確保する - 出力
TextLayoutは Inspector の文字レイアウト(デバッグ)で glyph index / bbox を確認できる
使用例
[Text Input] -> [Text Layout] -> [文字アニメーション] -> [テキスト画像化] -> [Preview]
[Text Input] -> [Text Layout] -> [文字アニメーション] -> [文字アウトライン] -> [Preview]