SculptrVRでモデリングしたモデルをリギングし、VRChatにINするまで

<img src="http://megamin.jp/wp-content/uploads/2018/02/medama_20180213_0212.png" />

# 概要

- VRChat へアバターをアップロードする時に発生する問題点を解消する
- mixamo や Blender の Rigify でリギングしたモデルはそのままだと VRChat にアップロードできないため、その問題点を解消して VRChat にアップロードするまでの流れをスクリーンショット付きで説明します

# 全体的な流れ

1. SculptrVR でモデリング FBX へエクスポート
1. Blender で FBX を補正して更に FBX へエクスポート
1. mixamo で FBX にリギングを適用して更に更に FBX へエクスポート
1. Blender で FBX に適用されたリギングを補正して更に更に更に FBX へエクスポート
1. Unity5.6.3p1 をダウンロードしてインストール（すでにインストール済なら省略）
1. VRChat アカウントを取得してSDKをダウンロード
1. VRChat 登録メールアドレスの Confirm
1. Unity 上で新規プロジェクトを作成し、VRChat SDK のインポート
1. Blender で最終出力された FBX を Unity へインポート
1. VRChat アバターの設定を行い、アップロード

ちょっと長いですよ、上記のうち上から３つ（mixamo で FBX にリギングを適用して更に更に FBX へエクスポート）までは過去記事の<a href="https://qiita.com/medamap/items/cd16b4cbbc8b1a89e7dc" target="_blank">「SculptrVRでモデリングしたモデルをmixamoでリギングし、UnityでIK」</a>を参照してください。


<a name="link001">━━━━━━</a>
# Blender で FBX に適用されたリギングを補正して更に更に更に FBX へエクスポート

<img alt='' class='alignnone size-full wp-image-2138 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83015cc6c46.png' />

- Blender を起動する

<img alt='' class='alignnone size-full wp-image-2139 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830169d58c3.png' />

- X を押下して初期画面のキューブを削除

<img alt='' class='alignnone size-full wp-image-2140 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83017be2558.png' />

- ファイル → インポート → FBX (.fbx)

<img alt='' class='alignnone size-full wp-image-2141 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83018bdcf3c.png' />

- mixamo でエクスポートした FBX を選択し、FBXをインポート をクリック

<img alt='' class='alignnone size-full wp-image-2142 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83019c97d18.png' />

- カメラとライトがダブってるので、アウトライナービューで Camera.001 と Lamp.001 を右クリックして削除

<img alt='' class='alignnone size-full wp-image-2143 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301a9227b6.png' />

- アウトライナービューでモデルルートの Armature ノードを展開し、モデルメッシュの Sculpture_9 （人によって名称様々）をクリック
- テンキーのピリオド「.」と「1」を押下

<img alt='' class='alignnone size-full wp-image-2144 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301b5d5d3f.png' />

- ドーン！
- mixamo で適用したモーションのポーズになってますね
- A を押下して選択解除
- ボーンを右クリックしてポーズモードへ移行

<img alt='' class='alignnone size-full wp-image-2145 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301c551062.png' />

- ポーズ → トランスフォームをクリア → すべて をクリック

<img alt='' class='alignnone size-full wp-image-2146 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301d3d7004.png' />

- シャキーン
- Tポーズに戻った！

<img alt='' class='alignnone size-full wp-image-2147 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301e989b44.png' />

- アウトライナービューでモデルメッシュをクリックし、3Dビュー内にカーソルを移動して Alt + P を押下
- 親子関係をクリア

<img alt='' class='alignnone size-full wp-image-2148 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8301f66b0fe.png' />

- バーン！
- ボーンとメッシュが切り離され、メッシュの位置とサイズが元の姿に

<img alt='' class='alignnone size-full wp-image-2149 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302033d7de.png' />

- A を押下
- メッシュを右クリックして選択
- S を押下
- 0.01 とタイプして Enter
- 以上で 0.01 倍にメッシュをスケールしてボーンと同じサイズにまで縮小
- もしサイズが合わない場合は適宜数値を調整してください

<img alt='' class='alignnone size-full wp-image-2150 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830214917fa.png' />

- R を押下
- X を押下
- 90 とタイプして Enter
- 以上で寝っ転がりから起き上がり、ボーンと綺麗に重なります

<img alt='' class='alignnone size-full wp-image-2151 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830225dacb5.png' />

- テンキーの 3 を押下して横から見ても原点からズレてない事を確認します
- 今回はズレてないのでなにもせず次へ進みます

<img alt='' class='alignnone size-full wp-image-2152 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830232815c0.png' />

- A を押下して選択解除
- テンキーの 1 を押下して正面図
- テンキーの 5 を押下して平行投影図
- プロパティービューのデータアイコンをクリック
- 表示のレントゲンをチェックし、ボーンを見やすくする

