VRChat

もちふぃった~・衣装ふぃった〜 プロファイルめーかー(β) - 互換形式の変換プロファイルをUnityだけで自動生成【Blender不要/ボタン一つ/詳細設定あり】

発展途上なので何かエラーや不具合がありましたら報告をお願いします。 もちふぃった~ プロファイルめーかーは、変換プロファイル(もちふぃった〜・衣装ふぃった〜互換形式)を Unity だけで自動生成する Editor 拡張です。 シーンに素体アバターを 2 体置いて、変換元と変換先を選んで、生成を押す。それだけで、骨の対応(posediff)と頂点レベルの残差変位場(NPZ)、設定ファイル一式が出てきます。 Blender も Python も外部 EXE も要りません。プロファイルが配布されていないアバターに、VRoid素体に、自作アバターに。 ■ できること ・変換元アバター → 変換先アバターの変換プロファイル一式を生成します(順方向・逆方向の両方) ・生成物: avatar_data / pose_basis / posediff / deformation NPZ / config(互換形式) ・素体の体型シェイプ(胸・踵・靴下など)の単体シェイプ場も同時に生成します ・変換先には、プロジェクト内で見つかった互換 avatar_data(既存プロファイル)か、シーン上の別アバターを選べます(直接ペアも可) ・生成後に精度レポート(表面までの距離の平均/95%/最大、部位別)を表示・保存します ■ 特徴 ・かんたん 3 ステップ(変換元を入れる → 変換先を選ぶ → 生成) ・速い: 3 万頂点級の素体で数十秒〜数分(Balanced プリセット、当方環境) ・詳細設定: 品質プリセット(Fast/Balanced/Detailed)、段数、左右ミラー、格子間隔、フォールオフ、反復回数、除外部位(顔/指/足指/任意骨)、骨の合わせ方(骨基準/メッシュ基準/自動)、スケール規則、表面からの離し幅(衣装を素体から浮かせる量)、対応シェイプ表(config の blendShapeFields) ・C# のみ・DLL なし・ソース同梱 ・衣装ふぃった~ 本体とは別パッケージ。同一プロジェクトに入れても衝突しません(本ツール単体でも動きます) ■ 精度の目安(当方テスト) ・手元の公式配布プロファイル(標準体型 3 体)と同じ指標で比べ、変形後の素体から変換先表面までの平均距離 0.15〜0.66mm(参考: 公式配布物 1.2〜1.6mm) ・無料配布アバター 14 体+小型アバターでも生成・適用を確認(小型・マスコット系は精度が落ちる場合があります) ・生成した NPZ は numpy 実物で読み戻せることを確認済み ・公式配布プロファイルが既にあるアバターは、公式のものをお使いください(本ツールの生成物は表面には乗りますが、公式と同じ仕上がりにはなりません。当たり方が数mm〜1cm程度変わります) ■ 導入方法 1. zip を展開し、OutFitterProfileMaker.unitypackage をプロジェクトにインポート 2. Tools / OutFitter / Profile Maker を開く 3. 変換元アバター(Humanoid)をシーンに置いて指定 → 変換先を選ぶ 4. 生成 を押す(出力先は既定 Assets/OutFitterProfiles/) ■ 注意事項 ・β 版です。生成結果は必ず衣装で試着確認してください ・変換元・変換先は Humanoid で、同じ姿勢(A ポーズ推奨)にしてください。姿勢が違うと精度が落ちます(警告が出ます) ・小型・マスコット系や、骨とメッシュ実体が大きくずれたアバターは精度が落ちることがあります(自動でメッシュ基準に切り替えますが万能ではありません) ・boneComponents(PhysBone 等のシリアライズ)は空で出力します ・生成したプロファイルの配布は、対象アバターの利用規約に従ってください(アバターの形状データを含みます) ・本ツールは他社製ツールとは無関係の独自実装です。他社製ツールに関する問い合わせは受け付けられません ・Unity 2022.3 で動作確認。VRChat 以外は未確認 ■ 内容物 ・OutFitterProfileMaker.unitypackage ・README.md(使い方・技術メモ) ・LICENSE.txt / LICENSE.pdf ・SHA256SUMS.txt ■ 利用規約 ・LICENSE.txt に従います(要点: ご自身の用途での使用・改変は自由。本ツール自体の再配布・転売・共有は禁止。生成したプロファイルの取り扱いは各アバターの規約に従ってください) ・本ツールの使用により生じたいかなる損害についても責任を負いません ■ 更新履歴 ・v1.2.3 (2026-08-23) 画面を「入れたら診断が出る / 触らない欄は畳む」形にしました(変換元・変換先アバターの直下に「OK 胴体の皮 Body (胴体 11/11)」「注意 Face は顔だけ (胴体 1/11)」の1行診断を出し、注意の時は正しい候補を提示して「これを使う」ボタンで直せます / 素体メッシュと穴あき素体の補完FBX(旧: 完全な素体)は「○○側の詳細」としてアバター名入りで畳み、注意のある側だけ自動で開きます / 補完FBXに物を入れると注意を表示し、変換元と変換先で同じ物を入れると赤で警告します) ・v1.2.2 (2026-08-23) 素体メッシュの自動選択を、名前や頂点数ではなく「humanoid の主要部位を実際に覆っているか」で決めるようにしました(顔だけのメッシュが Body という名前で入っているアバターで、従来は名前を優先してそれを素体に選び、胴回りを測れた骨がほとんど無いプロファイルが黙って出来ていました。衣装が変換先の体型に膨らまず、頭の方へ曲がる症状の原因でした) / 胴体を持たないメッシュが素体に選ばれている時は、実行前にエラーで止めて候補メッシュを列挙します(手動や avatar_data で指定した場合は警告に留めます) ・v1.2.1 (2026-08-22) 「完全な素体」の取り違えを実行前に止めるようにしました(変換元と変換先に同じ物を入れた時、または相手アバターの中にある物を入れた時はエラーで止まります。骨は名前で付け替えるため、これまでは相手アバターの体で測ってしまい、体型差がほとんど無いプロファイルが黙って出来ていました。この欄は「そのアバター自身の、削っていない素体 FBX」を入れる所です。素体に穴が無いアバターでは空のままにしてください) ・v1.2 (2026-08-22) 骨スケールの引き寄せ先を、全身 1 本から部位グループ別の代表値にしました(腕・脚・胴などの部位ごとに代表スケールを持たせ、その外側に全身代表からの帯を残しています。全身 1 本だと体格の偏った相手で部位ごとの寸法が揃いませんでした) / 素体の縮小シェイプ(Shrink_*)を、場を作る 2 つの面から外すようにしました(縮小シェイプは既定衣装の下の体を凹ませる補助シェイプで、体の形ではありません。作者が最大値で配っていることがあり、衣装が実際に居る所に素体の面が無くなって変換されない、という症状の原因でした。太さの測定は配布状態のまま行います) / 「完全な素体」の指定を用途で分けました(指定した素体は測定と合わせ先の面に使い、変形させる素体は配布状態のままにします。UI の入力は変わりません) / 部位グループ代表に不感帯 (1%) を入れました(測定の分解能以下の差で代表値を動かさないようにしました) / 骨軸の向きが食い違っている骨を、何度ずれているか名指しで警告するようにしました / 縮小シェイプで潰れている骨を、生成レポートに「シェイプを外せば何 mm あるか」付きで一覧表示するようにしました / Modular Avatar の未ベイク判定が、ベイク済みのアバターまで弾いていた問題を直しました ・v1.1cβ (2026-08-20) 素体に穴があるアバター(既定衣装の下を削ってある素体)で、胴の骨が黙って「変換なし」になっていたのを修正(胴が動かないまま頭だけ動くので、間の衣装が引き伸ばされていました。実測: チビ体型への変換で 95% 誤差 14.25mm → 10.38mm) / 生成レポートに「胴回りを測れた骨 / 全骨」と「恒等変換になった骨の一覧」を出すようにしました(従来の精度指標では「骨が動いていない」ことを検出できませんでした) / Modular Avatar のビルド前プレハブを明示エラーにしました(素体が humanoid 骨と繋がらず、実寸の 1/10 の場が黙って作られていました) ・v1.1β (2026-08-20) 「離し幅(クリアランス)を上げるほど衣装が素体に潜る」を修正(座標系の変換で素体の面の向きが内向きになっており、離し幅のぶん内側へずらしていました) / 登録に使う素体の形が FBX の素の形になっていたのを修正(シーン上の BlendShape の値を既定として使います。体型シェイプや衣装用の縮小シェイプを入れた状態で配布されている素体で、衣装が最初から内側に入る原因でした) / 精度の指標に符号を付けました(距離だけの平均では「離し幅どおりに浮いた」と「同じだけ潜った」が同じ数字になり、素体に食われる事故を見逃していました) / 最近点計算の 0 除算による NaN を修正 ・v1.0β (2026-08-16) 初版

