みなさんこんにちは。あまねこです。
読者の悩み
「VroidアバターをVRChatに持っていったけど髪とかスカートの揺れがひどい。直す方法を教えてほしい」
本記事は上記のような方へ書きました。
VroidアバターをVRChat用に調整するには、Unityでの調整が必要になります。
Unityを触ったことが無い方もいると思いますが、簡単に調整できるので安心してください。
ポイント
本記事の構成
・Vroidでアバターを用意する
・Unityの準備をする
・VRChat用アバターに変換する
・Dynamic boneの修正と調整をする
・揺れ具合をチェックする
「初心者だけどVroidアバターをVRChatにアップロードしたい」という方にもオススメの記事です。
それでは、Vroidでアバターを用意する所から始めていきましょう。
自己紹介
あまねこ このブログの運営者。
綺麗なワールド探しが趣味
Vroidでアバターを用意する
Vroid Studioをインストールして、既存のアバターを用意します。
今回は「Vivi」ちゃんを何も調整せずに利用します
「撮影・エクスポート」タブから「エクスポート」を選んでVRMデータを作ったら、Vroidでの作業は終了です
Unityの準備
VRMデータをVRChat用のアバターに変換するためにはUnityを用意する必要があります。
下記の記事を参考にUnityのセットアップをしていきましょう。
【脱初心者】VRChatにアバターをアップロードしよう【2020年12月版】
Unityのセットアップが完了したら、次はアセットを用意します。
用意するアセット
VRCSDK3(Avatars)
アバターをVRChatにアップロードするもの
VRM Converter for VRChat
VroidアバターをVRChat用アバターに変換するもの
Dynamic Bone
髪やスカートを揺らすもの
上記を用意したらUnityの「Asset」に全部入れます
「VRCSDK3」と「VRM Converter for VRChat」はドラッグ&ドロップでインポートすることが出来ます。
Dynamic boneは「①Asset Store」タブから「②マイアセット」を選択すると、購入したダイナミックボーンが表示されます。
「③Import」を選択することでインポート完了です。
次はアバターをフォルダからドラッグ&ドロップで追加します。
下の「Assets」ウィンドウがこのような画面になれば、準備完了です。
次はVRMデータをVRChat用アバターに変換していきます。
VRChat用のアバターに変換する
「VRM Converter for VRChat」を利用してVRChat用のアバターに変換します。
「①Vivi(VR Chat)」のデータを選択した状態で「VRM0」ウィンドウを開き「②Duplicate and convert fot VRChat」を選択します。
「揺れもの」タブから「Convert Vrm Spring Bones And Vrm Spring Bone Colider Groups」を選択します。
その後「複製して変換」を選択するとVRChat用のアバターが完成します。
文字が小さいので読みづらいですが「ダイナミックボーンが多いからこのままだと全部無効化しちゃうよ。だからダイナミックボーン減らしてね」って書いてあります。
簡単に修正できるので、このままOKを押して大丈夫です。
Assetsフォルダに「Vivi(VR Chat)」があるので「Hierarchy」タブにドラッグ&ドロップします。
すると上画面のようにアバターが出てきます。
これで下準備完了です。
次はダイナミックボーンの修正と調整を行っていきます。
ダイナミックボーンの修正と調整をする。
VRChat用のアバターに変換した時に「ダイナミックボーンが多いからこのままだと全部無効化しちゃうよ。だからダイナミックボーン減らしてね」って書いてあったので、まずはダイナミックボーンを減らす作業から行います。
Hierarchyウィンドウの「Vivy(VR Chat)」を右クリックして「Unpack Prefab」を選択します。
すると、青いキューブが白いキューブになります。
Hierarchyウィンドウの「Vivi(VR Chat)」の▷をクリックして展開し「secondary」タブを選択します。
するとアバターに白い丸が出てきて、右ウィンドウの「Inspector」ウィンドウに「Dynamic bone」タブがずらっと並びます。
この白い丸がダイナミックボーンなので、不要な部分を減らしていきます。
Dynamic Boneを外す
「secondary」を選択するとDynamic boneが表示されるので、不要なDynamic boneのチェックを外していきます。
上の画像だと「Sec_L_Bust1(左胸)」と書かれているので、チェックを外すことで左胸の揺れを止めることが出来ます。
僕がカットしたDynamic boneは上の画像の通り。
胸、袖、後ろ髪のDynamic boneをカットしました。
次はDynamic boneの揺れを調整していきます。
注意点
他のVroidアバターではDynamic boneの設定が異なるので、上の画像と全く同じ設定をすることが出来ないはずです。
チェックを外したらどこのDynamic boneが外されるのか、しっかり自分の目で見て修正していきましょう。
Dynamic boneの揺れを調節する
ここからはDynamic boneの数値を調整していきます。
簡単に調整できるので身構えなくても大丈夫ですが、その前にどれくらい揺れるのかチェックしておきましょう。
「①再生ボタン」を選択して「②Scene」を選択します。
「①Vivi(VR Chat)」を選択して「②十字ボタン」を選択すると「③」をドラッグすることでどれくらい揺れるか確認することが出来ます。
VRCではかなり揺れるので、強めに揺らしてみましょう。
前髪とスカートが揺れていますが、かなり揺れていることがわかります。
VRChatではさらに揺れるので、歩くだけでスカートの中が見えてしまったり、髪が暴れちゃいます。
今回は「髪」と「スカート」の2種類に分けて揺れを調整していきます。
髪の揺れを調整する
ダイナミックボーンを開くと、このようなパラメーターが表示されます。
主に利用する項目
Damping(揺れの調整)
・値を大きくするほど大きく揺れる
Elasticity(弾力の調整)
・値を大きくするほど素早く元に戻る
Stiffness(剛性の調整)
・値を大きくするほど揺れ幅が小さくなる
Inert(慣性の調整)
・値を大きくするほど素早い移動が必要になる
上記のうち「Dmping」と「Elasticity」の2つを調整するだけで改善することが出来ます。
より自然な髪の揺れを再現する時は「○○ Distrib」などで調整する必要がありすが、今回は初心者向けということでカットします。
髪の毛のパラメーターは下の画像のように調整します。
調整した値
Damping:0.24
Elasticity:0.1
上記のパラメーターを髪の毛に適用することで、揺れを抑えることが出来ます。
横髪をもう少し揺らしたい方は「Elasticity:0.05」にすることで、良い感じに揺れます。
調整後の揺れ
最初よりも大分揺れがおさまりましたね。
次はスカートの揺れの調整を行っていきます。
スカードの揺れを調整する
スカートのパラメーターは下記のとおりです
調整した値
Damping:0.1
Elasticity:0.1
調整後の揺れはこのような感じです。
・・・
いい感じに揺れてるんですよこれ。GIFで伝えるの難しい・・・
揺れの調整が終了したので、いよいよVRChatにアバターをアップロードします。
VRChatにアバターをアップロードする
右上ウィンドウの「VRChat SDK」から「Show Control Panel」を選択します。
①VRChatアカウントでサインインし「②Builder」を選択します。
すると、なんやかんや注意が出てきますが、無視して「Build & Publish for Windows」を選択します。
しばらく待っていると、このような画面に映ります。
「①Avatar Name」を入力し「②The above ~」にチェックを入れて「③Upload」を選択すると、VRChatにアバターがアップロードされます。
これで作業は終了です。最後までよく頑張りましたね。
最後にアバターの揺れ具合を実際にチェックしてみましょう。
VRChatで揺れをチェックする
実際に揺れを確認するとこんな感じです
歩いている時
ジャンプしている時
・・・目線は気になりますが、髪とスカートの揺れはかなり良い感じじゃないでしょうか?
「もう少し揺れを調整したい」という方は各自で調整してみてください。
関連記事