Text 3D
文字列を書体のベクタアウトラインのまま輪郭にして Z 方向に押し出し、Mesh として出力します。Image Extrude の兄弟ですが画像を通らないので解像度の設定がなく、曲線の細かさは Detail で決めます。Mesh は Mesh Renderer や CopyToPoints に繋いで描画します。メッシュは文字列全体の外接矩形の中心が原点で、前面(既定カメラ側)が z のマイナス側です。
計算はフレームを止めずに裏で行われ、本文・フォント・パラメータのどれかが変わったときだけ焼き直します(Live/Bake の切り替えはありません)。本文は Text ポートのほか、ノード上のテキスト欄に直接打てます。欄の中で Enter を押すと改行になり、行ごとに配置されます。重なった文字(斜体や字間を詰めた場合)は 1 つの塗り領域として結合されます。
ノード上の設定
- テキスト欄 — 本文。Text ポートに接続すると、そちらの値が本文になります
- Font — 書体のドロップダウン。Auto(既定)は日本語が出る書体を OS から自動で選びます。Refresh Fonts で起動後にインストールした書体を拾い直します。Font ポートに書体名の文字列を流しても選べます
- Left / Center(既定)/ Right — 行の揃え。メッシュ全体は常に中心に置かれるので、効くのは複数行のときの各行の位置です
ポートの補足
- FontSize — 1 文字(1 em)のワールド単位での大きさ(既定5、下限0.01)
- Depth — 押し出しの厚み(既定1)
- Bevel — 前後の縁の面取り幅(ワールド単位、既定0 = 面取りなし)。細い部分で面取りが破綻する文字は幅が自動で縮められ、ステータスに「面取りを縮めた輪郭N本」と出ます
- Bevel Segments(ノード上の表示は Segments)— 面取りの分割数。1〜8にクランプ(既定1)。1 は 45° の平らな面取り、2 以上で丸い面取り
- LineSpacing — 行送りの倍率(既定1 = 書体の行間そのまま)
- LetterSpacing — 字間。1 em に対する倍率で、0.1 なら文字と文字の間が 1 文字幅の 10% 開きます(既定0、負値で詰まります)
- Detail — 0〜1にクランプ(既定0.5)。曲線 1 本あたりの分割数(0 で 2 分割、1 で 16 分割)
- FrontFace / BackFace(表示は Front Face / Back Face)— 前面・背面の蓋を張るか(既定 両方 ON)。両方 OFF で文字の輪郭だけの筒になります
輪郭の点数は合計 16384 点までで、超えた分は均等に間引かれます。
ステータス行には「Baking…」「N polys / M verts」のほか、本文が空なら「Text が空」、書体が解決できなければ「フォント無し」が出ます。1 つの書体に無い文字は豆腐(四角)になります。縦書き・合字には対応していません。
入力ポート
| Port ID | 型 |
|---|---|
Text | string |
Font | string |
FontSize | float |
Depth | float |
Bevel | float |
Bevel Segments | int |
LineSpacing | float |
LetterSpacing | float |
Detail | float |
FrontFace | bool |
BackFace | bool |
出力ポート
| Port ID | 型 |
|---|---|
Mesh | MeshOutput |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
textInput | string |
fontInput | string |
fontSizeInput | float |
depthInput | float |
bevelInput | float |
bevelSegmentsInput | int |
lineSpacingInput | float |
letterSpacingInput | float |
detailInput | float |
frontFaceInput | bool |
backFaceInput | bool |
text | string |
fontName | string |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "Text3D" }) 









