Back to Node List

Text Reveal By Glyph

text_reveal_by_glyph

Reveals a TextLayout range one glyph at a time in index order

Draft
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
レイアウト
layout
TextLayout
Required
1文字単位で表示制御する TextLayout

Output Ports

NameTypeDescription
レイアウト
layout
TextLayout
1文字ごとの表示状態を更新した TextLayout

Parameters

NameTypeDefaultRangeDescription / Options
進行度
progress
Float
10–1 / step 0.01

選択した文字範囲の表示進行度です(1 = 完全表示)

先頭文字
first_glyph
Int
00–4096

表示対象に含める先頭文字番号(0 = 1文字目)

末尾文字
last_glyph
Int
40960–4096

表示対象に含める末尾文字番号

逆順
reverse
Bool
false

選択した文字範囲を末尾から先頭へ向かって表示します

遅延
delay
Float
00–0.95 / step 0.01

リビール開始前に待つ正規化遅延量です

どう考えればいい?

  • TextLayout は「文字がどこにあるか」の構造
  • Text Reveal By Glyph は「そのうちどの文字を見せるか」を決める
  • まだ画像にはしない
  • 最後は TextRasterizeTextOutline で画像化する

glyph について

  • v1 では glyph は実質 1文字単位 と考えてよいです
  • したがって 先頭文字 = 0 は 1文字目、1 は 2文字目、という意味です
  • つまり 先頭文字 / 末尾文字文字番号 を指定していると思えば大丈夫です

挙動

  • first_glyphlast_glyph の範囲だけがリビール対象になります
  • 範囲外の文字は非表示になります
  • reverse = true の時は、同じ範囲を末尾から表示します
  • delay は全体の開始待機です。0.5 なら progress が半分進むまで何も表示しません
  • 既に visible = false の glyph は、このノードでも表示されません

進行度の考え方

  • progress は常に 0..1 の正規化値です
  • 先頭文字末尾文字 で選ばれた 対象文字数11 なら、1文字ぶんの刻みは 1 / 11 = 0.0909... です
  • 1文字ずつ一定間隔で表示したい時は、この刻みごとに progress を進めます
  • 文字数が変わっても同じアニメーション系の制御へ載せやすいように、文字数そのものではなく 0..1 を使っています

インスペクター補助表示

  • 文字リビール補助 には、次が表示されます
    • 全体の文字数
    • 現在選んでいる範囲の文字数
    • 現在選んでいる範囲に対する 1文字ぶんの刻み値
    • 現在の進行度で何文字表示されるか
  • 末尾文字 は、入力 TextLayout の実際の文字数に合わせて自動で上限が更新されます
  • 出力 TextLayout は Inspector の 文字レイアウト(デバッグ) で glyph index / bbox も確認できます

使用例

[Text Input] -> [Text Layout] -> [Text Reveal By Glyph] -> [Text Rasterize] -> [Preview]
[Text Input] -> [Text Layout] -> [Text Reveal By Glyph]
[TimeSource] ----------------------^ progress
Back to Node List
Text Reveal By Glyph — PixPipeline Node Reference