MMD-PVから作詞作曲までやる、ボカロPしんりんの製作ノート

ボーカロイド、VRなど音楽と映像の作成方法と講座

VRoidモデルをVRChatでアバターとして追加する方法【アップロード】

投稿日:2018年10月6日 更新日:

ボーンのエラーを消す方法は?
アバターの設定の各項目の意味は?
こんな疑問に答えていきます。
2018年8月からHTC ViveでVRChatを利用している僕が、実体験を元に解説していきます。

はじめに

今回は、VRoidモデルをVRChatでアバターとして追加する方法【アップロード】というテーマで書いてきます。

VRChatの魅力は、自分の姿を好きなアバター(3Dモデル)に設定できるところですよね。
可愛い女の子やイケメンにもなれます。

オリジナルのアバターをアップロードする作業はちょっとだけ複雑で長いです。
どこかで間違えていると、エラーになって成功しなかったりして大変です。
(僕も試行錯誤しました…)

間違えやすいポイントも含めて、アバターアップロードの方法を解説していきます。

作業環境

VRChat 2018.3.2p1
Unity 5.6.3p1
Vroid Mac版 v0.2.12
Mac OSX High Sierra 10.13.6
Windows 10

参考

基本的にこちらのVRChat公式の資料を参照して解説していきます。

Creating Your First Avatar (VRChat公式)
https://docs.vrchat.com/docs/creating-your-first-avatar

Unityの操作についてはこちらに詳しく書かれています。

Model import workflows (Unity公式)
https://docs.unity3d.com/Manual/ImportingModelFiles.html

 

準備作業

VRChatに自作アバターにアップロードするには、以下の準備作業が必要です。

アバターのアップロード許可の権利を得る

友達申請する/されるなどのプレイ経験ポイントが貯まると解禁されます。
こちらの記事で解説しました。

【VRChat】アバターのアップロード制限を短い時間で解除する方法

Unityのインストール(バージョン2つ使い分けが理想)

Unityは指定バージョン5.6.3p1をインストールします。
最新バージョンも使用頻度が高いので、両立がオススメです。

Unity 5.6.3p1
https://unity3d.com/jp/unity/qa/patch-releases/5.6.3p1

Unityの複数のバージョンを同時に使う方法【Unity Hub】

VRChatSDKを導入する

VRChatの開発には専用のSDK(ソフトウェア開発キット)が必要です。
ダウンロードに5分くらいかかるので、準備しておくのがオススメです。

【VRChat】ワールド作成のためにSDKを導入する作業の解説【Unity】

VRoidモデルを作成する

VRoid Studioでモデルを作成すると、簡単で便利です。
3Dモデル全般がアップ可能ですが、この記事ではVRoidモデルを使います。

VRoid Studio
https://vroid.pixiv.net

VRoidモデルをFBXファイルに変換する

VRoidモデルをFBXファイルに変換しておく作業が必要です。
UniVRM(Unity向けVRM標準実装)を導入し、FBX Exporterで変換しておきましょう。
こちらの記事で解説しました。

VroidモデルをCLIP STUDIOにインポートする方法【VRM/FBX】

 

モデルのファイルをインポートする

用意したモデルのファイルを、Unityにドラックしてインポートします。

 FBXファイルと、大元のVRMファイル両方必要なようです。
(FBXだけで試したら、エラーが出た)

 

モデルのRig設定をする

インスペクタ(右サイドメニュー)のRigのタブで、モデルのRig設定をしていきます。

アニメーションタイプをヒューマノイドに設定にして、Configureを押すだけです。

一応、各項目の詳細について書きました。
Unityのページを参照しました。

Rog tab
https://docs.unity3d.com/Manual/FBXImporter-Rig.html

Rigとは

ヒューマノイドの場合、骨と筋肉の設定のこと。

Animation Typeとは

アニメーション(動かし方)の種類。
レガシー(Unity ver3.x以前のタイプ)、ジェネリック(人間以外)、ヒューマノイド(人型)から選べます。
Humanoidを選びましょう。

Avatar Definition(アバター定義)とは

アバターのボーンなどの設定を「このモデルから作成」「他のアバターからコピー」から選べます。

今回は、「このモデルから作成」を選択し、「Configure」(設定)を押して設定画面に入ります。
(VRoidでは編集しないとエラーになる部分があるからです)

Optimize Game Object(ゲームオブジェクトを最適化する)

SkinnedMeshRenderers(スキンメッシュのレンダー設定)をUnity内部のものを利用することで最適化できる。
(チェックしない方がちゃんと動きました。)

Animation Systemとは
そもそもアニメーションシステムとは、Unity内でキャラを動かすのに関わる一連のシステムのこと。
通称メカニム(Mecanim)と呼ばれる。
ボーンの設定や、スクリプトによる制御、タイムライン編集など、多岐に渡る高機能システム。
https://docs.unity3d.com/Manual/AnimationOverview.htmlを参考

 

