【VRChat】Blenderで作ったモデルをUnityからVRChatにアバターをアップロードする方法

環境メモ
UnityとBlender開発環境　MacBookPro
⭐️Mac OS Mojave バージョン10.14
⭐️Blender 2.82a

VRChat環境
⭐️Windows 10 ノートPC

↓↓完成内容
<img width="1104" alt="031.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/0c521387-12da-4b1e-b531-b42deed1002e.png">
<img width="1090" alt="032.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/ace1a22a-0f91-18ae-2b16-c4482e13afb9.png">
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">🐣VRChat🐣<br>VRChatのランクが、やっとビジターから🍀NewUser🍀にランクアップしたので🤩<br>Blenderで作った🐥ひよこちゃんモデルをUnityからVRChatにアップロードできたっ💕💕<br>無事に、自分で作ったひよこちゃんが🐣アバターになったよぉ😍😍<br><br>やり方↓↓<a href="https://t.co/0YjhdiZxDc">https://t.co/0YjhdiZxDc</a> <a href="https://t.co/PXDMzEpjgZ">pic.twitter.com/PXDMzEpjgZ</a></p>&mdash; non (@nonnonkapibara) <a href="https://twitter.com/nonnonkapibara/status/1257626874970140673?ref_src=twsrc%5Etfw">May 5, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# VRChatのSDKファイルを入手する
まずは、VRChatのSDKファイルをVRChat公式サイトからダウンロードするので、VRChatにログインします。

VRchatの公式サイト
https://www.vrchat.com/
<img width="1186" alt="001.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/3db1baca-2de0-d7e0-e832-0046bde1e9e0.png">


まだ登録していない場合は、「Registration」タブを選択し、ユーザー情報を入力します。
<img width="584" alt="002.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/29dbca75-7943-7025-56bc-25456b2a2594.png">

詳細については、下記サイトの「VRChatの始め方」を参考にしてみてください。
VRChat初心者向けガイド
https://vrc.wiki/beginner/31/

VRChatのユーザー登録直後は、アップロードはできません。
詳細は、以下に記載してます。
【VRChat】VRChat SDKのアバターアップロードが出来ない場合
https://qiita.com/nonkapibara/items/9fcb845010e05937f853
<img width="1064" alt="004.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/7b61183b-9892-a5f9-63f1-46c7b24c272e.png">

# VRChat SDKのダウンロード
VRChat SDKのダウンロードは、VRchatにログインし「Download」を選択する。
VRCHAT SDK2の「Download SDK2」を選択し
「VRCSDK2-2020.04.25.12.49.unitypackage」をダウンロードします。
<img width="950" alt="003.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/dc335583-3eee-53c7-d558-64e679d2cb63.png">

<img width="650" alt="004.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/6cf43553-dd53-6ce0-af9e-9f77b705756d.png">

<img width="409" alt="005.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/6f3730e1-fa39-2fda-1a92-8f79c2f045e9.png">


# VRChat SDK推奨Unityバージョンを調べる
「Download Unity」を選択する
Setting up the SDK のサイトが開く
https://docs.vrchat.com/docs/setting-up-the-sdk
<img width="642" alt="006.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/bdd15330-44a1-1b35-0d05-f54fe2d2b665.png">

Step 0 - Installing Unityの「Current Unity Version」を選択する
Current Unity Versionのサイトが開く
https://docs.vrchat.com/docs/current-unity-version

<img width="1149" alt="007.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/1ba53dca-8953-3e30-cd61-7ffd2fa008a6.png">
<img width="1144" alt="008.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/dfa4b9ac-064d-71da-fc3b-c662c3398f53.png">

2020.05.05時点では「Unity 2018.4.20f1」がVRChat SDK推奨Unityバージョン
<img width="758" alt="スクリーンショット 2020-05-05 19.24.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/737fdf30-4847-e697-a3f0-8a5518ff1faa.png">
とりあえず、覚えておく。

#Unity本体のダウンロードとインストール
Unity Hubをあらかじめダウンロードしていない場合は、先にダウンロードする
「Click here to install Unity Hub.」
<img width="974" alt="スクリーンショット 2020-05-05 19.28.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/58dc834f-245f-f027-ad33-bc31a72d86bc.png">

https://unity3d.com/get-unity/download
<img width="749" alt="スクリーンショット 2020-05-05 19.22.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/b0412cc6-afa9-1e33-b19b-95d448e1cd75.png">


#Unity Hubを起動する
「Click here to install the current version of Unity via Unity Hub」
を選択して、Unity Hubを起動する
<img width="688" alt="010.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/b300f112-d395-dd37-b3a2-d1d83b3e350f.png">

バージョン「2018.4.20f1」のUnityをインストールする。
Unity Hubで「Windows Build Support(Mono)」をモジュール追加する必要があります。
VRChatは、これがないと、ビルドできない為。
<img width="978" alt="009.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/8f5e72cd-3f8f-0f56-9768-c860c4d486b8.png">


バージョン「2018.4.20f1」を選択して「新規作成」ボタンを押す
<img width="962" alt="012.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/f8e1a45c-0874-e2f1-1625-82ca4d90c756.png">
<img width="781" alt="013.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/0be0cfaf-31da-e57d-4dac-241e1ab3a0d3.png">

