概要
文字列を画像化する前の「文字配置データ」(TextLayout) に変換するノードです。 1文字ずつの位置を持った状態で下流に渡せるので、文字単位の演出 (1文字ずつ出現・波打ちアニメ)を挟んでから画像化できます。
使い方のポイント
- 静止テキストを描くだけなら
text_rasterizeに直接つなぐ構成でよい。 このノードが要るのは文字単位で動かしたいとき:text_layout → text_reveal_by_glyph / text_animate_by_glyph → text_rasterize - フォントはシステムフォント名かローカルの ttf/otf ファイルを指定。 ドット絵ならビットマップ系フォントの font_path 指定がきれい
SystemFamilyの名前とFontFileの上書き欄は別々に保持される。 通常のフォントファイルは上書きを空欄にして、ファイル内の名前を自動検出するalignは最長行の幅を基準に短い行を揃えるため、主に複数行テキストで違いが見える。 1行だけでは自動幅と行幅が同じなので、Left/Center/Right の見た目はほぼ変わらないcharacter_count出力は「1文字あたりの進行度」計算に便利 (文字送り演出のタイミング設計に使う)
関連ノード
text_input— 文言の供給元text_reveal_by_glyph/text_animate_by_glyph— 文字単位演出(このノードの主目的)text_rasterize— 最終的な画像化text_outline— 縁取り
技術詳細
TextLayoutは wire-only formal type で、変数パネルから直接は作らない- フォントバイナリは保持せず、font reference + layout 結果のみを保存する
- glyph 単位は現在 Rust
text.chars()ベースの Unicode scalar 単位 character_countは現在glyphs.len()をそのままIntで出す- 色やアンチエイリアスや padding は持たず、後段の
Text Rasterize v2側が担当する
デバッグ表示
- Inspector には
文字レイアウト(デバッグ)セクションが出ます - ここでは glyph ごとの index と bbox を確認できます
TextRevealByGlyphやTextAnimateByGlyphの結果も、同じTextLayout出力として同じ表示で確認できますtranslateやscaleはデバッグ用の近似 bbox で表示されます
使用例
[Text Input] -> [Text Layout] -> [Text Rasterize v2]
[Text Input] -> [Text Layout] -> [Text Reveal By Glyph]
[Text Input] -> [Text Layout]
└-> [文字数] -> [割り算] -> [1文字刻み進行度]