【Blenderアドオン】指先あわせ|体を合わせたシェイプキーの手の指を、相手の体の同じ指へ寄せ直す
- ダウンロード商品¥ 780





体全体を合わせたシェイプキーで、短くなったり、先がつぶれたり、隣の指にくっついたりした手の指を、相手の体の同じ指へ寄せ直すBlenderアドオンです。 体を別の体の形に合わせたシェイプキー(もちふぃった~のプロファイルを作るときに、素体を別の素体に合わせたキーなど)では、細く並んだ指がうまく合わないことがあります。指先あわせは、両方の体の骨のウェイトを手がかりに、手の指をまとめて計算し直します。 ・元の体の指を、相手の体の「同じ指」の表面へ寄せます(親指は親指へ、小指は小指へ)。 ・指の長さ・太さ・開き方の違いは、両方の体の骨のウェイトから読み取ります。 ・指の骨のウェイトが入っていない頂点の座標は変えません。結果は新しいシェイプキー「(元の名前)_指先」に値1で入り、元のキーは値0にして残します。 仕上がりは体の形とウェイトによって変わります。直した後は見た目を確かめ、必要なところは手で整えてください。 【こんな人向け】 ・もちふぃった~のプロファイル作りなどで、素体を別の素体に合わせたシェイプキーを作っている方 ・体全体は合ったのに、指が短い・先がつぶれる・隣の指にくっつく、という方 ・指の頂点を1本ずつ手で動かす前に、まず自動で寄せてみたい方 (両方の体に、手と指の骨のウェイトが必要です)
できること
【基本】 ・同じ指どうしで合わせる:元の体の指を、骨に沿って相手の指の長さと向きに合わせてから、相手の同じ指の表面に少しずつ寄せます。隣の指にくっついた頂点も、自分の指に戻します(指と指の間の頂点は、隣り合う2本の指のどちらかの表面に寄せます)。指の骨の数が両方の体で違うとき(親指の骨が2本と3本など)は、指の長さに沿って対応する位置を計算します。もともと合っていた指も含めてまとめて計算し直すので、合っていた指では、ずれが少し増えることもあります。仕上がりはウェイトや形によって変わります。 ・継ぎ目:Unity や VRoid から書き出した体のように、UV の継ぎ目などで同じ位置の頂点が分かれているメッシュでは、ウェイトと元のキーでの位置が同じ頂点どうしを1つとして合わせるので、その継ぎ目は開きません。ウェイトや元のキーでの位置が違う頂点(重なった別の部品など)は別々に合わせ、その数と、離れた幅をパネルに表示します。 ・指の付け根の折れ:指の付け根で面が折れ返ったときは、指の頂点をならして折れを減らします。ならすと指が相手の表面や指先から離れすぎる手は、ならさずに戻します。残った折れ(元のキーでも折れていた所や、つぶれた面を含みます)は、数をパネルに表示します。手のひらなど、指の骨のウェイトがない頂点は、ならすときも動かしません。 ・足の指:両方の体に、足の指1本ずつの骨があるときだけ、手の指と同じように合わせます。足の指の骨が1本だけの体(多くのアバター)では、足の指はそのままにします。 【押す前と後に確かめられる】 ・「確認する」ボタン:メッシュやシェイプキーは変更せずに、両方の体で見つかった指の数と、合わせられる指の数をパネルに表示します(オブジェクトモードに切り替え、どの骨とどの骨を対応させたかを、テキストエディタの「指先あわせ_結果」に書き出します)。 ・結果の数字:手ごとに「指先のずれ」と「指の表面とのずれ」(平均と最大)を、直す前と後でパネルに表示します。「指先のずれ」は、指先のまわりの頂点と相手の同じ指の表面とのあいだの、いちばん大きい距離です(指が短すぎるときも、長すぎるときも大きく出ます)。指ごとの数字は、テキストエディタの「指先あわせ_結果」に書き出します。指先を測れない指があるときは、その指の名前と、測れた本数を表示します。数字は測れた範囲の参考値なので、結果の形も見て確かめてください。 【失敗したときのそなえ】 ・結果の入れ方:新しいシェイプキーを作る(通常)か、元のキーを書き換えるかを選べます。新しいキーを作るときは、新しいキーを値1、元のキーを値0にします(元のキーの値が1でなかったときは、指以外の所も、キーを値1にしたときの見た目になります)。書き換えるときは、書き換える前の形を設定ごと「(元の名前)_元」として残し、そのキーを基準にしているほかのキーが足す形も変えません。Ctrl+Z でも元に戻せます。 ・合わせられない入力のときは、シェイプキーを変えずに止まり、理由と直し方を表示します。たとえば、ポーズの付いたアーマチュアで動いている体、Shrinkwrap など頂点を動かすモディファイアがオンの体(今の形を動かしていなくても止まります)、一部だけに効くキー、値にドライバーやアニメーション(NLA を含む)が付いたキー、値の範囲に0が入っていないキー、ほかの .blend からリンクしたデータ、ほかのオブジェクトと共有しているメッシュ、鏡写しの体などです。 【細かい対応】 ・すき間:相手の指の表面から、指定した距離だけ外側へ浮かせることもできます(Shrinkwrap のオフセットに近い考え方。通常は0)。外側は、元の体の面の向きで決めます。指の付け根のなじませる所、合わせる強さを1より小さくしたとき、折れをならした所では、設定どおりの距離にならないことがあります。元の体の面の向きが裏返っている所では内側へ浮くので、面の向きを揃えてから使ってください。 ・指の見分け:両方の体の手の指を、骨のウェイト(頂点グループ)から見分けます。Unity(Thumb_Proximal_L)、VRoid(J_Bip_L_Thumb1)、Rigify(DEF-thumb.01.L)、Mixamo(mixamorig:LeftHandThumb1)、MMD(左親指0)、Blender(.L/.R)の書き方に対応しています。複製でついた「.001」などの末尾は無視します。これ以外の書き方は見つからないことがあるので、「確認する」で確かめてください。 ・オブジェクトの位置・回転・拡大縮小(FBXで読み込んだときの0.01倍など)は、そのままで使えます(鏡写しと拡大縮小0は除きます)。 ※ 直した後は、必ず見た目を確認してください。
入れ方と使い方
【入れ方】 1. Blender(4.2以降)で「編集」→「プリファレンス」→「アドオン」を開く 2. 右上の「∨」→「ディスクからインストール」で、ダウンロードしたzipを選ぶ(zipは開かずにそのまま選びます) 【使い方(4ステップ)】 1. 3Dビューのサイドバー(Nキー)→「指先あわせ」タブを開く 2. 直したいシェイプキーのある体(元の体)をクリックして選ぶ(「キー」が空欄なら、選択中のシェイプキーを直します) 3. 「相手の体」に合わせ先の体のメッシュを選んで、「確認する」を押す 4. 「指先を合わせる」を押す 【使う場面】 体全体を合わせたシェイプキーができた後の、指の仕上げに使います。もちふぃった~の手順書の流れでは、「メッシュに変換」と「Join as Shapes」でポーズを焼き込んだキーを作った後、変形フィールドを作る前です(もちふぃった~の手順書では、プロファイルのデータ作りに Blender 5.0 以下が勧められています)。 このアドオンが直すのは、シェイプキーの指の形までです。もちふぃった~で実際の衣装や手袋を変換するところまでは確かめていません。直した後は見た目を確かめてから、次の手順に進んでください。 もちふぃった~・頂点ふぃった~は、それぞれの作者さんの商品で、このアドオンとは関係ありません(非公式)。
使う前に必要なもの
・元の体と相手の体の両方に、手と指の骨のウェイト(頂点グループ)が入っていること ・直したいシェイプキーで、体全体がもう相手の体に合わせてあること(このアドオンが直すのは指だけです) ・直したいキーが、Basis を基準にした普通のシェイプキーであること ・元の体で、Shrinkwrap など頂点を動かすモディファイアがオフになっていて、アーマチュアがレストポーズであること(メッシュに変換した後の体でも使えます。細分化・ミラーなど、表示を整えるだけのモディファイアはそのままで使えます) ・相手の体を、シェイプキーを作ったときと同じ形・同じ姿勢にしておくこと(相手の体は、シェイプキーと、アーマチュアなど頂点を動かすだけのモディファイアをかけた形を使います。細分化・ミラー・データ転送など、頂点の数や並び・ウェイトが変わることがあるモディファイアがあれば、その最初の1つから後ろはかけずに使い、そのことを結果に書きます) ・両方とも、指を伸ばした体であること
動作環境と含まれるもの
【動作環境】 ・Blender 4.2 LTS/4.5 LTS/5.0/5.2 LTS ・確認方法:開発時の自動テストを、画面を使わないBlender(4.2.23・4.5.15・5.0.1・5.2.3、Linux)で動かし、すべて合格したことを記録しています(4.2.23は641項目、ほかは各667項目。項目は判定の数です)。試験に使ったのは、合成した手の形、MakeHuman(CC0)の人体、VRoid の公式サンプル4体の肌のメッシュです。MakeHuman の人体では、体型・指の長さや太さ・骨の名前・メッシュの細かさが違う組み合わせで、指が相手の同じ指の表面に寄ること(手の指では、表面とのずれが平均0.3mm以下・最大2mm以下などの基準)と、指の骨のウェイトがない頂点が動かないことを確かめています。アニメ調の体(VRoid の公式サンプル4体。改変・再配布・商用利用を許可する条件のもの)では、4通りの体の組み合わせと、体を合わせたキーを再現する4通りの作り方の16ケースで、指先のずれ(参考値)が1.5mm未満になること、継ぎ目が開かないこと、指の付け根に折れた面が残らないこと、指の骨のウェイトがない頂点が動かないことを確かめました(体を合わせたキーは、試験用に再現して作ったものです)。合わせられない入力でシェイプキーを変えずに止まること、同じ位置に重なった別の部品が動かないこと、測れない指をパネルに表示することも、テストで確かめています。画面ありのBlender 5.0.1(Linux、日本語表示)でも、インストール、ボタンの操作、Ctrl+Zでの取り消しを確認しています。これらは開発時の試験条件での結果で、すべての体の仕上がりを保証するものではありません。 ・Mac(Apple M1、画面なしの Blender 4.5.3・5.2.3)でも、同じ自動テスト(アニメ調の体のテストを除く各427項目)に合格しました。Mac の画面での操作と Windows は、まだ確認していません。 ・追加で入れるものはありません(Blender に入っている Python と NumPy だけを使います)。 ・速さの目安:MakeHuman の全身(元の体 約1万3千頂点、相手の体 約4千〜5万4千頂点)で、合わせる計算1回あたり約0.7〜1.8秒、指20本の例でボタンを押してから終わるまで約1.3〜1.9秒でした(Linux、Intel Xeon 2.3GHz の4コアで、テストを4つ同時に動かした3回の測定の範囲)。Mac(Apple M1、テストを1つずつ動かしたとき)では、合わせる計算1回あたり約0.6〜1.2秒、ボタンを押してから終わるまで約1.1〜1.3秒でした。アニメ調の体(VRoid の公式サンプルの肌の部分、約5千頂点)では、ボタンを押してから終わるまで約0.4秒でした(Linux)。パソコンや体の細かさ、設定によって変わります。 【含まれるもの】 ・製品版:指先あわせ_v1.2.3.zip(Blenderの「ディスクからインストール」で、開かずにそのまま選びます)。中に使い方.txt と LICENSE.txt も入っています
できないこと
・体全体を合わせること(指の骨のウェイトがない頂点の座標は変えません。体全体は、先に頂点ふぃった~などで合わせてください) ・足の指の骨が1本だけの体の、足の指を合わせること ・片方の体にしかない指を作ること(4本指の体など。その指はそのままにします) ・指を曲げた体(握った手など)どうしの合わせ ・服や手袋を直接合わせること(体どうしのシェイプキーを直すアドオンです) ・手のひらの形を直すこと(元のキーで手のひらが相手の手より大きいままだと、指の付け根に段が残ることがあります。手の大きさは、体全体を合わせるときに合わせてください)
開発について
本アドオンは、AIの支援を受けて開発しました。人体モデル(MakeHuman・CC0)とアニメ調の体(VRoid の公式サンプル)を使った自動テストで動作を確かめていますが、すべての体での動作を保証するものではありません。商品画像1枚目と5枚目の左側は、体全体だけを合わせたキーをテスト用に再現した形で、ほかの道具で実際に作ったキーではありません。
利用規約
・個人・商用のどちらでも使えます。このアドオンで編集したアバターのデータは自由に使えます(元のアバターや素体の規約には従ってください)。 ・ライセンス:GPL-3.0-or-later。アドオンのコードは、GPLの範囲で自由に改変・再配布できます。このアドオンで編集したアバターのデータに、GPLは及びません。 ・このアドオンの使用によって生じた損害について、作者は法令上認められる範囲で責任を負いません。この項目は、法令上の権利を制限するものではありません。使う前に .blend ファイルを保存してください。 ・購入者都合による返品・返金は、原則としてお受けしていません。ただし、不具合などにより法令やBOOTHの規約にもとづく対応が必要な場合は、それに従って対応します。不具合は、BOOTHのメッセージからお知らせください。
更新履歴
2026/11/08 ver 1.2.2 公開 2026/11/08 ver 1.2.3:同じ位置に分かれた頂点のウェイトが違うとき、指の骨のウェイトがない頂点まで動くことがあった問題を直しました。指先のずれを指先のまわりの頂点で測るように変え、測れない指を表示するようにしました。指の付け根の折れをならすと指が相手から離れすぎるときは、ならさずに戻して表示するようにしました。折れが多く残るとても細かいメッシュで、メモリを多く使うことがあった問題を直しました。 修正版は、購入した方が同じページから無料でダウンロードできます。