<img alt='' class='alignnone size-full wp-image-2153 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83023d7b431.png' />

- ポーズモードから編集モードへ移行

<img alt='' class='alignnone size-full wp-image-2154 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83024ba24ff.png' />

- アウトライナービューの Armature ツリーを mixamorig:Spine2 まで展開する

<img alt='' class='alignnone size-full wp-image-2155 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83025d55773.png' />

- アウトライナービューの Spine2 ノード下のノードをクリック
- 3D ビューにマウスカーソルを移動し、Alt + P を押下して 親子関係をクリア
- 上記作業を、mixamorig:Neck、mixamorig:LeftShoulder、mixamorig:RightShoulder そして最後に mixamorig:Spine2 に対して実行する

<img alt='' class='alignnone size-full wp-image-2156 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83026bab974.png' />

- アウトライナービューの mixamorig:Spine2 ノードをクリック
- 3D ビューにマウスカーソルを移動し、 X を押下し、ボーンを削除

<img alt='' class='alignnone size-full wp-image-2157 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83027c3474a.png' />

- A を押下
- Neck ノードを右クリック（子供）
- Spine1 ノードを Shift+右クリック（親）
- Ctrl + P を押下し、オフセットを保持をクリック
- 上記作業で、首ノード（Neck）を胸ノード（Spine1）に接続します

<img alt='' class='alignnone size-full wp-image-2158 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83028c5a8ca.png' />

- 同様の作業を RightShoulder ノードに対しても実行します

<img alt='' class='alignnone size-full wp-image-2159 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83029a808f3.png' />

- 同様の作業を RightShoulder ノードに対しても実行します

<img alt='' class='alignnone size-full wp-image-2160 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302ab24af7.png' />

- アウトライナービューがこのようになっていれば OK です

<img alt='' class='alignnone size-full wp-image-2161 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302b673a6d.png' />

- ボーン編集が終わったので、オブジェクトモードへ戻ります

<img alt='' class='alignnone size-full wp-image-2162 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302c324c81.png' />

- A を押下
- モデルを右クリックし、HTAB を押下して編集モードへ
- Ctrl + N を押下し、法線ベクトルを再計算させる
- 再度 HTAB を押してオブジェクトモードへ戻る

<img alt='' class='alignnone size-full wp-image-2163 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302cf2986d.png' />

- A を押下
- モデルを右クリック
- ボーンを Shift + 右クリック
- Ctrl + P を押下して 自前のウェイトで をクリック
- 以上で、再構築したボーンへのメッシュの関連付けが完了

<img alt='' class='alignnone size-full wp-image-2164 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302dd4cd44.png' />

- ファイル → 名前をつけて保存...

<img alt='' class='alignnone size-full wp-image-2165 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302ea6c2a8.png' />

- ファイル名を適宜設定して Blenderファイルを別名で保存

<img alt='' class='alignnone size-full wp-image-2166 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8302f801ae8.png' />

- ファイル → エクスポート → Fbx (.fbx)

<img alt='' class='alignnone size-full wp-image-2167 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83030341540.png' />

- ファイル名を適宜指定して FBXをエクスポート

# Unity5.6.3p1 をダウンロードしてインストール（すでにインストール済なら省略）

- まずは<a href="https://docs.vrchat.com/docs/getting-started" target="_blank">ここ</a>へアクセスし、Getting Start に書かれている要件を確認します。バージョンアップに伴い内容が変化する可能性があるので、ご注意を。

<img alt='' class='alignnone size-full wp-image-2168 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83031147800.png' />

- 現時点では Unity5.6.3p1 が必要となっており、そのままダウンロードページへのリンクになっているのでクリック

<img alt='' class='alignnone size-full wp-image-2169 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830320b469f.png' />

- 各環境に応じてダウンロード
- 自分は Windows なので ダウンロード (Win) をクリック

<img alt='' class='alignnone size-full wp-image-2170 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83032b6576d.png' />

- ファイルを保存

<img alt='' class='alignnone size-full wp-image-2171 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830333614f7.png' />

- ダウンロードが完了した exe ファイルを実行

<img alt='' class='alignnone size-full wp-image-2172 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83033eb79be.png' />

- Next

<img alt='' class='alignnone size-full wp-image-2173 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83034a94b71.png' />

- I accept the terms of the Licence Agreement をチェック
- Next

<img alt='' class='alignnone size-full wp-image-2174 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303572c6b7.png' />

- 環境に応じて 32bit か 64bit を選択
- 最近の PC は殆どが 64bit
- Next

<img alt='' class='alignnone size-full wp-image-2175 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830362f1337.png' />

- 不要なコンポーネントのチェックを外す
- VRChat のみでの利用を想定している場合、Android / iOS / Linux は外しても良いかも
- Next

