コンテンツにスキップ

プレハブの中の Socket / Plug を編集する

購入したアバターや衣装に付いている SPS Socket / Plug は、そのままではシーン上で設定を変えられません。インスペクタが灰色になり、上に「Edit in Prefab」ボタンだけが出ます。

これは不具合ではなく、VRCFury 本来の仕様です。ただし、この制限を外す設定を用意しています。

なぜ既定では編集できないのか

Section titled “なぜ既定では編集できないのか”

プレハブの中身を後から書き換えるのが面倒な事情に由来します。

SPS の設定データは、バージョンが上がるときに古い形式から新しい形式へ自動で変換されます。ところがシーン上のプレハブは「元のプレハブからの変更点だけ」を記録しており、Unity にはこの変更点を新しい形式へ変換する仕組みがありません。

そのため、シーン上で変更を加えられるようにすると、後日の形式変更でその変更が失われる恐れがあります。VRCFury はこれを避けるため、最初から変更させない方式を採っています。

Tools > SPSNDMF > SPS > Allow Editing on Prefab Instances を選ぶとオンになります。確認のダイアログが出ます。

オンにすると、シーン上の Socket / Plug の位置・長さ・太さ・タグなどをそのまま編集できます。元のプレハブは変更されないので、同じプレハブを使った他のアバターには影響しません。

Tools > SPSNDMF > SPS > Migrate Project Data を実行すると、プロジェクト内のすべてのプレハブとシーンを開いて、SPS のデータを現在の形式に揃えます。シーン上で加えた変更は保持されます。

古い形式のコンポーネントを選ぶと、インスペクタに案内とボタンが出るので、そこからでも実行できます。

処理が終わると結果が表示されます。「移行できなかった」と報告された場合の意味は下の項目を参照してください。

設定をオンにしても、アクションの一覧だけは元のプレハブでしか編集できません

  • Socket の Active Animation
  • Plug の Post Bake Actions
  • Depth Animations の各項目の中にあるアクション一覧

Unity がこの種類のデータをシーン上の変更として保存できないためで、こればかりは回避できません。該当箇所は灰色になり、その旨の案内が出ます。

Depth Animations そのもの(項目の追加・削除、範囲、単位などの設定)は通常どおり編集できます。編集できないのは、その中に並ぶアクションの一覧だけです。

「移行できなかった」と出たとき

Section titled “「移行できなかった」と出たとき”

移行の結果に、次のような報告が出ることがあります。

N 個のコンポーネントは読み取り専用パッケージ内にあるため移行できませんでした

VPM で導入したパッケージの中にある SPS コンポーネントは、書き換えられないためそのまま残ります。あなたのプロジェクト内にあるそのインスタンスは移行済みで、動作に問題はありません。 ただし、そのパッケージが更新されても、移行された項目については更新が反映されなくなります。

この報告は実行のたびに出ます。パッケージ側が対応するまで解消しないため、異常ではありません。

同じメニュー項目をもう一度選ぶと、チェックが外れて既定の動作に戻ります。設定はプロジェクトごとに保存されます。