TextSplit
入力した文字列を1文字ずつの点に分解し、PointCloud / Material / Count を出力します。点1つが1文字に対応するので、Point Key / Wave / Attribute / SpringPoints といった点群向けのノードがそのまま文字のアニメーションになります。このノード自体はアニメーションを持ちません。
- 本文はノード上のテキスト欄に直接入力します。
Textポートを繋ぐと、以降はそちらから来た文字列が本文になります - 改行は空白に置き換えられ、常に1行に畳まれます
- 上限は128文字。超えた分は切り捨てられ、そのときコンソールに警告が出ます
- 絵文字や結合文字は1文字として数えます
Countには実際に出した文字数が出ます(Wave の Stagger を文字数から決める、といった用途)
レイアウト
点は等幅で横一列に並び、列全体の中心が原点になります。Spacing(既定1)が隣り合う文字の間隔です。全角文字は等幅で揃いますが、欧文は字幅を見ずに同じ間隔で並ぶので、詰め具合は Spacing で調整します。回転は無回転、スケールは等倍、色は白で出力され、位置以外の変化は後段のノードの仕事です。
Font
ドロップダウンで選びます。既定の Auto は日本語が出るフォントを自動で探します。それ以外は同梱フォントとOSにインストール済みのフォントが並びます。本文かフォントを変えたときだけ文字が焼き直されます。
Material 出力
Material は「その点が何文字目か」に応じた字を貼るマテリアルです。CopyToPoints の Mesh に板(Primitive の Quad)、Points にこのノードの PointCloud、Material にこの出力を繋ぐと文字列が並んで表示されます。両面描画・アルファ合成で、字のない部分は透過します。SceneRepeat でコピーを増やした場合、各コピーは文字列を先頭から引き直します。
入力ポート
| Port ID | 型 |
|---|---|
Text | string |
Spacing | float |
出力ポート
| Port ID | 型 |
|---|---|
PointCloud | PointCloudOutput |
Material | MaterialOutput |
Count | int |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
textInput | string |
spacingInput | float |
textValue | string |
fontName | string |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "TextSplit" }) 