<img alt='' class='alignnone size-full wp-image-2176 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303746fb46.png' />

- インストールパスを Unity のバージョンに合わせてカスタマイズする
- 自分の場合は C:\Program Files\Unity563p1 に設定
- Next

<img alt='' class='alignnone size-full wp-image-2177 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83037f816ce.png' />

- インストール待ち

<img alt='' class='alignnone size-full wp-image-2178 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83038ce247b.png' />

- インストール完了
- Launch Unity のチェックを外す
- Finish

# VRChat アカウントを取得してSDKをダウンロード

- <a href="https://vrchat.net/login?from=sdk" target="_blank">VRChat サイト</a>へアクセスする

<img alt='' class='alignnone size-full wp-image-2179 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83039ddeda5.png' />

- REGISTER をクリック

<img alt='' class='alignnone size-full wp-image-2180 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303ae02fb0.png' />

- 必要事項を記入して REGISTER をクリック

<img alt='' class='alignnone size-full wp-image-2181 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303ba6fd46.png' />

- SDK をクリック

<img alt='' class='alignnone size-full wp-image-2182 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303c60440e.png' />

- ファイルを保存する を選択
- OK

# VRChat 登録メールアドレスの Confirm

一旦SDKをダウンロードできたところで、メールで VRChat のメールアドレス確認のためのメールが来てるのでそれを確認しましょう。

<img alt='' class='alignnone size-full wp-image-2183 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303d7a249c.png' />

- Click hear to confirm your e-mail address! をクリック

<img alt='' class='alignnone size-full wp-image-2184 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303e2dfe9f.png' />

- ウェブブラウザへアクセスが始まり、上記画面が表示されれば確認完了

# Unity 上で新規プロジェクトを作成し、VRChat SDK のインポート

<img alt='' class='alignnone size-full wp-image-2185 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303f0309fc.png' />

- Unity 5.6.3p1 を起動する

<img alt='' class='alignnone size-full wp-image-2186 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8303fdcbbb7.png' />

- Unity Personal を選択して Next
- 人によってはこのウインドウ表示されず、この先のウインドウが表示されるかもしれないので注意

<img alt='' class='alignnone size-full wp-image-2187 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83040bc6a54.png' />

- 適宜選択して Next

<img alt='' class='alignnone size-full wp-image-2188 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830418d57ac.png' />

<img alt='' class='alignnone size-full wp-image-2189 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830421c978e.png' />

- ちょっとしたアンケートに答えて OK

<img alt='' class='alignnone size-full wp-image-2190 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83042eed4fd.png' />

- Start Using Unity

<img alt='' class='alignnone size-full wp-image-2191 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83043a349d5.png' />

- NEW

<img alt='' class='alignnone size-full wp-image-2192 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830448308de.png' />

- プロジェクト名を適宜入力し、Create project

<img alt='' class='alignnone size-full wp-image-2193 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83045315d8d.png' />

- 先ほどダウンロードした SDK を開く

<img alt='' class='alignnone size-full wp-image-2194 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83045e9c00f.png' />

- Import

# Blender で最終出力された FBX を Unity へインポート

<img alt='' class='alignnone size-full wp-image-2195 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83046c38834.png' />

- 先ほどエクスポートした FBX を Project ビューにドロップする

<img alt='' class='alignnone size-full wp-image-2196 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830479bddc8.png' />

- Project ビューのモデルをクリック
- Inspector ビューの Rig をクリック
- Animation Type を Humanoid に設定
- Configure...
- Apply

<img alt='' class='alignnone size-full wp-image-2197 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83048ab7a9a.png' />

- Chest ノードの設定が None になっているので、Hierarchy ビューの mixamorig:Spine1 を Inspector ビューの Chest のノード部分にドロップする

<img alt='' class='alignnone size-full wp-image-2198 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830497ad553.png' />

- Done

<img alt='' class='alignnone size-full wp-image-2199 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304a3198a6.png' />

- Apply

# VRChat アバターの設定を行い、アップロード

<img alt='' class='alignnone size-full wp-image-2200 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304b13e9eb.png' />

- Project ビューのモデルを Hierarchy ビューへドロップし、シーン内にモデルを配置する

<img alt='' class='alignnone size-full wp-image-2201 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304c1b3753.png' />

- ドーン！！
- 色がついてない
- 頂点カラーを有効にするために頂点カラーシェーダを適用する
- <a href="http://megamin.jp/wp-content/uploads/2018/02/VertexColorShader.zip" target="_blank">頂点カラーシェーダー</a> をダウンロードする

<img alt='' class='alignnone size-full wp-image-2202 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304cb6a5e4.png' />

- ダウンロードしたファイルを Project ビューにドロップする

<img alt='' class='alignnone size-full wp-image-2203 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304d7047b3.png' />