ボーンの設定(アバターマッピング)

先ほどの、「Configure」(設定)を押すと、このようなボーン設定の画面に入ります。

ボーン設定の基本

Unityは、既存の骨構造をAvatar骨構造に合わせようとします。
多くの場合、リグ内のボーン間の接続を分析することによって、自動的にこれを行うことができます。
https://docs.unity3d.com/Manual/ConfiguringtheAvatar.html

このように、基本的に自動で設定されます。

アバターマッピングタブ
https://docs.unity3d.com/Manual/class-Avatar.html

 

ただ、そのままだとVRoidモデルでは、胸の部分でエラーが出てしまいます。

UPPER CHESTのエラー

「Humanoid RigのUPPER CHESTの部分で、IKの問題が発生します」 と書いてありますね。

UPPER CHEST設定の訂正

Chest J_Bip_C_Chest     →     J_Bip_C_UpperChest
Upper Chest J_Bip_C_UpperChest     →     None(なし)

と変更すると上手くいくようです。
(下記参照)

The solution is usually to set the upper chest to None, and select the upper chest for the chest slot.
It will complain about the extra bone between the spine and the chest, but it should be fine.
I wouldn't recommend shifting the spine or the hip heirarchy though, that will cause all kinds of weirdness, especially when sitting.
You don't want your crotch in your face when you sit 🙂
Last edited by Bo0m5l4ng; 16 Jan @ 1:11pm
https://steamcommunity.com/app/438100/discussions/1/1621726179586545632/より引用

これでApplyしてDoneで、ボーンの設定を完了します。

 

モデルのシーンへの配置を設定する

モデルをシーン、もしくは左サイドバー(Hierarchy)にドラックします。
この時の配置の設定についてです。

アバターの配置

アバターの位置は(0,0,0,) の座標、つまり真ん中に配置します。
アバターがまっすぐ立っていないときは、回転などして直します。
(正面を向かせる、っていうことですね)

アバターのサイズ

アバターのサイズは、小さすぎも大きすぎもアウトです。
1x1x1mから、5x5x5mの間に収めます。

こういうことかな…(0,0,0,)

 

Avatar Descriptor(アバター情報)を設定する

Avatar Descriptor(アバターの情報)を設定していきます。
これはVRChatのSDK内にあります。

Avatar Descriptorウィンドウを出す

モデルを選択して、右サイドバーの「Add Component」から、メニューを辿っていきます。
結構、深いところにあります。

 


Scriptsを選択

VRSDK2を選択

VRC_AVatar Descriptorありました

初めはこのように表示されています。
「Auto Detect(自動判別)」のボタンを押すと、下のように変化します。

Avatar Descriptor(アバターの情報)の詳細

VRC_AvatarDescriptor
https://docs.vrchat.com/docs/vrc_avatardescriptor

こちらのリンクを参照に説明します。

View Position(目の位置)

目の位置です。
見え方に関わるので大事ですね。
目の間の位置が最適とのことです。

VRoidの目の位置はこれで最適なのか研究中です。

Default Animation Set(デフォルトアニメーションセット)

男女を選びます。
これは、リアクションのアニメ動作を、男性女性どちらのタイプを使うかということだと思います。

Custom Standing Anims/ Custom Sitting Anims(カスタムアニメ立ち、座り)

立っているとき、座っているときの状態をカスタムできるようです。

AnimatorOverrideControllerを設定して、カスタムアニメーションを設定します。
Assets > VRCSDK > Examples > Sample Assets > Animation

Scale IPD(瞳孔間距離)

IPDとは瞳孔間距離のこと。
ONにして、瞳孔間距離をアバターに合わせるべきだという意味だと思います。

Lip Sync(リップシンク)

4つのタイプからリップシンクシステムを選べます。
セットアップが簡単なので、Jaw Flap Bone (ジョーフラップボーン)の使用がオススメされています。
Jaw Flap Boneのリップシンク設定は、また別記事で書きたいと思います。

 

シェーダーの設定

VRoidモデルをインポートしたままでは、目の周りが黒くパンダのようになってしまいます。
これを直すために、シェーダーを設定していきます。

シェーダーとは
シェイダーは小さなスクリプトです
各ピクセルの色を計算するための数学的計算、アルゴリズムを含む照明の入力と、マテリアル設定に基づいてレンダリングを行います。
https://docs.unity3d.com/Manual/Shaders.htmlより引用

シェーダーの設定ウィンドウを表示

左サイドバーでパーツを選択すると、右下にシェーダーが表示されます。

顔のパーツを透明のシェーダーに変更

