weight3DキャラクターをBlenderにインポートし、ボーンを削除したらそのボーンに割り当てられていた肌(スキニングされていたメッシュ)が動かなくなり、関節を曲げると肌が餅のように伸びてしまいました。CHANボーンを消す前に頂点ウェイト(ボーンと肌の関連度)を親ボーンにコピーしたら解決したのでその方法をまとめました。株式会社サファイアートがUnityアセットとして公開している「サファイアートちゃん」を例に挙げます。UnityアセットのFBXファイルとテクスチャ画像ファイルをコピーしてBlenderにインポートしました。これらの捻りボーンを削除して腕を動かすと下の画像のように手首が伸びてしまいます。サファイアートちゃんの腕の各頂点は複数の頂点グループを共有し、どの頂点グループの影響をどれくらい受けるかという「頂点ウェイト」が設定されています。頂点ウェイトに影響を与えるボーンを削除したため、動かなくなってしまったわけです。Modifierで頂点ウェイトを親ボーンにコピーする方法ボーンを削除する前に削除したいボーンの頂点ウェイトを親ボーンにコピーすれば解決します。頂点ウェイトは無数の頂点ごとに0.0から1.0までの数値を指定するため、手作業でコピーするのは現実的ではありません。Modifierの設定方法は次の通りです。Paint画面にしてボーン名を表示すると変化がわかりやすくなります。Modifierが正しく設定できたらApplyボタンをクリックし、ボーンを削除します。頂点グループを親ボーンにコピーしてから左右の手首捻りボーンを削除した結果です。ModifierをPythonスクリプトで実行する方法ModifierはPythonスクリプトでも実行できます。下のスクリプトの日本語で書いた部分を個別に修正すればコピー・ペーストで実行できるサンプルです。modifier=myVertexWeightMix.name)どんなときに役立つかUnityアセットやMMDモデルなど、ボーンの数や構成はそれぞれ異なりますです。多くの人型モデルの指は3本のボーンで構成されることが多いですが、下の画像のように4本の指で構成するモデル作者もいらっしゃいます。3Dキャラクターの各指のボーンは3本と決められているため4本ボーンのキャラクターを登録した場合、手を握りしめるポーズが下の画像のようになります。これでは手に見えません。STUDIOの仕様に合せて各指のボーンを3本に減らす必要がありますが、前述の通りボーンを削除するだけでは肌が伸びてしまいます。4本目のボーンの頂点グループを親ボーンにコピーしてから4本目のボーンを削除し、手を握りしめるポーズをとった結果が下の画像です。期待通りの表現になりました。モデルデータを他のアプリケーションに移植する際にボーンを削除する必要があるかもしれません。そんなときに知っていると便利です。FBXファイルの互換性を試してみました以上、参考になれば幸いです。当ブログは公開後に内容を修正することがあります。当ブログの内容により発生した損害につきましては一切の責任を負いかねますのでご了承下さい。ユーザーの訪問の際にクッキーやアクセス解析という方法でユーザーの行動を記録しています。これはユーザー個人を特定できない情報であり、サイトの質向上のために用いられます。プライバシー保護のために当ブログのクッキーの取得を拒否するにはお使いのブラウザのクッキーの送受信を拒否するよう設定してください。当サイトは第三者によって配信される広告を表示します。その際、ユーザーが過去に閲覧したサイトの情報からユーザーの興味のある広告を優先的に表示することがあります。このために、ユーザーのインターネット閲覧履歴情報を利用することがありますが、これらは個人を特定できる情報ではなく、個人情報の漏洩や電話、手紙、メールによるセールスはありません。