Text Render
文字列を1つ、背景透過の RenderTexture に描き出します。Generator カテゴリの通常ノードとして、ノード追加メニューにそのまま出ます(以前は Apps SDK の低レイヤーノード扱いで既定では隠れていましたが、現在は「Show App SDK modules」の設定に関係なく表示されます。ノードidが AppTextRender のままなのはその名残で、保存済みプロジェクトはそのまま開けます)。
出力解像度は生成時に固定され、既定はグローバル解像度です。ノード上部のラベルに Text 1920x1080 のように現在の解像度が出ます。描画はパラメータが変わったときにだけ1回行われるので、値が動いていなければGPU負荷はかかりません。
本文とフォント
- 本文 — ノード上のテキスト欄に直接書くか、
Textポートに文字列を流し込みます(Text Queue や Lyric Sequence から)。ポートを繋ぐとその値が本文になります。行は出力幅で自動折り返しされ、揃えは既定で中央です(揃えを変えるポートやUIはなく、Apps SDK からalignmentを 0=左 / 1=中央 / 2=右 で書けます) - Font Size — 既定 96(1未満は1として扱われます)。ノード上の欄とポートは同じ値です
- Color — 文字色。既定は不透明の白。ノード上のカラーピッカーとポートは同じ値です
- Font — ドロップダウンでフォントを選びます。先頭の Auto は「日本語などのCJKが出るフォントをOSから自動で探す」動作で、Yu Gothic / メイリオ / BIZ UDGothic / ヒラギノ角ゴシックなどの候補を順に試します。候補が1つも見つからない環境ではTMP標準の LiberationSans に落ち、CJKは豆腐になります
- ドロップダウンにはPCにインストールされたフォント(Windows:
Fontsフォルダとユーザー単位のフォント、Mac:/System/Library/Fonts・/Library/Fonts・~/Library/Fonts)がアルファベット順に並びます Fontポートに文字列を流すと、ドロップダウンと同じ名前でフォントを切り替えられます(StringArray で拍ごとに書体を替える、など)。空文字は Auto です- 選んだフォントは番号ではなく名前で保存されます。別のマシンでそのフォントが無い場合や解決できない名前は Auto に落ちます
- Refresh Fonts ボタンで、アプリ起動後にインストールしたフォントを拾い直します
- ドロップダウンにはPCにインストールされたフォント(Windows:
文字のスタイル(縁取り・影・太さ)
いずれもポートから変調できます。
- Bold(
FaceDilate)— 文字の太さ。-1〜1にクランプ、既定 0。正で太く、負で細く - Outline Width / Outline Color / Outline Soft — 縁取りの幅(0〜1)・色(既定は黒)・縁のぼかし(0〜1)。幅 0 で縁取りなし
- Shadow Color / Shadow X / Shadow Y / Shadow Dilate / Shadow Soft — 影。Shadow Color のアルファが 0(既定)なら描かれません。X / Y はずらし量で、1 がフォントサイズに比例した「にじみ幅いっぱい」に相当します。Shadow Dilate は影の太さ(-1〜1)、Shadow Soft はぼかし(0〜1)。ずらし 0 でぼかしを上げるとグローになります
配置
フォントサイズを変えずに、文字全体を動かすためのポートです。LFOで揺らす・ビートで拡縮する用途はこちらを使います。
- Pos X / Pos Y — 正規化座標。0 が中央、±1 が出力の端。既定 0
- Rot — 回転(度)。既定 0
- Scale — 全体の倍率。既定 1(負の値は 0 扱い)
- Scale X / Scale Y — 軸ごとの倍率。Scale に掛かります。既定 1
- Shear — 斜体。y に比例して x をずらします(既定 0)。拡縮のあと・回転の前に掛かるので、文字が傾いてから全体が回ります
吹き出しボックス
文字の実寸にパディングを足した角丸の矩形を、文字の下に敷きます。
- Box Color — 既定は透明で、アルファが 0 のあいだは描かれません
- Box Pad — パディング(px、既定 16、負の値は 0)
- Box Radius — 角丸の半径(px、既定 12、負の値は 0)
ボックスは配置(位置・回転・拡縮・斜体)に文字と一緒に付いてきます。本文が空のときは描かれません。
Distance 出力(距離場)
Render Texture と同じ解像度で、文字の距離場を出します。値 0.5 が文字の輪郭で、輪郭から ±64px の範囲が 0〜1 に線形で入っています(内側が 1 寄り、外側が 0 寄り。RGB は同じ値、アルファは 1、文字が無い所は 0)。色・縁取り・影のスタイルは距離場には反映されず、配置だけが効きます。
しきい値で切れば膨張・縁取り・等高線を、2枚を混ぜればフォント間のモーフを作れます。受け側は Distance Shape を使ってください。
Apps SDK からは従来どおり
render.createTextで生成でき、fontSize/colorR/colorG/colorB/colorA/text/alignment/fontNameを書けます。
入力ポート
| Port ID | 型 |
|---|---|
Text | string |
Color | Color |
FontSize | float |
Font | string |
FaceDilate | float |
OutlineWidth | float |
OutlineColor | Color |
OutlineSoftness | float |
ShadowColor | Color |
ShadowOffsetX | float |
ShadowOffsetY | float |
ShadowDilate | float |
ShadowSoftness | float |
PosX | float |
PosY | float |
Rotation | float |
Scale | float |
ScaleX | float |
ScaleY | float |
Shear | float |
BoxColor | Color |
BoxPadding | float |
BoxRadius | float |
出力ポート
| Port ID | 型 |
|---|---|
Render Texture | RenderTexture |
Distance | RenderTexture |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
textInput | string |
fontSizeInput | float |
fontInput | string |
faceDilateInput | float |
outlineWidthInput | float |
outlineSoftnessInput | float |
shadowOffsetXInput | float |
shadowOffsetYInput | float |
shadowDilateInput | float |
shadowSoftnessInput | float |
posXInput | float |
posYInput | float |
rotationInput | float |
scaleInput | float |
scaleXInput | float |
scaleYInput | float |
shearInput | float |
boxPaddingInput | float |
boxRadiusInput | float |
fontSize | float |
colorR | float |
colorG | float |
colorB | float |
colorA | float |
text | string |
alignment | int |
fontName | string |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "AppTextRender" }) 











