(当トピックでは、MechaStudioの拡張機能である「ボーン ウェイトのミラー コピー」コマンドを使用しています。)
通常のミラー コピー
「ファイル」メニューの「開く…」から、「mikoto_bone11_mir_weight.toy」を開きます。このモデルでは、テスト用として以下のように「左もも」ボーンのウェイトがメッシュの左半身のわき腹の付近まで分布しています。今回は、このモデルの左半身側のボーン ウェイトを右半身側にミラー コピーします。
スキニングされたメッシュ本体である「sdef:body」が選択された状態で、
「オブジェクト」メニューの「ボーン ウェイトのミラー コピー」をクリックすると、
以下のダイアログが表示されます。このメッシュのルート ボーンである「ヒップ」ジョイント以下において、左右対称なボーンの名前は全て「右~」、「左~」となっているので、「対称ボーンの親オブジェクト」で「ヒップ」ジョイントを選択し、「対称ボーンを名前で判別」をONにします。
メッシュ本体の座標系のX軸方向(左右方向)でウェイトをコピーするので、「ウェイトのコピー方向」は「X方向」、「メッシュの座標系」をONにします。また、メッシュのX軸方向のプラス側の頂点のウェイトをマイナス側にコピーするので、「マイナス側をプラス側にコピー」をOFFにします。「OK」ボタンをクリックすると、
メッシュの左半身側のボーン ウェイトが右半身側にミラー コピーされました。「左もも」ボーンと左右対称な「右もも」ボーンのウェイトは、以下のようにメッシュの右半身のわき腹の付近まで分布するようになりました。
ルート ボーンを中心としたミラー コピー
「ファイル」メニューの「開く…」から、「jump-horizontal-takiguchi2_weight.toy」を開きます。前回のモデルと同様に、テスト用として以下のように「LeftHip」(左もも)ボーンのウェイトがメッシュの左半身のわき腹の付近まで分布しています。
ただし、前回のモデルと違って、メッシュの各頂点はその原点について左右対称ではなく横にずれた位置にあります。よって、ボーン ウェイトのミラー コピーをメッシュの座標系ではなく、ルート ボーンの座標系で行う必要があります。
ルート ボーンである「Hips」ジョイントのX軸方向がメッシュの左右方向であり、その位置がメッシュの左右方向の中央であることを確認しておきます。
スキニングされたメッシュ本体である「sdef:body」が選択された状態で、
「オブジェクト」メニューの「ボーン ウェイトのミラー コピー」をクリックすると、
以下のダイアログが表示されます。このメッシュのルート ボーンである「Hips」ジョイント以下において、左右対称なボーンの名前は全て「Left~」、「Right~」となっているので、「対称ボーンの親オブジェクト」で「Hips」ジョイントを選択し、「対称ボーンを名前で判別」をONにします。
「対称ボーンの親オブジェクト」(ルート ボーン)の座標系のX軸方向(左右方向)でウェイトをコピーするので、「ウェイトのコピー方向」は「X方向」、「メッシュの座標系」をOFFにします。「OK」ボタンをクリックすると、
メッシュの左半身側のボーン ウェイトが右半身側にミラー コピーされました。「LeftHip」(左もも)ボーンと左右対称な「RightHip」(右もも)ボーンのウェイトは、以下のようにメッシュの右半身のわき腹の付近まで分布するようになりました。
ボーンの名前が左右対称ではない場合のミラー コピー
「ボーン ウェイトのミラー コピー」コマンドでは、各ボーンの名前が左右対称の形式になっていない場合、ボーンのバインド ポーズにおける位置を利用して対称ボーンが判別されます。この場合、「対称ボーンの親オブジェクト」で対称の基準となる親オブジェクトを選択し、「対称ボーンを名前で判別」をOFFにして「ボーンの対称方向」を指定します。
頂点の位置が重複する場合
オブジェクト内の複数の頂点座標値が一致し、その頂点に接続する面の他の頂点座標値も全て一致する場合は、その頂点のウェイトはコピーできませんのでご注意ください。