3ds MaxのSkin Utilities(スキン ユーティリティ)を使って、元のメッシュから別のメッシュへスキンウェイトを転送する手順です。
2017年の操作画像を含む旧原稿を復元し、Autodesk公式の操作手順と照合して注意点を補足しました。
作業前にシーンを別名で保存してください。
Mayaではなく、3ds Maxでスキンウェイトをコピーする手順を解説します。
セットアップ済みのキャラクターを別ソフトでモデリング修正し、3ds Maxへ戻してウェイトを復元したい場合などに活用できます。
転送は、元のウェイトをSkinDataメッシュへ抽出し、コピー先へ重ね、ボーン同士を対応付けて読み込む順に進めます。
同名ボーンの対応と、メッシュ表面の対応は別の設定なので、名前を一致させただけで転送結果が正しくなるとは限りません。
スキンウェイトコピーの準備
- オリジナル(シリンダーA)とコピー先のオブジェクト(シリンダーB)を用意。(形状や頂点構成が異なる場合は、補間方法としきい値の調整が必要です)
- 両方のメッシュにSkinモディファイヤを適用し、それぞれに対応するボーンを登録します。モディファイヤを追加するだけでなく、Bonesリストへの登録を確認してください。
この例ではボクセルソルバで初期ウェイトを付けました。
転送に必須の初期化方法ではありません。
- シリンダーAにウェイト調整をします。
スキンウェイトコピーのやり方
- 「オリジナル」を選択して、ユーティリティ>その他>スキンユーティリティからスキン データからメッシュを抽出を選択
- SkinData_CylinderAが生成されます。このデータ用メッシュをコピー先と重ね、位置・向き・大きさを合わせます。必要ならデータ用メッシュの頂点を調整して、コピー先の形状へ近づけてください。
- 「SkinData_CylinderA」と「コピー先のオブジェクト」(シリンダーB)を選択して、メッシュからスキンデータを読み込みボタンを選択
SkinDataメッシュには、抽出時点のウェイトがデータとして格納されています。
抽出後に元のウェイトを修正した場合は、その修正を転送するために改めて抽出し、古いSkinDataと取り違えないように名前を確認してください。
転送元・転送先・SkinDataを区別し、読み込み時に選ぶのはSkinDataと転送先の2つです。
- Paste Skin Dataで転送元と転送先のボーンを対応付けます。同名なら名前の一致(Match by Name)を使い、左側の対応一覧を確認します。InterpolationとThresholdを設定してOKを押すと転送されます。
名前が違うボーンは、左右の役割を確かめて手動で対応付けます。
Remove Prefix/Suffixは下線で区切られた接頭語・接尾語を表示名から除く機能で、任意の命名差をすべて解消するものではありません。
自動一致の後も、左腕と右腕などが意図したボーンの組になっているかを確認します。
- 転送後はコピー先のオブジェクト(シリンダーB)を変形させ、関節付近のウェイトが意図どおりになっているか確認します。
結果を見るときは元のメッシュとSkinDataを非表示にし、コピー先だけの変形を確認します。
肩・肘・膝や指などを実際に使う範囲で曲げ、動かない頂点や隣の部位に引かれる頂点がないか調べてください。
確認後は元データを残した保存先とは別に保存し、不要になったSkinDataは作業シーンから削除できます。
頂点構成が異なる場合の確認
同一メッシュならMatch by Vertexを使い、頂点構成が異なる場合はMatch by Faceを選びます。
Thresholdは対応する頂点・面を探す距離です。
シーンの単位と形状に合わせて少しずつ調整し、離れた部位へ誤対応していないか確認します。
一部が転送されない場合は、まず転送先のBonesリストと、Paste Skin Dataの対応済みボーンを確認します。
その後にSkinDataとの重なり、補間方法、Thresholdを順に見直し、一度に複数の条件を変えないようにします。
Thresholdだけを大きくして合わせると、近くにある別の部位を拾う可能性があるため、手指や左右の脚などが近い箇所は特に比較してください。
ボーン名の対応と転送結果を確認し、必要に応じてウェイトを調整してください。
更新時の実機での転送試験は行っていないため、画像と現在の画面表記が異なる場合があります。
3DCGのほかの記事は、まとめからご覧いただけます。

Mayaで影響範囲を変更する方法はこちらです。

3ds Maxの記事は、ほかにもあります。




よくある質問:3ds Maxでスキンウェイトをコピーするときのチェックリスト
3ds Maxで、スキンウェイトをコピーするには?
Skin Utilities(スキン ユーティリティ)を使って、元のメッシュから別のメッシュへ、スキンウェイトを転送します。
セットアップ済みのキャラクターを、別ソフトでモデリング修正し、3ds Maxへ戻してウェイトを復元したい場合などに活用できます。
作業前に、シーンを別名で保存してください。
コピーの準備は、何をしますか?
元とコピー先を同じシーンに用意し、両方にSkinを適用して対応するボーンを登録します。
元のウェイトを調整してから抽出し、抽出したSkinDataメッシュをコピー先へ重ねます。
形状が異なる場合は補間方法としきい値を調整してください。
コピーの手順は?
元メッシュからExtract Skin Data To Meshを実行します。
生成されたSkinDataメッシュをコピー先へ重ね、両方を選んでImport Skin Data From Meshを押します。
ボーン対応、Interpolation、Thresholdを確認し、OKで転送します。
転送したあとは、何を確認しますか?
コピー先のオブジェクトを変形させ、関節付近のウェイトが意図どおりになっているか確認します。
ボーン名の対応と転送結果を確認し、必要に応じて、ウェイトを調整してください。
頂点の構成が、元のメッシュと違います。
Match by Faceを使い、コピー先に重ねたSkinDataメッシュとの対応を確認します。
Thresholdは探索距離なので、必要な範囲で調整してから転送し、関節などを動かして誤対応がないか確認してください。
ボーンの名前が違うと、どうなりますか?
名前が異なる場合は、転送元と転送先の対応するボーンを選択し、左矢印で対応付けます。
名前の接頭辞・接尾辞だけが違う場合は、ダイアログのRemove Prefix/Suffixで表示名をそろえる方法もあります。
左側の一覧で対応付けたボーンだけが転送対象です。
この記事の画面は、今の3ds Maxでも同じですか?
2017年の操作画像を含む旧原稿を復元し、Autodesk公式の操作手順と照合して、注意点を補足した記事です。
更新時の実機での転送試験は行っていないため、画像と現在の画面表記が異なる場合があります。
最新の操作は、Autodeskの公式ヘルプで確認してください。
