Plug
Plug は、SPS の中で Socket に向かって曲がっていく側のコンポーネントです。SPS for NDMF が実際にビルド処理の対象とする2つのコンポーネントのうちの1つです。
Plug(旧称 Penetrator)は、挿入する側の部位(ペニスなど)のメッシュに取り付けて使うコンポーネントです。取り付けたメッシュは、近くに Socket があるとその方向へ滑らかに変形し、Socket が無い状態や範囲外にいる間は通常のモデリングされた形状のまま表示されます。
メッシュとサイズ
Section titled “メッシュとサイズ”| 設定 | 内容 |
|---|---|
| Automatically find mesh | 対象のメッシュ(レンダラー)を自動検出するかどうかです。オフにすると対象レンダラーを手動で指定できます。 |
| Detect length from mesh / Length | Plug の長さを自動計測するかどうかです。オフの場合は数値で直接指定します。 |
| Detect radius from mesh / Radius | Plug の太さを自動計測するかどうかです。オフの場合は数値で直接指定します。 |
| Automatically mask using bone weights | スキンメッシュのボーンウェイトをもとに、変形させる範囲を自動的に絞り込みます。 |
| Optional additional texture mask | テクスチャを使って、変形させない・長さ計算に使わない範囲を追加で指定できます。 |
変形の設定(Deformation)
Section titled “変形の設定(Deformation)”Enable Deformation は、SPS による変形を有効にするかどうかのメインスイッチです。オンにすると以下の設定が表示されます。
| 設定 | 内容 |
|---|---|
| Auto-Rig | ボーンの無い静止したメッシュに対して、自動的にボーンと PhysBone を追加し、揺れを付けます。 |
| Post-Bake Actions | 変形計算の基準になる「まっすぐな姿勢」を確定させたあとに、見た目のポーズを調整するためのアクションを追加できます。 |
| Animated Toggle | SPS の変形そのものを、アニメーションクリップで ON / OFF できるようにする設定です(ツールチップ原文: “You can ANIMATE this box on and off with an animation clip, in order to turn deformation off during certain situations.”)。特定の状況で変形を止めたい場合に使います。インスペクター上はチェックボックスですが、実体は数値(0=オフ、1=オン)を持つフィールドで、アニメーションクリップから直接この値を操作できます。他のトグルなどのアクションと組み合わせて操作したい場合は、共通のアクション種別である「Enable SPS」を使うと、対象の Plug を指定するだけで ON / OFF 用のクリップを自動生成できます。 |
| Animated blendshapes to keep while deforming | 通常、SPS の変形中はメッシュのブレンドシェイプの値がベイク時点(エディタ上で見えている見た目)の値に固定されます。変形中も表情アニメーションなどで動かし続けたいブレンドシェイプがある場合、ここに名前を最大16個まで登録すると、そのブレンドシェイプだけは変形中も他のアニメーションから動かせるようになります。 |
| Allow Hole Overrun | Hole(Socketを参照)に最後まで挿入されたとき、わずかにめり込ませることで見た目の破綻を防ぎます。 |
Depth Animations(深度アニメーション)
Section titled “Depth Animations(深度アニメーション)”Depth Animations は Socket 側にもある機能で、設定項目・仕組みは共通です。Plug 側では「この Plug がどこかの Socket にどれくらい近づいているか・挿入されているか」を基準にアニメーションを駆動します。Enable Depth Animations をオンにすると、リストに1つ以上の設定を追加できます(複数登録可)。それぞれで次の項目を設定します。
| 設定 | 内容 |
|---|---|
| Actions(Action Set) | 深度に応じて駆動したい内容です。アニメーションクリップを1本指定することも、ブレンドシェイプ・オブジェクトの表示切り替え・マテリアル切り替えなどのアクションを組み合わせて指定することもできます。 |
| Activation distance | アニメーションを「開始する距離」と「最大になる距離」を、-1〜3 の範囲のスライダーで指定します(値の意味は下表を参照)。スライダーで指定した「近い側(挿入が進んだ側)」の距離でアニメーションが最大になり、「遠い側」の距離で完全にオフになります。単一のアニメーションクリップを指定した場合は、クリップの再生位置そのものが深度に連動します。 |
| Range Units | 距離の単位です。Meters(実距離、メートル単位)、Plugs(この Plug 自身の長さを1とした相対距離)、Local(アバターの拡大縮小スケールを1とした相対距離、アバターのサイズを変えても見た目の閾値が変わりません)から選べます。 |
| Allow avatar to trigger its own animation? | 自分自身のアバターが持つ Socket との距離でもこのアニメーションを動かすかどうかです。オフの場合、他のアバターの Socket との距離だけが対象になります。 |
| Smoothing Seconds | 目標の深度へアニメーションが滑らかに追従するまでの、おおよその秒数です。値が大きいほどゆっくり追従します(フレームレートに依存するため、高FPS環境ほど速く滑らかに追従します)。 |
| Reverse clip (unusual) | クリップの再生方向を反転します(通常は使いません)。 |
Activation distance の値の意味:
| 値 | 意味 |
|---|---|
| 負の値(例: -1) | Socket の入口より奥、つまり挿入が進んだ状態 |
| 0 | Plug の先端がちょうど Socket の入口にある状態 |
| 正の値(例: 3) | Plug の先端が Socket の入口から離れている状態 |
距離を常時測定し、その値をなめらかにアニメーションへ反映し続ける仕組みです。典型的な使い道としては、挿入の深さに応じてブレンドシェイプの値を連続的に変化させたり、専用のアニメーションクリップを深度に連動して再生させたりする用途があります。
タグ(Include / Exclude Tags)
Section titled “タグ(Include / Exclude Tags)”対象にできる/できない Socket をタグで絞り込む設定です。既定では「Global SPS2 タグ」が含まれており、ほとんどの Socket が対象になります。
この設定は SPS2(0.2.x)系のコンポーネントで追加されたもので、SPS1(0.1.x)系のコンポーネントには存在しません。SPS1 では、範囲内で最も近い有効な Socket が無条件に採用されます。
OGB Haptics
Section titled “OGB Haptics”ID sent to OGB は、対応する触覚(ハプティクス)デバイス連携アプリへ送信する識別名です。
Advanced(詳細設定)
Section titled “Advanced(詳細設定)”折りたたまれた詳細設定には、以下のような項目があります。
- Use hip avoidance — 腰まわりの Socket と干渉しないようにする設定です。
これ以外に、旧バージョンとの互換用に残っている非推奨(Deprecated)項目もありますが、新規に設定する必要はありません。