<img width="296" alt="011.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/8db9ac78-47b1-876c-630b-4641b50aa14f.png">

テンプレートで、３Dを選択し、プロジェクト名を入力し、保存先を指定する。
最後に、「作成」ボタンを押す
<img width="860" alt="014.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/bb5cf99e-24ed-1b59-53c2-dfa8c2f069bb.png">

# VRChatSDKのインポート
「VRCSDK2-2020.04.25.12.49.unitypackage」をダブルクリックする。
そのまま「Import」ボタンを押してインストールする
<img width="489" alt="015.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/6a754c18-3bd3-9d99-9c53-6bb4827c75ff.png">


インストールは、ここで終わり。

# Blenderからモデルをエクスポートする
ボーン入りのモデルを用意する
<img width="925" alt="016.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/546a1027-97ea-14be-9a4b-8fb8b0272143.png">

ファイル > エクスポート > FBX を選択する
<img width="610" alt="017.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/eb4e33f6-2a14-d75d-76df-9b9f8055788d.png">

ここでは、オブジェクトタイプ
エンプティ
アーマチュア
メッシュ
その他
を選択して
拡大縮小1.00
スケールを適用:すべてFBX
前方:-Zが前方
上:Yが上
にして、エクスポートする
<img width="1019" alt="018.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/d520f4b8-b14c-3c3d-f99d-0f43107b6177.png">

FBXエクスポート成功！

#UnityからひよこちゃんFBXをインポートする
Unity画面で
Assets >  Import New Asset
からひよこちゃんFBXをインポートする
<img width="380" alt="019.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/09d4453d-7357-1f41-3170-389c6d7bf3a9.png">
<img width="466" alt="020.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/62efc9d4-7535-67bb-f5b3-876ae72b886a.png">

#ひよこちゃんをDrag&Dropでオブジェクトを配置する
ひよこちゃんを選択し、コンポーネント「VRC_Avatar Descriptor」を追加する
<img width="642" alt="021.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/7851be6a-7a68-c7ed-79ec-f303cbdd2bab.png">

<img width="1199" alt="022.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/cd9ff1a2-cd8d-9549-021e-62715368f6e6.png">

<img width="1102" alt="023.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/335bf58b-ceed-71d6-07de-2ba769d2649b.png">

#ひよこちゃんを選択した状態で、
VRChat SDK > Show Control Panelを選択する
<img width="868" alt="024.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/3b7756d4-4e59-d8ca-e42b-c150b3a48a74.png">

#VRChat SDK の「Authentication」タブで、VRChatにログインする

Builder > 「Build & Publish」で、実行する
<img width="519" alt="025.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/792ca1c6-53d4-0134-ecaa-d1b627d12b70.png">

<img width="519" alt="026.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/355ed53d-6484-f4f6-9daf-8e73aa67f2ec.png">

#アバターの登録をする
VRCCam を選択する　> アバター名前と説明を入力して
The above Information 〜をチェックONする
<img width="996" alt="027.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/6fb590df-29cb-ac6a-7ae4-7311bc08f3fe.png">

Upload Imageは、Sceneタブで、モデルが全体が表示するように調整する
ここの画像が、VRChatのイメージ画像で表示されます。

「Upload」ボタンで、アップロードが開始します。
<img width="684" alt="028.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/8d91e378-7e91-298c-f982-e83f67f0baea.png">

アップロード完了
<img width="637" alt="029.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/571dfad1-8920-ae78-2f1f-978fd7afb398.png">

Content Managerで、アップロード済みのモデルを確認することができます。
<img width="523" alt="030.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/8751a892-d1f7-c125-d133-4e66dd6ef276.png">


VRChatにアバターをアップロード成功
<img width="1104" alt="031.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/0c521387-12da-4b1e-b531-b42deed1002e.png">

アバターに設定して、ミラーで写して確認する
<img width="1090" alt="032.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/ace1a22a-0f91-18ae-2b16-c4482e13afb9.png">

# いろいろ失敗したこと
アップロードしたひよこちゃんが、VRChatで確認したら、めっちゃでかい！
<img width="1108" alt="100.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/2b1494d1-bb76-be22-b439-b671295b9cb9.png">

Unity側でScaleを小さくした。
<img width="1169" alt="103.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/054edb3b-dfd6-06c3-616f-930f0a788ed6.png">

1.ひよこちゃんの足が床に埋まっている
<img width="1103" alt="101.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/dc70d310-d00a-2d37-10e5-408945b74a81.png">

Blenderで足の位置に、原点を合わせる
<img width="920" alt="スクリーンショット 2020-05-05 19.41.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/72ad0b8f-e04c-1798-d119-8649843494fe.png">

2.ひよこちゃんが正面を向いていない
Blenderのボーン設定で、右と左を間違えると、正面を向かない
<img width="919" alt="104.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/0cb32ec1-1cf8-71c2-d274-bb6a2194819c.png">

3.目線が低い
「VRC_Avatar Descriptor」のView Positionが目線の位置になる
少し、上にあげた。
<img width="1170" alt="102.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/f1285322-7c1f-87d7-edf0-87566317cd70.png">

他にも、以下で対処方法をメモしてます。
【VRChat】VRChat SDKのアバターアップロードが出来ない場合
https://qiita.com/nonkapibara/items/9fcb845010e05937f853