【Blenderアドオン】骨合わせ下ごしらえ|元のアバター無しで非対応衣装の骨を合わせ、レスト適用・結合・ウェイト転送まで
- ダウンロード商品¥ 1,200





VRChatアバターの非対応衣装を、Blenderで着せる前の下ごしらえをするアドオンです。 衣装と、着せたいアバターの2つのアーマチュアを選んでボタンを押すと、次の5つを順に行います。 ① ボーン名の対応を推定する ② 衣装の骨を、アバターの骨の付け根・向き・長さに合わせる ③ シェイプキーを保ったまま、そのポーズをレスト(基本姿勢)に適用する ④ アーマチュアを結合する ⑤ アバターの素体からウェイトを写す 衣装を作ったときの元のアバターの素体メッシュや、変換プロファイルは使いません。衣装に入っている骨と、着せたいアバターの骨・素体だけで動きます。 骨を一本ずつ回したり伸ばしたりしてアバターに合わせる、シェイプキーがあるのでポーズをレストに適用できない、骨の名前と頂点グループ名を一つずつ合わせる、という非対応衣装を着せるたびの手作業を減らすために作りました。 結果は「ざっくり合わせた状態」です。体の形の違いの仕上げ(ラティス・スカルプト)や、ウェイトの手直しは残ります。 【① ボーンの対応】 ・骨の名前から部位を推定します(腰・背骨・胸・上胸・首・頭・肩・上腕・前腕・手・指3関節×5本・太もも・すね・足・つま先・目・胸の揺れ骨) ・衣装の骨ごとに「合わせる/残す(揺れもの等の衣装だけの骨)/親にまとめる(ねじり骨など)」を自動で振ります。行ごとに手で選び直せます ・名前の形式:Hips / UpperArm_L / Upper_arm.L / Thumb Proximal_L のようなVRChatでよく見る形、VRoid(J_Bip_L_UpperArm)、Mixamo、CATS、Unity Humanoid、Unreal、Rigify、3ds Max Biped ・全部の骨に付いた前置き(Dress_Hips の Dress_ など)は外して比べます ・対応表をJSONに書き出して、同じ組み合わせで読み込めます 【② 骨を合わせる】 ・衣装のアーマチュアにポーズを付けて、骨の付け根をアバターの骨に重ね、次の骨へ向かう向きと長さを合わせます ・AポーズとTポーズの違いも、この段で合わせます ・太さは「腰幅と肩幅の比から」「長さと同じ比率」「変えない」から選べて、倍率で補正できます ・合わせたあと、ポーズモードで手直ししてから③へ進めます ・今の姿勢で、素体の内側に入っている衣装の頂点を数えられます 【③ レスト適用】 ・今のポーズの形を、衣装メッシュとすべてのシェイプキーに書き込んでから、そのポーズをレストにします ・シェイプキーは作り直さないので、キーの名前・値・ドライバーはそのままです ・骨に親子付けしたアクセサリーは、見えている位置のままにします 【④ アーマチュアの結合】 ・衣装だけの骨(揺れもの・リボンなど)を、親子関係を保ってアバターのアーマチュアに足します(ボーンコレクションにまとめます) ・頂点グループの名前をアバターの骨にそろえ、ねじり骨などのウェイトは親の骨にまとめます ・ウェイトの無い衣装だけの骨(元のアバターの髪の骨など)は足しません 【⑤ ウェイト転送】 ・衣装の頂点ごとに、素体のいちばん近い面のウェイトを写します ・「残す」にした骨(揺れものなど)のウェイトはそのまま残します ・1頂点の骨の数の上限(既定4)と、写す距離の上限を決められます 【戻す】 ・②〜⑤の前に、その時の状態をファイルの中に保存します。一覧から選んで、その段の前に戻せます ・①〜⑤をまとめて実行するボタンもあります 【練習用の人型で試せます】 「練習用のアバターと衣装を作る」ボタンで、骨の名前と体格が違うアバターと、別の体型・Aポーズ用に作った衣装(シェイプキー・スカートの揺れもの骨・リボン付き)を作れます。商品画像の数字はこの人型で測ったものです。 テストは、この練習用の人型と、自作の骨の名前の表だけで行いました。市販のアバター・衣装ではテストしていません。 練習用の人型での実測(Blender 5.1.2・macOS、衣装 26,812頂点、アバターの素体 51,586頂点): ・ボーン名の対応:衣装の人型の部位 55 をすべて正しく対応付け、誤った対応 0 ・自作の名前の表11種の全組み合わせ(110組)で、人型56部位の対応 6,160 / 6,160 ・③のあとの骨の付け根のずれ:最大 0.0003 mm ・シェイプキー6個:ポーズで見えていた形とレスト適用後の形の差 最大 0.0002 mm ・素体の内側に入った衣装の頂点:置いただけ 5,276 → ①〜⑤のあと 273(1.0%。残りは肩の上と手袋の親指、深さは最大 3.7 mm) ・⑤のあとのウェイト:全頂点で合計 1.000000、ウェイトの無い頂点 0、1頂点の骨は最大4本 ・揺れもの・リボンの骨のウェイト:⑤の前後で変化なし ・①〜⑤の一括実行:0.42 秒 お手持ちのアバター・衣装での結果は、衣装の作りや体格の差によって変わります。 【対応Blender】 Blender 5.1以降(動作確認:Blender 5.1.2 macOS版) Blender 5.0以前には入りません。Windows版・Linux版のBlenderでは動作を確かめていません。 画面の表示は日本語です。 【できないこと・注意】 ・合わせるのは、骨の付け根・向き・長さと、骨の間隔から決めた太さだけです。胸・お尻・肩の厚みなど、体の形の違いは合わせません ・骨格の割に太い・細いアバターでは、ゆるすぎたり、めり込んだりします。太さの倍率で調整してください ・腕の角度が大きく違う(Aポーズの衣装をTポーズのアバターへ)と、肩の上が少し沈むことがあります ・ウェイトはいちばん近い素体の面から写すので、脇の下・脚の間・長いスカートなどでは別の部位を拾うことがあります。手直しが必要です ・ウェイトを写す素体は1つのメッシュだけです ・PhysBone(揺れもの)の設定は扱いません。骨の名前は残すので、Unityで設定し直してください。スカートなど揺れもので動く部分は、Blenderの中でアバターを動かすと脚が布を抜けます ・MMDの日本語のボーン名(左腕・上半身2 など)は自動では対応付けません。一覧で手で選べます ・衣装の骨に付いていたコンストレイント・ドライバー・カスタムプロパティはアバターへ移しません ・アーマチュアより上に変形モディファイアがあるメッシュと、リンク複製で共有しているメッシュは、③で止めて知らせます ・VRChat・Unity上での見た目は確かめていません。Unityに取り込んで確かめてください ・衣装・アバターの利用規約(改変や他のアバターでの利用の可否)は、各商品の規約に従ってください ・ポーズを変えたときのめり込みの確認には、同じショップの「貫通パトロール」が使えます(https://booth.pm/ja/items/8940407) 【入っているもの】 ・honeawase-1.0.0.zip(アドオン本体) zipは解凍せずに、Blenderの「プリファレンス」→「アドオン」→「ディスクからインストール...」で入れます 【ライセンス】 GPL-3.0-or-later(Blenderのアドオンとして、Blenderと同じGPLの条件に従います)