もちふぃった~・衣装ふぃった〜 プロファイルめーかー(β) - 互換形式の変換プロファイルをUnityだけで自動生成【Blender不要/ボタン一つ/詳細設定あり】
もちふぃった~・衣装ふぃった〜 プロファイルめーかー(β) - 互換形式の変換プロファイルをUnityだけで自動生成【Blender不要/ボタン一つ/詳細設定あり】
発展途上なので何かエラーや不具合がありましたら報告をお願いします。 もちふぃった~ プロファイルめーかーは、変換プロファイル(もちふぃった〜・衣装ふぃった〜互換形式)を Unity だけで自動生成する Editor 拡張です。 シーンに素体アバターを 2 体置いて、変換元と変換先を選んで、生成を押す。それだけで、骨の対応(posediff)と頂点レベルの残差変位場(NPZ)、設定ファイル一式が出てきます。 Blender も Python も外部 EXE も要りません。プロファイルが配布されていないアバターに、VRoid素体に、自作アバターに。 ■ できること ・変換元アバター → 変換先アバターの変換プロファイル一式を生成します(順方向・逆方向の両方) ・生成物: avatar_data / pose_basis / posediff / deformation NPZ / config(互換形式) ・素体の体型シェイプ(胸・踵・靴下など)の単体シェイプ場も同時に生成します ・変換先には、プロジェクト内で見つかった互換 avatar_data(既存プロファイル)か、シーン上の別アバターを選べます(直接ペアも可) ・生成後に精度レポート(表面までの距離の平均/95%/最大、部位別)を表示・保存します ■ 特徴 ・かんたん 3 ステップ(変換元を入れる → 変換先を選ぶ → 生成) ・速い: 3 万頂点級の素体で数十秒〜数分(Balanced プリセット、当方環境) ・詳細設定: 品質プリセット(Fast/Balanced/Detailed)、段数、左右ミラー、格子間隔、フォールオフ、反復回数、除外部位(顔/指/足指/任意骨)、骨の合わせ方(骨基準/メッシュ基準/自動)、スケール規則、表面からの離し幅(衣装を素体から浮かせる量)、対応シェイプ表(config の blendShapeFields) ・C# のみ・DLL なし・ソース同梱 ・衣装ふぃった~ 本体とは別パッケージ。同一プロジェクトに入れても衝突しません(本ツール単体でも動きます) ■ 精度の目安(当方テスト) ・手元の公式配布プロファイル(標準体型 3 体)と同じ指標で比べ、変形後の素体から変換先表面までの平均距離 0.15〜0.66mm(参考: 公式配布物 1.2〜1.6mm) ・無料配布アバター 14 体+小型アバターでも生成・適用を確認(小型・マスコット系は精度が落ちる場合があります) ・生成した NPZ は numpy 実物で読み戻せることを確認済み ・公式配布プロファイルが既にあるアバターは、公式のものをお使いください(本ツールの生成物は表面には乗りますが、公式と同じ仕上がりにはなりません。当たり方が数mm〜1cm程度変わります) ■ 導入方法 1. zip を展開し、OutFitterProfileMaker.unitypackage をプロジェクトにインポート 2. Tools / OutFitter / Profile Maker を開く 3. 変換元アバター(Humanoid)をシーンに置いて指定 → 変換先を選ぶ 4. 生成 を押す(出力先は既定 Assets/OutFitterProfiles/) ■ 注意事項 ・β 版です。生成結果は必ず衣装で試着確認してください ・変換元・変換先は Humanoid で、同じ姿勢(A ポーズ推奨)にしてください。姿勢が違うと精度が落ちます(警告が出ます) ・小型・マスコット系や、骨とメッシュ実体が大きくずれたアバターは精度が落ちることがあります(自動でメッシュ基準に切り替えますが万能ではありません) ・boneComponents(PhysBone 等のシリアライズ)は空で出力します ・生成したプロファイルの配布は、対象アバターの利用規約に従ってください(アバターの形状データを含みます) ・本ツールは他社製ツールとは無関係の独自実装です。他社製ツールに関する問い合わせは受け付けられません ・Unity 2022.3 で動作確認。VRChat 以外は未確認 ■ 内容物 ・OutFitterProfileMaker.unitypackage ・README.md(使い方・技術メモ) ・LICENSE.txt / LICENSE.pdf ・SHA256SUMS.txt ■ 利用規約 ・LICENSE.txt に従います(要点: ご自身の用途での使用・改変は自由。本ツール自体の再配布・転売・共有は禁止。生成したプロファイルの取り扱いは各アバターの規約に従ってください) ・本ツールの使用により生じたいかなる損害についても責任を負いません ■ 更新履歴 ・v1.2.3 (2026-08-23) 画面を「入れたら診断が出る / 触らない欄は畳む」形にしました(変換元・変換先アバターの直下に「OK 胴体の皮 Body (胴体 11/11)」「注意 Face は顔だけ (胴体 1/11)」の1行診断を出し、注意の時は正しい候補を提示して「これを使う」ボタンで直せます / 素体メッシュと穴あき素体の補完FBX(旧: 完全な素体)は「○○側の詳細」としてアバター名入りで畳み、注意のある側だけ自動で開きます / 補完FBXに物を入れると注意を表示し、変換元と変換先で同じ物を入れると赤で警告します) ・v1.2.2 (2026-08-23) 素体メッシュの自動選択を、名前や頂点数ではなく「humanoid の主要部位を実際に覆っているか」で決めるようにしました(顔だけのメッシュが Body という名前で入っているアバターで、従来は名前を優先してそれを素体に選び、胴回りを測れた骨がほとんど無いプロファイルが黙って出来ていました。衣装が変換先の体型に膨らまず、頭の方へ曲がる症状の原因でした) / 胴体を持たないメッシュが素体に選ばれている時は、実行前にエラーで止めて候補メッシュを列挙します(手動や avatar_data で指定した場合は警告に留めます) ・v1.2.1 (2026-08-22) 「完全な素体」の取り違えを実行前に止めるようにしました(変換元と変換先に同じ物を入れた時、または相手アバターの中にある物を入れた時はエラーで止まります。骨は名前で付け替えるため、これまでは相手アバターの体で測ってしまい、体型差がほとんど無いプロファイルが黙って出来ていました。この欄は「そのアバター自身の、削っていない素体 FBX」を入れる所です。素体に穴が無いアバターでは空のままにしてください) ・v1.2 (2026-08-22) 骨スケールの引き寄せ先を、全身 1 本から部位グループ別の代表値にしました(腕・脚・胴などの部位ごとに代表スケールを持たせ、その外側に全身代表からの帯を残しています。全身 1 本だと体格の偏った相手で部位ごとの寸法が揃いませんでした) / 素体の縮小シェイプ(Shrink_*)を、場を作る 2 つの面から外すようにしました(縮小シェイプは既定衣装の下の体を凹ませる補助シェイプで、体の形ではありません。作者が最大値で配っていることがあり、衣装が実際に居る所に素体の面が無くなって変換されない、という症状の原因でした。太さの測定は配布状態のまま行います) / 「完全な素体」の指定を用途で分けました(指定した素体は測定と合わせ先の面に使い、変形させる素体は配布状態のままにします。UI の入力は変わりません) / 部位グループ代表に不感帯 (1%) を入れました(測定の分解能以下の差で代表値を動かさないようにしました) / 骨軸の向きが食い違っている骨を、何度ずれているか名指しで警告するようにしました / 縮小シェイプで潰れている骨を、生成レポートに「シェイプを外せば何 mm あるか」付きで一覧表示するようにしました / Modular Avatar の未ベイク判定が、ベイク済みのアバターまで弾いていた問題を直しました ・v1.1cβ (2026-08-20) 素体に穴があるアバター(既定衣装の下を削ってある素体)で、胴の骨が黙って「変換なし」になっていたのを修正(胴が動かないまま頭だけ動くので、間の衣装が引き伸ばされていました。実測: チビ体型への変換で 95% 誤差 14.25mm → 10.38mm) / 生成レポートに「胴回りを測れた骨 / 全骨」と「恒等変換になった骨の一覧」を出すようにしました(従来の精度指標では「骨が動いていない」ことを検出できませんでした) / Modular Avatar のビルド前プレハブを明示エラーにしました(素体が humanoid 骨と繋がらず、実寸の 1/10 の場が黙って作られていました) ・v1.1β (2026-08-20) 「離し幅(クリアランス)を上げるほど衣装が素体に潜る」を修正(座標系の変換で素体の面の向きが内向きになっており、離し幅のぶん内側へずらしていました) / 登録に使う素体の形が FBX の素の形になっていたのを修正(シーン上の BlendShape の値を既定として使います。体型シェイプや衣装用の縮小シェイプを入れた状態で配布されている素体で、衣装が最初から内側に入る原因でした) / 精度の指標に符号を付けました(距離だけの平均では「離し幅どおりに浮いた」と「同じだけ潜った」が同じ数字になり、素体に食われる事故を見逃していました) / 最近点計算の 0 除算による NaN を修正 ・v1.0β (2026-08-16) 初版