2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VRChat ウェイト転送を使った着せ替え

Last updated at Posted at 2020-09-08

VRChatでのアバターに服を着せ替える際、Unityだけでやるのか、Blenderも使うのか…、Blenderを使うにしても服側に素体ありを使うのか、なしを使うのか、色々ありますが今回は服側に素体がない場合の着せ替えになります。
(※注意点1:Blender2.79bでの説明。)

今回は素体のウェイトを服に転送(コピー)し、着せ替えるのが目標です。(見出し写真↓)
(※注意点2:素体にウェイトがない部分がある振り袖やコートなどの肌に密着しないタイプの着せ替えには使えません。)
D9-ruERUIAASUWz.png

1.まずはじめに素体側のBlenderファイルを開く、もしくは素体側のFBXをインポートします。今回は素体側がクレリックちゃんなのでFBXでインポートです。↓
D9-sZrbVAAEzoO5.jpg

2.マテリアルやテクスチャの情報が表示されてないときはキャラが表示されてる3Dビュー上(モデルが映ってるところ)でNキーを押してShadelessをクリック。↓
D9-vZdfUwAAqs7A.jpg

クリックした後です。↓
D9-vZzrU0AAbouF.jpg

3.次は服側をインポートします。↓(今回は潮溜さんのトップス(https://siodamari.booth.pm/items/1428879) を拝借。
D9-upwUUcAA3Rke.jpg

4.テクスチャがないのでShadeless…しても出てこないときは手動で設定し直しなのですがしなくても行けるのでこのまま行きます。↓
D9-uqG6U4AApdNq.jpg

5.オブジェクトモードで服のArmatureを選択して、3Dビュー上で「G」→「Z」→移動
Zの部分をXとかYでも同様に調整。↓
D9-v9xcU4AA_BLV.jpg

6.ボーンが邪魔なので非表示にします。(写真の目のマーク↓
D9-yd-pVAAAPo87.jpg

7.サイズを合わせましょう。拡縮は「S」キーです。「S」のあとに「X」「Y」「Z」どれかを入力するとその方向だけに拡縮できます。↓
D9-ynhsU0AAhrN6.jpg

お腹周りがこれだとちょっとダサイですね。
8.編集モード、面選択にして「Z」キーでワイヤーフレーム表示。そして変形したいところの面を選択していきます。(ワイヤーフレーム表示は使わなくても良いです。)↓
「B」で矩形選択、「C」で円形選択です。選択解除は、矩形選択ならShiftドラッグ、円形選択ならスクロールボタン。
D9-3OSAU4AEowp1.jpg

9.今回はこのくらい(写真1)選択して「G」→「Y」で右側に少し移動、このくらい(写真2)選択してまた移動、としました。↓
D9-2gGwUYAEeJXv.jpg
D9-2gcoUYAAW4PU.jpg

ちょっとジクザグですね。↓
D9-2iD4VAAAkhV0.jpg

10.辺選択モードにして移動したい辺を選択。↓
(Shift右クリックで地道にやるか、始点を選択した後、終点をCtrl右クリックでもOKです。)
「G」→「Y」で移動。
D9-3xFeU8AA9YlH.jpg

11.形が整ったら服のArmatureにあるオブジェクトを素体のArmatureに移動いきます。
まずはオブジェクトモードで、目のマークをクリックして非表示にしていたものなどは表示します。
その後、服のArmatureをクリック、そしてオブジェクト→適用→回転と拡縮&位置をします。
そうすると右下のトランスフォームみたいに数値がリセットされるんですね。↓
(黄色い▽の記号がついた服とかもすべて同じようにします。複数ある場合はShift選択で複数選択すると良いです。
(これで服が吹き飛んだりしなくなります。
D9-4sONU4AE2JwQ.jpg

12.服のオブジェクトの黄色い▽をクリック&ドラッグで素体のArmatureまで持っていき、ドロップです。↓
D9-5_ySUwAI4Rk6.jpg

13.空のグループをクリック。↓
D9-6ZHOUYAAIK9a.jpg

これで服が素体側のArmatureに入りましたね。↓
D9-6ukTUYAAeKKF.jpg

14.オブジェクトモードで素体のオブジェクト(転送元)をクリックします。↓
D9-7avkU4AAdYtU.jpg

15.服のオブジェクト(転送先)をShiftクリックします。↓
D9-7bcpUEAAEhcK.jpg

16.ウェイトモードにして左のツール(「T」で表示)からウェイト転送↓
D9-73t-UcAAF1FO.jpg

17.実行されると左下に設定画面が出てきます。まだ途中なんです↓
D9-8Js-U0AEVhiT.jpg

18.転送元レイヤーを「アクティブなレイヤー」から「名前」にします。↓
D9-8TxUUwAIq6aE.jpg

すると転送完了です。↓
D9-8a9tUYAAerKV.jpg

19.ポーズモードにして腕とかのボーンを選択して「R」で回転させたりすると動くのが確認できます。↓
D9-8nM1VUAE7-6w.jpg

最後にFBX出力してUnityへ持っていきます

20.左上のファイルから名前を付けて保存した後、エクスポート→FBXしましょう。 設定は写真1~4を見てください。 ↓
(モデルによってはボーンの向きや大きさ、構成が変わる可能性があるので写真5も参考に(Blender2.8以降の写真ですが))
メイン、ジオメトリ、アーマチュア、アニメーションの4種類です。写真1のカメラとランプはShiftクリックです。
D9_CuFgVAAE-pE2.jpg
D9_C1-dU8AIT5fS.jpg
D9_C3NXUcAAT-41.jpg
D9_C4sYU0AAlDVL.jpg
2020-08-06.png

21.UnityにFBXファイルを下のAssetにD&Dしてインポート。 右のInspectorタブからRigを見るとGenericアバターになってる(写真1)のでHumanoidにしましょう(写真2)。↓
D9_DL61UYAAafzX.jpg
D9_DMWcUwAEbBdW.jpg

22.FBXファイルをヒエラルキー上にD&D。D9_DQCsUcAAZ1Tm.jpg
マテリアルとか全部なくなってたりオブジェクト全表示されてるので設定しましょう。

23.VRCのwikiにあるように新規でAdd Componentしてもいいのですが、面倒なので設定済みのものをコピーしちゃいましょう。
右クリックでCoppy Component。↓
D9_Eq7DVAAAyxYR.jpg

右クリックでPaste Component As Newです。↓
D9_Ey1pU0AAqB6E.jpg

24.Face Meshのところがコピー元の顔を参照してるので、コピー先の顔をD&D↓
D9_FJtaUcAAzanL.jpg
D9_F0BLUcAARsrQ.jpg

これでアップロードして完成です。

Dynamic Boneは @Taremin_VR さんが公開している「CopyComponentsByRegex」というコピーツールが便利です。
配布場所(https://github.com/Taremin/CopyComponentsByRegex)
使い方(https://taremin.kibe.la/shared/entries/95c1d6cf-9fcd-4a57-8849-677529e50e77)
Dynamic Boneは設定しているオブジェクト(例えばArmature)のScaleによってRadiusの値に影響を与えますので、コピー元のオブジェクトのScaleに注意しましょう。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?