シェーダーは種類がたくさんあって迷いました。
とりあえず、顔の下5つを、元から入ってた透明シェーダーに変えたら、いい感じになりました。
(研究中)

他のパーツもアニメ風のシェーダーにする

他のパーツのシェーダーも変えてみました。
アセットストアで検索して「Toony Colors Free」がアニメ風で無料で評判もいいので使ってみました。

ただシェーダーを変えると、エラーになりやすいので、もしかしたらこのシェーダーは使わないほうがいいのかもしれないです。
研究中です。

 

ポリゴン数の設定

ポリゴン数が多すぎると、エラーになります。

19014では、警告が出ました。
(アップロードは成功)

マックスは20000ポリゴン

You cant. 20k max.

avatar polygon limit
https://steamcommunity.com/app/438100/discussions/0/1635237606658429888/より引用

こちらのコミュニティの書き込みによると、マックスが20000とのことです。
2000-5000あたりが理想とも、書かれていますね。

今回は、とりあえず19000でもアップロードは成功しましたが…ギリギリだとアップロード失敗率も上がる気がしてます。
ポリゴン数を減らす方法についてはこちらに書きました。

VRoidをローポリ化するSimplygonの使い方を徹底解説【簡単5分】

 

アップロード

ここまでできたらアップロードしていきます。

VEChat SDKにサインイン

VEChat SDK>Settingからサインインします。
ユーザーネームとパスワードを入れます。

Publish設定

ここに、Publishの設定があります。
これによりアップロードの許可に違いがあるのか研究中です。
(テストアップロードの場合はチェック外してもいいのかもしれません)

Build Control Panelからビルドを押す

New Avatarの設定項目を埋める

アバターの名前、説明文、警告項目チェック(もしあれば)、公開/非公開を埋めます。
規約に同意して、アップロードを押します。

アバタープロフィールのサムネ画像の設定
サムネ画像はVRCCamの項目で詳細設定が可能です。

 

アップロードされるのを待つ

わりと時間かかります。
(10分くらいかな)

完了すると、以下のメッセージが出ます。
まだ成功したとは限らないようです。

Manage Uploaded Contents

Manage Uploaded Contentsを開くと、すでにアップしたアバターが並びます。
アバターの管理ができます。

ここにアバターがきちんと表示されていても、VRChatでは反映されていなかったりします。
(研究中)

VRChatに入り確認

VRChatに入り、Avatarメニューに入り、自分のアバターがあれば成功です。

1回目は、すぐに上手くいきました。
シェーダーをそのままでアップしました。
(2回目から上手くいかないので、研究中
シェーダーの設定のせいかな)

 

エラーになる原因と対策

これで一発で上手くいけばいいんですが…なかなか成功しませんでした。
わかる限りで、エラーになる原因と対策を書いていきます。

足がない、頭がないなどのエラー

FBXファイルのみで、VRMファイルをアップロードしないとこうなると思います。

Descriptionがないというエラー

Avatar Descriptorの設定をしないとこうなります。

アングルが180度じゃない警告

これはエラーではなく、警告で無視しても大丈夫なようです。
アングルの設定が0度になっているのを、180に直せということです。
後ろ向きのまま、前後が逆だったかな
(研究中)

 

まとめ

今回は、VRoidモデルをVRChatでアバターとして追加する方法を書きました。

ボーンの設定とポリゴン数の設定が手間取るポイントだなと思いました。
Unityの操作に慣れるのも大事だなと思いました。

関連記事VRoidをローポリ化するSimplygonの使い方を徹底解説【簡単5分】

-VRchat

Ad-336px-stinger8

Ad-336px-stinger8

VRchatの記事一覧はこちら

今すぐチェック

このカテゴリーの人気記事

1

VRchat

VRoidモデルをVRChatでアバターとして追加する方法【アップロード】

2018/10/06  

ボーンのエラーを消す方法は? アバターの設定の各項目の意味は? こんな疑問に答えていきます。 2018年8月からHTC ViveでVRChatを利用している僕が、実体験を元に解説していきます。 目次は ...

2

VR VRchat

VRchatのカメラ機能の使い方を徹底解説【自撮りやタイマー機能】

2018/08/09  

VRchatのカメラのボタンが押せないんだけど? 自撮りモードやフィルターの使い方は? こんな疑問に答えていきます。 2018年8月からHTC ViveでVRChatを利用している僕が、実体験を元に解 ...

3

VRchat

VRchatのシステムメニュー項目一覧とおすすめの設定【表示、音量】

2018/10/02  

名前の表示や、システムの表示を消したい時の設定は? 音量のバランスの設定はどうやるの? こんな疑問に答えていきます。 2018年8月からHTC Viveを利用している僕が、実体験を元に解説していきます ...

Copyright© MMD-PVから作詞作曲までやる、ボカロPしんりんの製作ノート , 2018 All Rights Reserved.