本日は VRChat の調査枠です。
VRChat で自作アバターを利用する方法についてまとめます。
2018/12/12にリリースされた VRChat 2018.4.3 以降、VRChat は Unity 2017.4 に対応しました。
このため、アバターのアップデート時に利用する Unity と SDK のバージョンが変更になりました。
改めてアバターのアップデートを行ったので手順をまとめます。
アバターの作成について
以前は2万ポリゴンの制限がありましたが、アップデート後は7万ポリゴンが上限となりました。
人型アバターの動きを反映させる場合、Humanoid リグに紐づいたボーン構造が必要です。
アバターそのものの作成手順についてはこの記事では触れません。
以下で作成したホロ恋子モデルを利用します。
bluebirdofoz.hatenablog.com
Trust システムの解除
VRChat には Trust システムという成りすまし防止用のシステムがあります。
2018/5/5 以降にアカウントを作成した新規ユーザーはアバター、ワールドのアップロード制限がかかります。
この制限が解除されるまでは自作アバターのアップロードはできません。
禁止解除の条件は公開されていませんが、フレンド数とプレイ時間が関係するようです。
筆者はフレンド数 3 人。プレイ時間 5 時間ほどで解除されました。
環境の準備
2019/1/21現在、以下の環境とパッケージが必要になります。
・Unity (2017.4.15)
・VRChat SDK (2018.12.19.17.03)
最新の Unity には SDK が対応していないので、以下の記事を参考に過去バージョン(2017.4.15)の Unity を取得します。
bluebirdofoz.hatenablog.com
VRChat SDK は自身のログインページの Download から取得可能です。
[Download SDK]をクリックして VRCSDK-2018.12.19.17.03_Public.unitypackage を取得します。
アップロードの準備
アバターのアップロードは Unity 上で実施します。
新規 Unity プロジェクトを作成します。
Unity を起動した状態で、ダウンロードした VRCSDK-2018.12.19.17.03_Public.unitypackage を実行します。
インポートダイアログが開くので、そのまま[Import]をクリックします。
インポートが完了すると、ダイアログが表示されます。
また、メニューバーに[VRChat SDK]の項目が追加されます。
メニューから VRChat SDK -> Settings をクリックします。
アカウント情報の入力ダイアログが表示されるので、アカウント名とパスワードを入力し、[Sign In]をクリックします。
これでログインが完了し、VRChat にアバターをアップロードする準備が整いました。
アバターの設定
アップロードを行うアバターを設定します。
別途作成したアバターを Unity の Assets フォルダにドロップして読み込みます。
読み込んだモデルを選択し、Inspector パネルを開きます。
[Rig]タブにある[AnimationType]を[Humanoid]に設定して[Apply]ボタンをクリックします。
Humanoid リグが正常に割り当てられたかどうか[Configure]ボタンをクリックして確かめます。
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.
次にマテリアルの設定を行います。
デフォルトでは Standard のシェーダが設定されています。
Standard シェーダは人の肌よりも光を反射するため、人型モデルの場合は光沢が目立ってしまいます。
テクスチャの色彩をそのまま表示したい場合は Unlit -> Texture のシェーダに切り替えておきます。
モデルを Hierarchy パネルにドロップして追加します。
Hierarchy パネルに配置されたモデルを選択し、Inspector パネルを開きます。
[Add Component]を開き、[VRC Avatar Descriptor]を検索して追加します。
VRC Avatar Descriptor スクリプトはプレイヤーの視点の位置を設定するスクリプトです。
[View position]の値を設定し、視点の位置を決定します。
[Scene]上に灰色の球体が表示されるので、これを目安にキャラクタの両目の間辺りに設定するのが良いと思います。
更に VRC Avatar Descriptor スクリプトの[Default Animation Set]で基本の男性または女性モーションが設定できます。
男性アバターの場合は[Male]、女性アバターの場合は[FeMale]に設定します。
VRC Avatar Descriptor スクリプトと同時に、Pipeline Manager スクリプトが自動で追加されています。
これはアバターのIDを設定するスクリプトのようです。
新規アバターをアップロードする際は Blueprint ID は空白のままで問題ありません。
以上でアバターの基本設定は完了です。
リップシンクの設定を行う場合は、追加で以下の記事の作業を実施します。
bluebirdofoz.hatenablog.com
VRChat へのアップロード
最後にアバターのアップロードを行います。
メニューから VRChatSDK -> Show Build Control Panel を選択します。
ダイアログが開きます。モデルに問題がある場合、ここでエラーメッセージが表示されます。
また、アバターのパフォーマンスランクも確認することができます。
アップロードするゲームオブジェクトが選択されていることを確認して[Build & Publis]ボタンをクリックします。
ビルドが完了すると、Game パネルに設定画面が表示されるので各種設定を行います。
1.[Avatar Name]にそのアバターの名称を入力します。
2.[Description]は説明文です。空欄でも構いません。
3.[Content Warnings]はアバターにセクシャル表現や流血表現などがある場合に適切なチェックを行います。
4.[Sharing]は共有設定です。個人的なアバターとして利用する場合は[Private]を選択しておきます。
5.[The above ~]の注意文を確認し、チェックを入れます。
設定が完了したら[Upload]ボタンをクリックします。
アバターのアップロードの手順は以上です。アップロードにはしばらく時間がかかります。
アップロードが完了すると、ダイアログが表示されます。