MRが楽しい

MRやVRについて学習したことを書き残す

VRChatの始め方をまとめる(自作アバター登録編)

本日は VRChat の調査枠です。
VRChat で自作アバターを利用する方法についてまとめます。

前提条件として VRChat のアカウントと Unity のアカウントを取得済みの手順となります。

※ 2019/1/22追記
2018/12/12にVRChatで大型アップデートがあったため、手順を改めてまとめました。
以下が最新版の手順になります。
bluebirdofoz.hatenablog.com

アバターの作成について

2万ポリゴン以下のモデルである必要があります。
また、人型アバターの動きを反映させる場合、Humanoid リグに紐づいたボーン構造が必要です。

アバターそのものの作成手順についてはこの記事では触れません。
以下で作成したホロ恋子モデルを利用します。
bluebirdofoz.hatenablog.com

Trust システムの解除

VRChat には Trust システムという成りすまし防止用のシステムがあります。
2018/5/5 以降にアカウントを作成した新規ユーザーはアバター、ワールドのアップロード制限がかかります。
この制限が解除されるまでは自作アバターのアップロードはできません。

禁止解除の条件は公開されていませんが、フレンド数とプレイ時間が関係するようです。
筆者はフレンド数 3 人。プレイ時間 5 時間ほどで解除されました。

環境の準備

以下の環境とパッケージが必要になります。
・Unity (5.6.3)
・VRChat SDK

最新の Unity には SDK が対応していないので、過去バージョン(5.6.3)の Unity を取得します。
bluebirdofoz.hatenablog.com

VRChat SDK は自身のログインページの Download から取得可能です。
[Download SDK]をクリックして VRCSDK-YYYY.MM.DD.XX.XX_Public.unitypackage を取得します。
f:id:bluebirdofoz:20181022051536j:plain

アップロードの準備

アバターのアップロードは Unity 上で実施します。
新規 Unity プロジェクトを作成します。
f:id:bluebirdofoz:20181022051544j:plain

Unity を起動した状態で、ダウンロードした VRCSDK-YYYY.MM.DD.XX.XX_Public.unitypackage を実行します。
インポートダイアログが開くので、そのまま[Import]をクリックします。
f:id:bluebirdofoz:20181022051554j:plain

インポートが完了すると、ダイアログが表示されます。
また、メニューバーに[VRChat SDK]の項目が追加されます。
f:id:bluebirdofoz:20181022051606j:plain

メニューから VRChat SDK -> Settings をクリックします。
f:id:bluebirdofoz:20181022051615j:plain

アカウント情報の入力ダイアログが表示されるので、アカウント名とパスワードを入力し、[Sign In]をクリックします。
f:id:bluebirdofoz:20181022051627j:plain

これでログインが完了し、VRChat にアバターをアップロードする準備が整いました。
f:id:bluebirdofoz:20181022051638j:plain

アバターの設定

アップロードを行うアバターを設定します。
別途作成したアバターを Unity の Assets フォルダにドロップして読み込みます。
f:id:bluebirdofoz:20181022051648j:plain

読み込んだモデルを選択し、Inspector パネルを開きます。
[Rig]タブにある[AnimationType]を[Humanoid]に設定して[Apply]ボタンをクリックします。
f:id:bluebirdofoz:20181022051700j:plain

Humanoid リグが正常に割り当てられたかどうか[Configure]ボタンをクリックして確かめます。
f:id:bluebirdofoz:20181022051710j:plain

Humanoid リグの構造については以下の記事を参考にしてください。
bluebirdofoz.hatenablog.com

ただし注意点として、VRChat は Upper Chest のリグを設定しているとアップロード時に以下のエラーが発生します。
UPPERCHEST に設定しているリグを CHEST に設定しなおすか、解除することで回避できます。

Your rig has the UPPERCHEST mapped in the Humanoid Rig.
This will cause problems with IK.

ボーンの割り当てが正しく設定出来たら[Apply]ボタンをクリックし、[Done]ボタンで閉じます。
f:id:bluebirdofoz:20181022051732j:plain

次にマテリアルの設定を行います。
デフォルトでは Standard のシェーダが設定されています。
Standard シェーダは人の肌よりも光を反射するため、人型モデルの場合は光沢が目立ってしまいます。
テクスチャの色彩をそのまま表示したい場合は Unlit -> Texture のシェーダに切り替えておきます。
f:id:bluebirdofoz:20181022051744j:plain

モデルを Hierarchy パネルにドロップして追加します。
Hierarchy パネルに配置されたモデルを選択し、Inspector パネルを開きます。
[Add Component]を開き、[VRC Avatar Descriptor]を検索して追加します。
f:id:bluebirdofoz:20181022051753j:plain

VRC Avatar Descriptor スクリプトはプレイヤーの視点の位置を設定するスクリプトです。
[View position]の値を設定し、視点の位置を決定します。
[Scene]上に灰色の球体が表示されるので、これを目安にキャラクタの両目の間辺りに設定するのが良いと思います。
f:id:bluebirdofoz:20181022051801j:plain

更に VRC Avatar Descriptor スクリプトの[Default Animation Set]で基本の男性または女性モーションが設定できます。
男性アバターの場合は[Male]、女性アバターの場合は[FeMale]に設定します。
f:id:bluebirdofoz:20181022051812j:plain

VRC Avatar Descriptor スクリプトと同時に、Pipeline Manager スクリプトが自動で追加されています。
これはアバターのIDを設定するスクリプトのようです。
新規アバターをアップロードする際は Blueprint ID は空白のままで問題ありません。
f:id:bluebirdofoz:20181022051824j:plain

以上でアバターの設定は完了です。

VRChat へのアップロード

最後にアバターのアップロードを行います。
メニューから VRChatSDK -> Show Build Control Panel を選択します。
f:id:bluebirdofoz:20181022051847j:plain

ダイアログが開きます。モデルに問題がある場合、ここでエラーメッセージが表示されます。
アップロードするゲームオブジェクトが選択されていることを確認します。
[Build & Publis]ボタンをクリックします。
f:id:bluebirdofoz:20181022051855j:plain

ビルドが完了すると、Game パネルに設定画面が表示されるので各種設定を行います。
1.[Avatar Name]にそのアバターの名称を入力します。
2.[Description]は説明文です。空欄でも構いません。
3.[Content Warnings]はアバターにセクシャル表現や流血表現などがある場合に適切なチェックを行います。
4.[Sharing]は共有設定です。個人的なアバターとして利用する場合は[Private]を選択しておきます。
5.[The above ~]の注意文を確認し、チェックを入れます。
設定が完了したら[Upload]ボタンをクリックします。
f:id:bluebirdofoz:20181022051902j:plain

アバターのアップロードの手順は以上です。アップロードにはしばらく時間がかかります。
アップロードが完了すると、ダイアログが表示されます。
f:id:bluebirdofoz:20181022051912j:plain

アップロードしたアバターの利用方法

アップロード完了後、VRChat にログインします。
システムメニューから[AVATAR]画面を開くと、アップロードしたアバターが選択できます。
f:id:bluebirdofoz:20181022051945j:plain