無料 アバターを平行移動できるようにするやつ (beta)
- 無料ダウンロード商品¥ 0
- 寄付(中身は無料版と変わりません)ダウンロード商品¥ 100

本スクリプトはChatGPTを用いて作成されました。 VRChat アバターをすべてのモーションを維持したまま、平行移動を可能にするためのスクリプトです。 元のboneコピーして作成したダミーに対して、MeshのWeightが乗っているボーンを、RotationConstraintで紐づける形で変換します。 手動で一個ずつRotationConstraintの設定するのが、手間だったので作成しました。
使用時の注意
本スクリプトはChatGPTを用いて作成されました。 最低限の動作確認は行いましたが、動作不良等の発生する可能性があります。 あらかじめバックアップを作成の上、使用してください。 Sourceをアバターボーンとして使う(Humanoid)には、 Configure Avatar(Humanoid再設定)が必要です。 VRCRotationConstraint ではなく、Unity標準の RotationConstraint を使用しています。 PB影響下を除くboneを対象にRotationConstraintをつけるScriptのため、一部手動での調整が必要になります(eyebone等)
使い方
スクリプトを Assets/Editor/ に入れる Unity再コンパイル後、メニューが増えます。 アバター(Hierarchy上のルート)を用意 Animator が付いてる(または子にある)アバターのルートを想定。 ツールを開く Tools > VRC > No-Weight Bones (RotationConstraint) を開く。 Avatar欄にアバターのルートをドラッグ&ドロップ 自動で Target(ウェイトあり側のボーン親) が選ばれます。 セットアップを押す Source 未指定なら Target を複製して Source(ウェイトなし側) を自動生成します (Source側から VRCPhysBone / Collider は削除されます) Target配下のボーンに RotationConstraint を一括付与 最後に PhysBone適用先の Transform だけ RotationConstraint を削除します (ignoreTransforms も除外しない=PhysBone適用先なら削除されます) 平行移動したいとき 生成された Source 側のボーン(またはSourceルート)を動かすことで、見た目(スキン)は追従しつつ平行移動できます。
巻き戻しについて
巻き戻し(Constraint削除+Source削除) を押す Target配下の RotationConstraint を全部削除 自動で作った Source は削除 Targetの rename(__Skinned 付与)も元に戻します ※ Sourceを詳細設定で手動指定した場合は、巻き戻しで削除されません
詳細設定
詳細設定 を開くと、Target/Sourceを手動指定したり、 Inactive含める・Root対象・ターゲット自動rename を切り替えできます。

