VRChat はじめてのBlender2.92を使ったアバター改変①

こんにちは!Klueleです。
最近いろいろなプラットフォーム向けにアバターを作成したり、大人数イベントに参加することが多くなり、Unityだけでは作業が難しいことが増えてきました。Blenderを使えば、Unityでは難しいアバターの改変ができます。はじめてBlenderで改変してみたので自分のメモ程度の内容ですが残しておきます。なお、Unityでのセットアップやアマチュアの構造などある程度の理解がある前提で書いているので、VRChatはじめたばかりの人には難しい箇所があります。

基本的なフローは、こおりみずさんが素敵な記事を書かれているので、こちらも参考にしてみてください。(Blender 2.79の内容です)
http://korimizu.com:8001/VRChat/%E3%82%AF%E3%83%AC%E3%83%AA%E3%83%83%E3%82%AF%E3%81%A1%E3%82%83%E3%82%93%E3%81%AE%E3%81%8A%E7%9D%80%E6%8F%9B%E3%81%88(Blender)

今回はBlender 2.92を使用し、ショートカットキーなどの操作を自分用に補足した内容としています。

1.新規シーンを作成する

シーンを作成して、中央にあるCubeはDeleteキーで削除します。

画像1

2.FBXファイルをインポートする

メニューのファイル>インポート>FBX(.fbx) を選択し、素体側のFBXファイルをインポートします。この記事ではLuaちゃんの素体を使用します。

画像2

画像3

次に、衣装のFBXファイルをインポートします。この記事では薄荷ちゃんの制服のFBXファイルを使用しています。

画像4

2.素体、衣装の大きさを合わせる

衣装側のアーマチュア(Armature.001)を選択し、トランスフォームのスケールを素体に合わせて変更します。腕と袖の位置が合うように、位置や回転も調整します。

画像5

3.トランスフォームの適用

衣装側のアーマチュア(Armature.001)、メッシュを右上のアウトライナーでCtrlを押しながら全て選択します。
カーソルを3Dビューに移動させた状態でCtrl+aを押し、適用メニューを出します。全トランスフォームを選択します。

トランスフォームの位置・回転が0に、スケールが1になっていることを確認します。

画像6

画像7

4.衣装のメッシュを素体アーマチュアに移動

右上のアウトライナーで衣装側のメッシュを選択し、素体側のアーマチュア(Armature)にドラッグします。Shiftを押した状態でドロップします。衣装のメッシュが素体のアーマチュア側に移動したことを確認します。
着せたい衣装のメッシュ全てをドラッグ&ドロップすることを繰り返します。

画像8

5.頂点グループの編集

衣装のメッシュをアウトライナーで選択し、頂点グループを確認すると、衣装側のボーンが指定されています。この欄は、衣装メッシュをどのボーンに追従させるのかを指定します。素体側のボーンに追従させる場合は、素体のボーン名に合わせて編集します。
この記事では、衣装側でShoulder_Lとなっている箇所を素体側に合わせてShoulder.Lとしています。
衣装メッシュの全てに対して頂点グループ欄の編集を行います。

画像9

画像10

6.モディファイアのオブジェクトを変更

衣装のメッシュのモディファイアを見ると、オブジェクト欄に衣装側のアーマチュア(Armature.001)が指定されています。これを素体側のアーマチュア(Armature)に変更します。
着せ替えする全ての衣装メッシュに対してモディファイアのオブジェクトを変更します。

画像11

7.アーマチュアの統合

右上のアウトライナーで衣装側のアーマチュア(Armature.001)、素体側のアーマチュア(Armature)の順に選択します。
カーソルを3Dビューに移動させた状態で、Ctrl+jを押します。
衣装側のアーマチュアが素体側のアーマチュアに統合されます。

画像17

8.ボーンの親子関係の変更

オブジェクトモードでボーンを選択します。
その後に編集モードに変更します。
次に、動かしたいボーン→移動先の親ボーンの順に選択します。
カーソルを3Dビューに移動した状態でCtrl+pを押し、ペアレントの作成メニューを出します。オフセットを保持を選択します。
ボーンが移動していることを確認します。
親子関係を変更するボーンに対して、この作業を繰り返します。

画像13

画像14

9.不要なボーンの削除

衣装側のボーンが不要になることがあります。改変ミスがあったときのためにまずは不要なボーンを残しておき、Unity側で削除してもいいのですが、Blenderで削除しておきたい場面もあるかと思います。
その場合は、オブジェクトモードでボーンを選択した後に編集モードにして、削除したいボーンを選択した状態で3Dビュー上でDeleteキーを押します。意図した通りボーンが削除されていることを確認します。

10.衣装メッシュの位置調整

靴などのメッシュが足の位置に来ていないことがよくあります。
動かしたい衣装メッシュがある場合は、オブジェクトモードでメッシュを選択して編集モードにした後、編集したい頂点をドラッグで四角を作って選択します。
この選択する前に透過モードで描写しておき、裏側にある頂点も選択できるようにしておきます。

画像15

頂点が選択された状態で表示される座標軸をドラッグして、正しい位置に動かします。

画像16

11.不要な頂点の削除

衣装の位置を合わせても素体が衣装を貫通することがあり、メッシュの一部を削除することがあります。
オブジェクトモードでメッシュを選択した後、編集モードにします。
次に編集したい頂点をドラッグで四角を作って削除したい頂点を選択します。この選択する前に透過モードで描写しておき、裏側にある頂点も選択できるようにしておきます。

頂点が選択され、カーソルが3Dビュー上にある状態でDeleteキーを押し、削除メニューを出します。頂点をクリックして、指定した範囲の頂点が削除されていることを確認します。

画像17

12.Blender-Unity間の座標軸対応

以降の作業は、過去に書いた記事のBlender-Unity間の座標軸対応以降の内容と同じです。

こちらの記事に従ってFBXファイルをエクスポートし、Unity上でセットアップを行います。
VRC Avatar Descriptorの追加や表情の指定はBlenderを使わない場合と同じようにできます。(この記事の範囲ではないので省略します)

ここまでで、Blenderを使ったアバター改変の手順を紹介しました。
それでは、楽しいVRChatライフを!


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