ノード一覧に戻る

文字アニメーション

text_animate_by_glyph

TextLayout の文字ごとに、ずらし付きの移動・拡大縮小・透明度・波・バウンスを適用します

確認済み
解説あり

入力ポート

名前説明
レイアウト
layout
TextLayout
必須
1文字単位で変形する TextLayout

出力ポート

名前説明
レイアウト
layout
TextLayout
1文字ごとの変形状態を更新した TextLayout

パラメータ

名前既定値範囲説明・選択肢
進行度
progress
Float
10–1 / step 0.01

選択した文字範囲に対する正規化アニメーション進行度

先頭文字
first_glyph
Int
00–4096

アニメーション対象に含める先頭文字番号(0 = 1文字目)

末尾文字
last_glyph
Int
40960–4096

アニメーション対象に含める末尾文字番号

逆順
reverse
Bool
false

選択した文字範囲を末尾から先頭へ向かってアニメーションします

1文字遅延
stagger
Float
00–0.5 / step 0.01

対象文字ごとの正規化遅延量。進行度1で全文字が完了するよう、必要時は自動制限します。

開始Xオフセット
translate_x
Float
0-128–128 / step 1

開始時に適用し、進行に応じて 0 へ戻る横オフセット

開始Yオフセット
translate_y
Float
0-128–128 / step 1

開始時に適用し、進行に応じて 0 へ戻る縦オフセット

開始スケール
start_scale
Float
10.05–4 / step 0.05

進行度 0 で適用し、進行に応じて 1.0 へ戻るスケール

開始不透明度
start_opacity
Float
10–1 / step 0.01

進行度 0 で適用し、進行に応じて 1.0 へ戻る不透明度

波の高さ
wave_y
Float
0-64–64 / step 1

アニメーション中に追加するサイン波の縦揺れ量

波の周期数
wave_cycles
Float
10–8 / step 0.25

0..1 の進行度全体で何周期ぶん波を進めるか

バウンス高さ
bounce_y
Float
00–128 / step 1

各文字のローカル進行度に沿って 1 回だけ上へ跳ねる量

概要

文字を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 v2TextOutline で画像へ焼く

1文字単位の考え方

  • v1 の glyph は実質 1文字単位
  • 先頭文字 = 01文字目
  • 末尾文字 の上限は、入力された TextLayout の文字数に合わせて自動調整される

進行度の考え方

  • progress0..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]
ノード一覧に戻る
文字アニメーション — PixPipeline ノード解説