- Project ビューの VertexColor シェーダを VertexColor マテリアルにドロップする

<img alt='' class='alignnone size-full wp-image-2204 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304dff0086.png' />

- Project ビューの VertexColor マテリアルを Scene ビューのモデルにドロップする

<img alt='' class='alignnone size-full wp-image-2205 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304ea1a4d1.png' />

- シャキーン！！！

<img alt='' class='alignnone size-full wp-image-2206 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8304f63c3b8.png' />

- Hierarchy ビューのモデルをクリック
- Component → Scripts → VRCSDK2 → VRC_Avatar Descriptor をクリック

<img alt='' class='alignnone size-full wp-image-2207 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83050641b7b.png' />

- Hierarchy ビューのモデルを選択
- Inspector ビューのモデルの Scale を調整し、丸いマークを顔の位置にくるように調整する
- この画面例では画面をズームアウトして丸いマークを見つけ、実際の位置を見ながら座標を手入力で調整している
- モデルのスケールのみで合わない場合は View Position の座標を微調整する
- モデルが女性キャラクターの場合、Default Animation Set を Female にする
- プロパティ設定完了

<img alt='' class='alignnone size-full wp-image-2208 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83051146e59.png' />

- VRChat SDK → Settings

<img alt='' class='alignnone size-full wp-image-2209 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83051cdc0c3.png' />

- Username に登録したメールアドレスを入力
- パスワードを入力し、Sign In

<img alt='' class='alignnone size-full wp-image-2210 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83052890d37.png' />

- Sign In した状態

<img alt='' class='alignnone size-full wp-image-2211 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8305338b5ec.png' />

- VRChat SDK → Show Build Control Panel

<img alt='' class='alignnone size-full wp-image-2212 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8305441f9cc.png' />

- Build & Publish

<img alt='' class='alignnone size-full wp-image-2213 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83055147e1d.png' />

- アップロード準備が始まり、Unity アプリが起動します
- Hierarchy ビューの VR CCam を選択し、Scene ビューでカメラ位置を調整し、キャラクターの外観がわかるようにします
- このカメラに映った映像がアバター選択サムネイルになります

<img alt='' class='alignnone size-full wp-image-2214 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83055dd68dc.png' />

1. アバター名を入力（多分英語で入力が良いと思います（日本語試してない））
1. アバターの説明を入力（多分英語でｒｙ）
1. コンテンツの注意事項があればチェック
    1. Nudity/Sexuality ... 性的なの
    1. Realistic Violence ... リアルな暴力的なの
    1. Blood/Gore ... 流血的なの
    1. Other NSFW ... その他なんかヤバそうなの
1. 最後のチェックボックスはチェックする
1. Upload

<img alt='' class='alignnone size-full wp-image-2215 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830567cd208.png' />

- Okay

- アップロード完了

# さぁ、VRChatしてみようか

　以上で VRChat へのアバターのインストールは完了です。さぁ、アップロードしたアバターの様子はこんな感じです。

<img alt='' class='alignnone size-full wp-image-2216 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a8305749e1f3.png' />

<img alt='' class='alignnone size-full wp-image-2217 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830580bad11.png' />

<img alt='' class='alignnone size-full wp-image-2218 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83058903eda.png' />

<img alt='' class='alignnone size-full wp-image-2219 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a830591df4d4.png' />

いやー、肌が服を貫通しちゃってますね。でもちゃんとモーションが適用されてアニメーションしてくれます。これでヒューマンメタリグを仕込んだモデルが SculptrVR smooth バージョンで作れる手順が確立できました。

# SculptrVRでの注意点

- mixamo を使う場合レイヤーは便利だけどできるだけレイヤーを使わない方が良い
    - 最終的に Blender での手間暇がかかるというのもありますが、後でボーンのウェイトをつける時にちょっと面倒です
    - でもまだそんなにモデル作りの経験があるわけじゃないので上図な手順ノウハウを作っていきたいところです
- 空洞ができないようにする

<img alt='' class='alignnone size-full wp-image-2220 ' src='http://megamin.jp/wp-content/uploads/2018/02/img_5a83059987d69.png' />

- こんな風になってると内側にもポリゴンが出来てしまいますし、手動でウェイト調整が困難になります（今回のモデルではこれが起きていた）
- ボーンをぶっこぬく事になるのでそのあとの調整も面倒だし、ボーン設定をウェイト設定は全部 Blender で完結した方が多分楽ちん（でも単純な形状とかうまい作り方するなら mixamo を使って簡略化はできると思う

とりあえず、こんなところでしょうか。

今日は色々ハマってプログラムできませんでしたが、Blender の使い方にも色々慣れる事ができたので結果オーライです。Oculus で挙動制御は明日やります。

ではまた！