衣装のフィッティング
このページを読むと 別のアバター向けに作られた衣装を、いま使っているアバターに着せる全体の流れを、ウェイトの転送から メッシュ保存 まで一通り追えるようになります。
前提: 衣装のオブジェクトはアバターに取り付けられていて、アバターのボーンはすでに移植されています。衣装が体に食い込んでいる、ポーズについてこない、表情キーがない、といった状態です。
手順
1. ウェイトを転送する
衣装のオブジェクトを選んで 読み込み を押し、ボーン接続 タブに移動します。
別メッシュからウェイトを取得 で、次のように設定します。
ソースメッシュ: アバターの体のSkinnedMeshRenderer適用範囲:メッシュ全体最大距離: 既定値から始め、範囲外の頂点が多く報告される場合は少しずつ上げます
ウェイトを取得 を押して、結果を確認します。結果には、適用された頂点数、範囲外の頂点数、スキップされた頂点数が表示されます。
範囲外の頂点がゼロになるまで距離を上げ続けるより、残った少数の頂点は次の手順で手作業で塗るほうが、結果は良くなります。距離を大きくしすぎると、関係のないボーンまで引っ張られてしまいます。
ソースとターゲットのレンダラーのトランスフォームが異なると、ウィンドウが警告を表示します。その場合は ソーストランスフォームを無視(バインドポーズのローカル空間で照合) をオンにして、転送をやり直してください。→ ボーン接続
名前が一致しないソースのボーンがある場合、そのボーンの影響は破棄され、一覧で通知されます。そのボーンが本当に必要なら、アバターのボーンの名前を合わせてからやり直すほうが早く済みます。
2. 対称ペイントで補正する
転送は表面の近接点による対応付けなので、袖の先、襟、スカートの裾のように体から離れた部分は、不自然に見えることがあります。
- ヒートマップ(
ウェイト表示)をオンにして、どこがおかしいかを確認します。 対称ペイントをオンにします。対応するボーンが正しく見つかっているか確認してください。- 腕や脚を曲げたポーズにして、
加算(1)、減算(2)、スムーズ(3)で塗ります。 - 広い面を均一にするには、
ブラー(4)と平均(5)のほうが速く進みます。
中央のボーンとして扱われているが、本来は左右のボーンであるべき場合は、リグの名前の付け方が対応する形式と合っていません。→ 名前の規則
複数のボーンにチェックを入れて 選択ボーンのスムーズ を使うと、一度にまとめて整えられます。関節の周りの境界がまとめて整います。
3. 使わないボーンを結合する
衣装が元のアバターで使っていた余分なボーンが残っている場合は、削除する前にウェイトを親へ移す必要があります。
ボーンウェイトの結合 の アクティブボーンを親(親の名前)へ結合 を使います。移したあと、そのボーンのウェイトは 0 になるので、階層から安全に削除できます。
いくつものボーンを一度に整理する場合は、対象のボーンをアクティブにし、削除するボーンにチェックを入れてから、チェックしたN個のボーンをアクティブボーンへ結合 を押します。
4. 表情キーを取り込む
衣装にフードやマスクのように顔を覆う部分がある場合は、表情キーが必要です。
表情キー タブで 他のメッシュからキーを取り込む を使います。
ソースメッシュ: アバターの顔のメッシュ- 必要なキーだけにチェックを入れます。
すべて選択は通常やりすぎです。 最大距離を設定してから取り込みを押します。
対応する点が見つからない頂点は、動かずにそのまま残ります。同じ名前のキーがすでにある場合は、置き換えるかどうかを尋ねられます。残したいキーは、取り込む前に L でロックしておいてください。ロックされたキーは、転送の対象から外れます。
5. 形を整える
ここまでの作業で、動きは合うようになりました。残るのは、体に食い込んでいる部分です。
形を整える タブで次のように進めます。
引っぱる(1)で、食い込んでいる部分を内側へ押し込みます。対称をオンにし、平面表示で軸が合っているかを確認します。- 変えてはいけない部分は、マスクモード(
M)のアイランドでクリックして保護しておきます。
衣装の内側にある体の部分を削り取る方法もあります。選択・移動 タブで、衣装に完全に隠れるフェイスを選んで削除します。ポリゴンの数も減ります。削除したあとに残る頂点は、メッシュ保存 のときに自動で整理されます。
X-Ray(Alt+Z)をオンにすると、衣装の内側にある体の表面を透かして見ながら選べます。
6. メッシュ保存
衣装と体を一緒に読み込んでいれば、メッシュ保存 を 1 回押すだけで、それぞれの _Edit.asset が作られます。結果の表で、すべてが成功したかを確認してください。
メッシュ保存 の前にバッジが キー編集中 になっている場合は、先に表情キーの編集を確定するか取り消してください。
後から手を入れ直すとき
すでに _Edit.asset を使っているレンダラーを 読み込み し直して、作業を続けます。同じ元のメッシュから作られた出力であれば、メッシュ保存 は同じファイルを GUID を保ったまま更新するので、プレハブやアニメーションからの参照が切れません。→ 生成されるファイル