Unityのみでの非対応衣装の着せ方備忘録


概要

どんな記事なの?

 本記事は、筆者がVRChatの衣装改変にて、Unityのみで、アバターに非対応の衣装を着せる際、そのやり方や意識している点を書き記している記事です。

使用ツール

 本記事では、以下のツールを使用しています。

  • Unity2022(2022.3.6f1)

  • Modular Avatar(以降MA)

  • Gesture Manager

  • VRC/3Dアバター向け簡単着せ替えツール「キセテネ」

  • アバターと衣装。それらの導入に必要なシェーダー(lilToon等)

 作業の都合上、アバターにはブレンドシェイプが付いている前提で解説します。

 また、本記事で使用したアバターと衣装は以下の通りです。

 使用アバター:オリジナル3Dモデル「マヌカ」ver1.02

 使用衣装:【MameFriends/Nemesis】Sweet Gyaru School Look
(キプフェル対応の衣装を使用)


衣装の着せ替え

1.アバター、衣装の導入

 まずは、アバターと着せ替える衣装をUnityにインポートし、Hierarchie(ヒエラルキー)に置きます。
 この時、アバターのデフォルトの衣装が付いている場合、衣装側のInspector(インスペクター)上部のチェックボックスを外し、非表示にします。
 必ずアバターと衣装の位置は、原点、Position(ポジション)のX, Y, Zが全て0にしてください。

衣装のインスペクターの赤丸部のチェックボックスを外すと衣装が非表示になります
アバターと衣装がこのように重なってたらOK

2.大まかなスケールを合わせる

 次に、衣装のスケールを調整します。
 スケールの調整に限らず、衣装の調整は、全て衣装のArnature(アーマチュア)より中の部分で調整します。

ここで調整しないと衣装が動きません

 まずは、アーマチュア中のHipsを選択します。その後、Hipsのインスペクターの中のscale(スケール)をいじり、大まかな服の大きさを決定します。その後、ポジションのy軸を調整し、服で体を覆います。
 この時のスケールは、大体胴回りが同じくらい(胴が覆いかぶさるように)になるようにします。

今回の衣装はスケールX, Y, Z全部1.3倍に拡大

 これで、大まかな調整は完了です。
 この状態で細かい調整に入ります。筆者は、胴回り→肩や腕→腰→靴→アクセサリーの順で調整しますので、その順で解説します。

3.首回りの調整

 まずは、首回りの調整に入ります。
 襟や胸元を基準に、Spine(上半身)のスケールとポジションのy軸を調整します。(下画像〇部分)
 この時、首元以外の身体が貫通することがありますが、元々、肌が露出する場所でない限り、気にせず調整してください。
 服に胸のシェイプキーがある場合、この時に調整してください。
 もし、Spineの調整のみで、腰回りのメッシュが間延びした感じになるような場合、Spineの中のChest(胴)やHipsでも同様にスケールとポジションの調整やを行ってください。
 腰と上半身との間延びを、お腹と胸元の間延びで中和できるため、違和感を軽減できます。

Spineの中のChestの調整し後。肩とブラが貫通していますが、首元はフィットしているのでOK

4.腕の調整

 次に、肩回り、腕の部分の調整を行います。
 肩回りの調整は、Spineの中にあるShoulder.LとShoulder.Rのポジションを調整します。
 ポジションに関しては、片方のy軸を調整し、その後、もう片方の肩へy軸のポジションをコピペすれば、左右のズレが生じなくなります。

貫通していた肌がなくなりました

 腕の調整は、キセテネの併用で行います。
 キセテネで服を選択した後、上半身部分の袖を伸ばしたり、太さを調整することで、左右の袖が一緒に調整できます。
※この時、キセテネで着せ替えは行わないでください。
 失敗した場合でも、一度キセテネのウィンドウを消し、同様の操作を行うと、再度挑戦可能です。
 その後、袖に違和感がある場合、Shoulder.の中にあるUpperArm.(二の腕)やLowerArm.(肘より先の部分)のスケールを調整してください。
 この腕の調整は、カメラを腕の中に突っ込んで、袖の中に腕が中心くらいになるように調整しください。

キセテネの画面
調整後の袖の中

5.スカートの調整

 次に、スカートの調整を行います。
 スカートは、衣装にもよりますが、UpperLeg.LとUpperLeg.R。もしくは、Skirt Rootといった名前でHipsのに中にあります。
 今回の衣装は、UpperLeg.LとUpperLeg.Rで管理されているため、それらのスケールとポジションを調整します。
 お尻や太ももが貫通しないように気をつけて調整します。

スカートの調整後

6.足元の調整

 次に、足元の調整を行います。
 靴や靴下など、ヒザより下にあるものは、UpperLeg.の中にあるLowerLeg.で調整します。
 また、靴はその下のfoot.やToe.でも調整する必要があるため、LowerLeg.で靴下の調整をした後、foot.とToe.で靴の最終調整を行います。
 靴下の場合、しっかり足の中心で履けているか。靴の場合、足にフィットしているかを確認しながら着けてください。

調整後。靴を少し細長くしました

 ただし、ストッキングを含む靴下や、靴の類は、非対応で着せるのが非常に難しいため、根気強く調整するか、妥協するか、靴と靴下を消して、アバター対応の物と付け替えてください。

7.アクセサリーの調整

 次に、アクセサリーの調整を行います。
 アクセサリーはブレスレットだったらLowerArm.かその中のHand.に。ヘアアクセサリーなら、Chestの中のNeckの中のHeadに独自の項目、もしくは直付けされています。
 今回の衣装は、ヘアアクセサリーがあるため、Headで調整します。
 バックは、Shoulder.Lの中に追加項目があり、そちらで調整可能ですが、現在のバランスが良いため、未調整です。

ヘアアクセサリーを頭に合わせました

8.アバター側の調整

 次に、アバターのブレンドシェイプ機能を使って、最終調整を行います。
 一部のアバターのBody部分には、Blendshapes機能があり、身体の一部分を絞ることができます。
 今回はその機能を使って、貫通してしまった胸の部分(下画像□部分)を絞ります。

マヌカの場合、Chest2で胸が絞れます

9.着せ替えと最終調整

 最後に、MAでSetup Outfitを行い、アバターに衣装を着せ、Gesture Managerでテストを行います。

テスト時の画像

 テストしてみると、破綻部分(上画像〇部分)が発見できましたので、不具合を潰していきます。今回の場合、脇の貫通はブレンドシェイプでShoulderとUpperArmを絞り、足の貫通は、6.足元の調整を再度行いました。
 そして、何回か調整とテストを繰り返します。

全ての調整が完了した姿

 Gesture Managerで上手く動いてくれたら、VRChat上にアップロードし、上手く動いてくれたら完了です。
 また、この段階で、非表示にしていたアバターの衣装のメッシュなどを削除してください。
 お疲れ様でした。


余談

何で胸元から調整したの?

 アバターのアーマチュアは腰を中心に手足、頭へ分かれます。例えば、右手までのルートは、
Hips(腰)→Spine(上半身)→Chest(胸元)→Shoulder.R(右肩)→UpperArm.R(二の腕)→LowerArm.R(肘より先)→Head.R(手)
                               です。
 Head.Rは、より上にあるUpperArm.RやChestの影響を受けます。つまり、先により上にあるSpineの調整を終わらせないと完全な調整が完了できません。
 また、上半身は調整時に間延びした印象をかき消すため、Hipsの位置を調整し直す必要があり、スカートの最終調整のためにも、筆者は先に胸元から調整しています。

いいなと思ったら応援しよう!