SpriteMaterial

AIと読む
全ドキュメントを1ファイルで(llms-full.txt)
SpriteMaterial #3D #ノード
SpriteMaterial

SynapseRack/SRSprite シェーダのマテリアルを Material 出力に流します。In の Render Texture をメッシュの UV に沿ってそのまま貼るマテリアルで、Quad + CopyToPoints で「映像のコピーが点群に並ぶ」を組んだり、Mesh Renderer で Text 3D などの立体に映像を貼ったりします。ライトとフォグは受けず、映像の色がそのまま出ます。ビルボードではないので点群の Rotation で板が回り、両面が描かれます。点群の色は Tint と一緒に乗算されます。

頂点は動かしません。映像の縦横比はメッシュ側で受けるもので、Quad なら板の Scale、立体なら UV Project や下の UV Scale で合わせます。

ポートの補足

  • Tint — 乗算する色(HDR、既定 白)。アルファも掛かります
  • History — Frame Buffer(Shader Access ON)を繋ぐと、各インスタンスの TimeOffset ぶん過去のフレームを表示します(0 が最新、1 が最古)。未接続なら In をそのまま貼ります
  • Opaque — 既定 OFF は半透明(アルファ合成、深度書き込みなし、不透明の後に描画)。ON にすると深度を書き、混ぜず、アルファ 0.5 未満を捨てて不透明として描きます。閉じた立体に貼ったとき、側面から裏の面が透けなくなります。半透明の縁のなめらかさは失われます
  • UVOffsetX / UVOffsetY(ノード上の表示は UV Offset X / Y)— UV のずらし(既定0)
  • UVScaleX / UVScaleY(表示は UV Scale X / Y)— UV の倍率(既定1)。1 より大きくすると映像が繰り返し並びます
  • UVRotate(表示は UV Rotate)— UV の回転(度、既定0)

UV の変換は中心基準の拡縮 → 回転 → オフセットの順で、はみ出した部分は繰り返しになります(LFO で振ればスクロールやタイリングになります)。順番と回転の向きは UV Project と同じです。

アルファがほぼ 0 の画素は描かれません。半透明時の重なりの前後は点の順番どおり(後の点が手前)です。

入力ポート

Port ID型
Render TextureRenderTexture
TintColor
HistoryFrameBufferInput
Opaquebool
UVOffsetXfloat
UVOffsetYfloat
UVScaleXfloat
UVScaleYfloat
UVRotatefloat

出力ポート

Port ID型
MaterialMaterialOutput

スクリプトから設定可能なメンバー

パス型
opaqueInputbool
uvOffsetXInputfloat
uvOffsetYInputfloat
uvScaleXInputfloat
uvScaleYInputfloat
uvRotateInputfloat

Synapse Apps(スクリプティング)

await synapse.modules.create({ type: "SpriteMaterial" })

このページへのリンク

同じページを参照しているページ