SPS とは
SPS(Super Plug Shader)は、VRCFury が提供する VRChat アバター向けの機能です。あるアバターの部位(Plug)が、別の部位(Socket)に近づくと、その方向へ向かって滑らかに曲がって追従する、という演出を実現します。「挿入」ギミックとして使われる機能ですが、仕組みそのものは「近くにある目標に向かってメッシュを曲げる」という汎用的なものです。
SPS とは
Section titled “SPS とは”SPS は Super Plug Shader の略で、名前のとおりシェーダー(GPU上で頂点やピクセルの計算を行うプログラム)によって実現されている機能です。大まかな流れは次のとおりです。
- Plug に設定したメッシュは、通常はモデリングされたままの、まっすぐな形状で表示されます。
- Socket が近くにあると、専用のシェーダーが Plug の頂点を Socket の方向へ向けてリアルタイムに変形させます。
- 近くに複数の Socket がある場合は、その中から適切なものを自動的に選んで曲がります。
この変形は毎フレーム GPU 上のシェーダー計算だけで完結しており、アニメーションクリップやスクリプトを手動で用意する必要はありません。
SPS1 と SPS2
Section titled “SPS1 と SPS2”SPS には SPS1 と SPS2 という2つの世代があり、本プロジェクトはその両方をリリースしています。どちらが動作するかは、導入したバージョン系統(0.1.x か 0.2.x か)によって決まります。世代ごとの違いは SPS1 と SPS2 を参照してください。
DPS / TPS との違い
Section titled “DPS / TPS との違い”SPS より前にも、同じような「挿入演出」を実現する仕組みとして DPS や TPS と呼ばれる方式が VRChat コミュニティで使われてきました。SPS は VRCFury が提供する、それらの実質的後継です。
関連するコンポーネント
Section titled “関連するコンポーネント”SPS に関連するコンポーネントには、次のようなものがあります。それぞれの詳細は各ページを参照してください。
- SPSNDMFが扱うもの
- SPSNDMF Migratorで同等のMA/VRChatネイティブコンポーネントに変換して扱うもの
- Global Collider — 指以外の任意の部位を、他のプレイヤーの PhysBone や触覚通知に反応させるための機能です。SPS 本体とは別の、関連するハプティクス機能です。
- Haptic Touch — 触覚(ハプティクス)対応アプリ向けに、触れたことを送受信するための機能です。こちらも SPS 本体とは別の関連機能です。