UV Project
入力 Mesh の頂点・法線・三角形はそのままに、UV だけを投影で作り直して Mesh を出力します。Text 3D や Image Extrude のメッシュは蓋が元画像の UV、側面が周長の UV になっているので、SpriteMaterial で映像を貼るとそのままでは意図した絵になりません。このノードを間に挟んで UV を作り直します。
投影の基準はメッシュ自身の外接矩形です。Font Size や文字数で位置・大きさが変わっても、形が同じなら同じ貼り付きになります。計算は入力 Mesh が変わったとき(上流の焼き直しを含む)とパラメータを変えたときだけ行われます。
投影モード(ドロップダウン)
- Planar — Axis の方向から平面投影。残りの 2 軸が U・V になります
- Box(既定) — 頂点法線がもっとも向いている軸の平面投影を面ごとに選びます。裏向きの面は左右を反転して、隣の面で鏡像にならないようにします。法線を持たないメッシュでは Z の Planar と同じになります。Axis は使いません
- Cylinder — Axis を軸に、軸まわりの角度を U、軸方向を V にします。継ぎ目(U が 0 と 1 で折り返す線)は既定カメラの裏側、Axis が Z のときは下側(-Y)にあります
- Sphere — 外接矩形の中心からの方向で緯度経度を取ります。継ぎ目の位置は Cylinder と同じ
Axis(X / Y / Z、既定 Z) は Planar の投影方向、Cylinder / Sphere の軸です。Cylinder / Sphere では継ぎ目をまたぐ三角形の頂点が複製されるため、出力の頂点数が入力より増えることがあります。
ポートの補足
作り直した UV に、中心基準の拡縮 → 回転 → オフセットの順で変換が掛かります。順番と回転の向きは SpriteMaterial 側の UVOffset / UVScale / UVRotate と同じです。毎フレーム動かすスクロールやタイリングはマテリアル側で行い、ここは変化時だけ計算するノードです。
- UVScaleX / UVScaleY(ノード上の表示は Scale X / Scale Y)— UV の倍率(既定1)
- UVOffsetX / UVOffsetY(表示は Offset X / Offset Y)— UV のずらし(既定0)
- UVRotate(表示は Rotate)— UV の回転(度、既定0)
プレビュー
ノード上のプレビューはチェッカー模様を貼って回転表示します。UV Layout トグルを ON にすると、UV 空間(0〜1 の範囲をチェッカーで表示)に三角形の辺を並べた展開図に切り替わり、伸び・鏡像・継ぎ目・0〜1 からのはみ出しが読めます。
読み取り不可(Read/Write が無効)なインポート済みメッシュは UV を作り直せないため空の出力になり、コンソールに警告が 1 回出ます。
入力ポート
| Port ID | 型 |
|---|---|
Mesh | MeshInput |
UVScaleX | float |
UVScaleY | float |
UVOffsetX | float |
UVOffsetY | float |
UVRotate | float |
出力ポート
| Port ID | 型 |
|---|---|
Mesh | MeshOutput |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
scaleXInput | float |
scaleYInput | float |
offsetXInput | float |
offsetYInput | float |
rotationInput | float |
showUVLayout | bool |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "UVProject" }) 




