見出し画像

VRChatアバターのアップロードからMMD対応完了までのメモ(シャルベ編)

Web 検索に出てくる『MMD 対応記事』と全く同じ対応を行ってみたものの「口が動かない」「特定のワールドだけ動かない」「コンバート中にエラーが出て進まない」といった感じで、対応に苦戦していたアバターがあります。

こちらの『シャルベ』です。
VRChat で人気で、フレンドさんを経由したグループで沢山お見掛けしています。

フレンドさん達とダンス中

今回はシャルベの MMD 対応をメモしておきます。
「New User になったばかり、Unity を触ったことがほぼ無いけど購入したシャルベを踊らせたい!」「パソコン初心者!」という状況まで想定しています。

『シャルベ』以外のアバターも対応可能だとは思いますが、未検証です。



始める前に

まず大前提として『Unity が動作するパソコン』が必要です。
Quest 単体やスマートフォンで対応できるものではないのでご注意ください。ネットカフェで対応した Quest 単体ユーザーは居ました。

加えて「Visitor ではない」必要もあります。
①ログイン後に左上の自身の画像をクリックし、②に書かれてある所が『Visitor』以外ならアバターをアップロードできます。

自分のプロフィール

『Visitor』の場合は VRChat の体験期間が短いという事になりますので、『New User』にランクアップするまで VRChat を遊びましょう。


環境構築

『CreatorCompanion』をインストール

ダウンロードページ

VRChat で「購入したアバターを使いたい」「作ったワールドを公開したい」という願いを叶えるために必要なツールです。
ダウンロードした Setup.exe を起動・インストールしましょう。


プロジェクトを作成する

インストールされた『CreatorCompanion』を起動しましょう。
下の画像のような画面が出るはずです。
見た目が多少異なる事がありますが、問題ありません。

右上にある「Create New Project」を押して『シャルベをアップロードするためのプロジェクト』を作成します。

ホーム画面
プロジェクト作成画面

「Avatars 2022」を選択
② プロジェクト名は『シャルベ』
③ プロジェクトの保存先を設定 (デフォルト設定で問題無いです)
「Create Project」で作成


Unityをインストールする

Unity が無い場合のホーム画面

プロジェクト起動に必要な『Unity』が存在しない場合は⚠️警告アイコン⚠️が出てきます。
出ていない場合は既にインストール済みです。次に進みましょう。

画面右上の「Open Project」を押す事で、Unity のインストール画面が出てきます。

『2022.3.6f1』をインストール

Unityをインストールする(エラーが出る場合)

おやおや?

謎のエラーでインストールが開始しない事があります。(ありました)
その場合は公式サイト経由でインストールしましょう。

「Unity 2022.X」を選ぶ
「Unity 2022.3.6」の「Downloads」から「Unity Installer」
チェックを入れる

インストール時に✅チェック✅が必要なものは以下 3 つです。
『Android Build Support』をインストールする事で「Quest 単体でもシャルベが使える」「Quest 単体の人にシャルベが見える」というオプションが使えるようになります (俗にいう Quest 対応) (やり方は後述)

  • Unity 2022.3.6.f1

  • Android Build Support

  • Windows Build Support


アバターをインポート

「Open Project」から Unity プロジェクトを起動しましょう。
起動完了まで 1~3 分必要です。
その後、画面上の「VRChat SDK」から「Show Control Panel」を押して、VRChat アカウントでログインします。

シャルベプロジェクトのエディタ画面
登録メールアドレスに 6 桁の暗証番号が届くので入力する

『.unitypackage』をインポート

Booth で購入した『シャルベ』をインポートします。
『Sherbi_v2.0.zip』の『Sherbi_v2.0.unitypackage』です。
「Booth の会員登録」「Booth での購入」「購入アバターのダウンロード」「zip について」は割愛します。

インポート手順を1枚で説明

インポート後に左下の Project 画面からシーンというものを開きます。
全身が紫色の『シャルベ』が表示されたら今のところは問題ありません。
(みんなだいすきマテリアルエラー)

  1. KIGURUMI_MARMOT を選ぶ

  2. Sherbi を選ぶ

  3. Sherbi_Scene をダブルクリックで開く

  4. 全身が紫色の『シャルベ』が表示

エディタ画面

シェーダをインポートする

全身が紫の「マテリアルエラー」を解決するためには「ユニティちゃんトゥーンシェーダー」が必要です。

シャルベの販売ページをよく見ると、しっかりと書いています。
推奨というのは「別のシェーダでもシャルベ使えますよ」という意味で「シェーダというもの自体は絶対に必要」という事です。

販売ページ
シェーダのダウンロードページ

先ほどと同じように「UTS2_ShaderOnly_v2.0.9_Release.unitypackage」をインポートします。
『シャルベ』が見えたら完了です。

紫色が消えて『シャルベ』が見えるようになった

アバターをアップロード

早速アップロード!の前に動作確認をします。
VRChat を起動してすぐに訪れる『ホームワールド』で事前チェックが可能です。
アップロードの場合は完了までに時間がかかるので、こちらの方法で繰り返しチェックするのが一般的です。

①「VRChat SDK」
②「Show Control Panel」
③「Builder」
④「Build & Test」
⑤「Build Succeeded!」が表示されるまで待機

アップロード画面
成功した場合の表示

VRChatでテストアバターを確認する

この状態で VRChat を起動しましょう。
Unity エディタはオートセーブとなっているので、重い場合は一旦閉じても問題ありません。

  1. VRChat を起動し、ホームワールドに移動完了

  2. 鏡の前に移動して、自身のアバターが見える状態にする

  3. メニューを開く

  4. 「Avatars」を選択

Avatars を開く

①「Other」
②『SDK: Sherbi』
③「Change Into Avatar」

Other に『SDK: Sherbi』が見つかった
 テストアバターで写真撮影

問題が無ければアバターのアップロードに移りましょう。


アップロードする

テストアバターの場合、ホームワールドで自分にしか見えません。
全員から見えるようにするためにアップロードをします。

アップロードに必要な全て

①「VRChat SDK」
②「Show Control Panel」から「Builder」

③ アバターの名前です。日本語が使えます。
④ アバターの説明です。適当で問題ありません。

⑤ 改変等で「センシティブ判定」となった場合、チェックを入れます。
『シャルベ』は該当しないため、チェック不要です。

  • Sexually Suggestive (性的表現: R-15、R-18 など)

  • Adult Language and Themes (大人向けの言葉やテーマ: 政治、宗教など)

  • Graphic Violence (暴力的な見た目: 鋭利な刃物、銃火器など)

  • Excessive Gore (過剰なゴア表現: 血しぶき・臓器露出など)

  • Extreme Horror (過激なホラー要素: 顔面崩壊・爆音ギミックなど)

必ず「Private」になっている事を確認してください。
「Public」の場合、他人にアバターの複製を許してしまいます。
(有料アバターの不正コピーの加害者になります。)

⑦ アバター利用中の際に表示するサムネイルを設定します。
未設定の場合、アップロードが出来ません。

  • Select New Thumbnail (ファイル選択)

  • Capture From Scene (エディタの Scene を撮影)

サムネイルが今すぐ欲しい場合はこちらをご利用下さい。

かわいい

⑧ 情報、警告、エラーが一覧表示されます。
赤色の八角形のアイコンが出ていなければ問題ありません。

このアイコンが出ているとアップロードできない

⑨✅チェック✅を入れて「Build & Publish」が表示されたら準備完了です。

⑩ アップロードします。
「Build Succeeded!」が表示されるまで待機します。


VRChatで確認する

  1. VRChat を起動

  2. 鏡の前に移動して、自身のアバターが見える状態にする

  3. メニューを開く

  4. 「Avatars」を選択

アップロードした『シャルベ』

①「Uploaded」
②『シャルベ』(自分で決めたアバターの名前)
③「Change Into Avatar」

アップロード完了!

これで VRChat での通常利用のアバターアップロードは完了です。
お疲れさまでした。


MMD対応 (環境構築)

Windows、PCVR 専用ワールド

Quest 単体対応ワールド

さて、アップロードが完了した『シャルベ』で早速踊ってみます。

表情が変わらない

着ぐるみを着てダンスしているように見えちゃっていますね。
これからの対応で表情豊かに踊るようにします。


『Make It MMD』の導入

無料ツールを活用する事で簡単に導入できるようになりました。

こちらからダウンロードし『MakeItMMD-VCC-1.x.x.zip』の中にある『MakeItMMD-VPM.url』を使用します。

『CreatorCompanion』が起動します。
「I Understand, Add Repository」を押して追加します。

追加手前の確認画面

①「Settings」
②「Packages」
③「enitimeago」が追加されている事を確認

追加された Packages

アバターが入っている『シャルベ』プロジェクトの「Manage Project」を選択します。
プロジェクトを起動している場合は閉じてください。

ホーム画面

『Make It MMD』があるので「+」でインストールします。

インストール前の Projects 画面
インストール後の Projects 画面

これで「.unitypackage をインポートした後」と同じ状態となります。
ワンクリックで「インストール」と「アンインストール」が行えるので、『CreatorCompanion』は比較的簡単ですし安全です。


アバターのシーンを開く

『シャルベ』プロジェクトを「Open Project」で起動します。

  1. KIGURUMI_MARMOT を選ぶ

  2. Sherbi を選ぶ

  3. Sherbi_Scene をダブルクリックで開く

  4. 『シャルベ』が表示

『シャルベ』が表示された

「Hierarchy」での作業

大まかな作業内容は以下の通りです。
正しく動作させるために必要な作業となります。

  • 『Body』を「Main」に改名

  • 『_LipSync』を削除し『Face』を外に出す

  • 『Face」を「Body」に改名

  • 空の『GameObject』を配置

画面左上の「Hierarchy」から『シャルベ』本体を改変していきます。
①『Sherbi』の左の「▼」で子の階層を出す
②『Body』をゆっくり 2 回クリック、名前が変更出来る状態にする (キーボードの「F2」)
③「Main」に名前を変更する (Body という単語が含まれていなければ、何でも良いです)

変更前
変更後

④『_LipSync』の左の「▼」で子の階層を出す
⑤『Face』を『Tail』の下にドラッグアンドドロップして移動する
⑥『Face』をゆっくり 2 回クリック、名前が変更出来る状態にする (キーボードの「F2」)
⑦「Body」に名前を変更する
⑧『_LipSync』を右クリックして「Delete」で削除する (キーボードの「delete」)

『_LipSync』を削除
変更前
変更後

MMD対応 (表情設定)

環境構築が完了しましたので、表情設定を行います。
「MMD の "笑い" は VRChat アバターの "eye_Smile" を使います」
という紐づけが必要になります。
この設定が予め行われていないアバターは、無表情で踊ってしまうという事ですね。

①『Sherbi』を右クリック
②「Create Empty」を選択し『GameObject』を追加する

『GameObject』が追加されたら完了

次に『GameObject』に表情設定機能を搭載します。

①『GameObject』を選択
② 画面右側の「Inspector」から「Add Component」を選択
③「Make It MMD」を選択
④「MIM Make MMD BlendShapes」を選択して追加

エディタ画面
「Make It MMD」を選択した後の画面

カメラの調整

紐づけ作業前にカメラを調整します。
編集画面のサムネイルに大きく影響を与えてしまうからです。
目と口がハッキリと見える位置に調整します。

調整の様子
  1. 『Sherbi』をダブルクリックして「フォーカス」

  2. 画面右上『シーンギズモ』の「X アーム」をクリックして「90 度調整」

  3. 中央の「キューブ」をクリックして「投影切替」

  4. マウスホイール回転で「カメラズーム」

  5. マウスホイール長押し&ドラッグで「カメラ移動」


「BlendShape」と「MMD表情」の紐づけ

「MIM Make MMD BlendShapes」の専用エディタを開きます。
①『GameObject』
②「エディターを開く」

プロジェクト側のエディタ画面

左側の「MMD 表情」を選択、『シャルベ』の表情が出たら成功です。

専用のエディタ画面

1 つずつ表情を設定していきます。
例えば「あ」の場合は「v_A」です。
設定済みとなった場合は青く色が付きます。

「あ」の設定の様子

『シャルベ』は表情の種類が少ないため、設定できない項目が多くあります。
どうしても必要であれば『Blender』などを用いて、直接手を加えることになります。
例えば「ウィンク」が用意できれば、魅力がかなりアップします。

『たびマル』が設定した内容を載せておきます。真似してみて下さい。

『たびマル』の設定と同じ内容とした場合
  • Mouth

    • あ ➡ v_A

    • い ➡ v_I

    • う ➡ v_U

    • え ➡ v_E

    • お ➡ v_O

    • あ2 ➡ v_A

    • ぺろっ ➡ exp_Lick

  • Eye

    • まばたき ➡ eye_Blink

    • 笑い ➡ eye_Smile

    • はぅ ➡ eye_Excited

    • なごみ ➡ eye_Blink

    • じと目 ➡ eye_Angry

    • びっくり ➡ eye_Excited

  • Eye, Eyebrow

    • 喜び ➡ eye_Smile

    • わぉ!? ➡ eye_Excited

    • なごみω ➡ eye_Blink

    • 悲しむ ➡ eye_Sleep

    • 敵意 ➡ eye_Angry

設定が終わったら閉じます。


「WriteDefaults」を有効化

最後に『GameObject』に『MIM Avatar Write Defaults』を追加します。
『シャルベ』は「Write Defaults が全て無効」となっているため、アップロードと同時に「全て強制的に有効化」させます。
これによって、表情が MMD ワールドで反映されるようになります。

①『GameObject』を選択

② 画面右側の「Inspector」から「Add Component」を選択、「Make It MMD」➡「MIM Avatar Write Defaults」を選択して追加

③「FX の WriteDefaults を全て強制的に有効化する」に✅チェック✅

エディタ画面

前段階で行った 『アバターをアップロード』の手順を繰り返して完了です。
お疲れさまでした。

表情豊か

「通常の表情切り替え」は使えなくなる

MMD 対応は完了しましたが「Hierarchy での作業」が影響して「通常の表情切り替え」が無効化されます。
例外として、VRChat 標準搭載のリップシンク機能だけは動作します。

今回アップロードした『シャルベ』は「MMD 専用」として、MMD 対応前の『シャルベ』を「別のアバター」としてアップロードし直せば、ひとまず解決となります。

その場合は『シャルベ』プロジェクトを新たに作成し、前段階で行った 『アバターをアップロード』の手順まで行えば完了です。


FaceEmo で表情切り替え

「MMD に対応して、通常の表情切り替えも可能なシャルベが欲しい」という場合がほとんどだと思います。

「表情切り替え直して、ついでに自分の好きなハンドサインで好きな表情が出せるようにしちゃおう」というオマケ的な部分となります。(デスクトップにも対応しています。)

ただし、注意点として MMD で踊る前に 「まばたきを無効化」 と 「FaceEmo を無効化」という手間が発生します。
「アバターを切り替えるだけで済む現状」と比較して、問題無ければ進みましょう。

『Make It MMD』の Booth ページに「併用可能」と書かれてある

『FaceEmo』の導入

『Make It MMD』の導入 で行った時と同じ方法で導入します。
『FaceEmo』と『Modular Avatar』が必要です。

追加手前の確認画面
追加された Packages

①「ダウンロード (VCC)」を選択
②『CreatorCompanion』が起動、「I Understand, Add Repository」を押して追加します。
③「suzuryz」が追加されている事を確認

追加手前の確認画面
追加された Packages

①「ダウンロード (VCC)」を選択
②『CreatorCompanion』が起動、「I Understand, Add Repository」を押して追加します。
③「bd_」が追加されている事を確認

アバターが入っている『シャルベ』プロジェクトの「Manage Project」を選択します。
プロジェクトを起動している場合は閉じてください。

ホーム画面

『Make It MMD』があるので「+」でインストールします。

インストール前の Projects 画面
インストール後の Projects 画面

これで「.unitypackage をインポートした後」と同じ状態となります。


表情データの構築

アバターのシーンを開きます。
「Emo」というボタンが『Hierarchy』の『Sherbi』に追加されているのでクリックします。

別ウィンドウで『FaceEmo』の管理画面が出ると思います。
そのまま「OK」を押して編集画面に移りましょう。

『Hierarchy』に追加された「Emo」のボタン
初期化画面

メイン画面が表示されたら、ひとまず下記の手順まで進めます。
①「表情パターン」の「+」で「新しい表情パターン」を追加
②「新しい表情パターン」を『シャルベ』に変更 (他の名前も大丈夫です)
③「表情」の「+」で項目追加

『シャルベ』の顔が項目に出てきた

画像のように『シャルベ』の顔が表示されたら成功です。
※ 上手く表示されない場合は Unity を再起動してみて下さい。

ひとまず『シャルベ』標準の表情設定と同じにしてみます。
ハンドサインで切り替える表情は「9 種類」ありますので、8 個の項目を追加します。

通常表情がたくさん

項目左側を上から順番に設定していきます。
左手が「口の操作」で、右手が「目の操作」です。

  • 「左手が」「Rock」「と一致」➡「リップシンク有効」のチェック外す

  • 「左手が」「Gun」「と一致」➡「リップシンク有効」のチェック外す

  • 「左手が」「Thumbs」「と一致」➡「リップシンク有効」のチェック外す

  • 「右手」「Fist」「と一致」➡「まばたき有効」のチェック外す

  • 「右手」「Open」「と一致」➡「まばたき有効」のチェック外す

  • 「右手」「Point」「と一致」➡「まばたき有効」のチェック外す

  • 「右手」「Rock」「と一致」➡「まばたき有効」のチェック外す

  • 「右手」「Gun」「と一致」➡「まばたき有効」のチェック外す

  • 「右手」「Thumbs」「と一致」➡「まばたき有効」のチェック外す

口の操作中に「リップシンク」(マイクで「あいうえお」を喋った際の口の変形) が混ざると、口の形が崩れてしまいますので、口の操作中は喋っても動かないようにします。

目の操作中にまばたきが混ざると、目の形が崩れてしまいますので、目の操作中はまばたきが発生しないようにします。

左側の設定が完了

表情データの設定

「右手」が「Open」の時は「笑顔」にする、といった表情設定に移ります。

『シャルベ』に予め同梱されているアニメーションデータは「Hierarchy での作業」で「Face」を「Body」に変えた事で互換性が失われています。
そのため、アニメーションデータを新規作成します。難しくはありません。

上から順番に進めます。
マウスカーソルを『シャルベ』の顔に持っていく事で、4 つのメニューが表示されます。
左上の「+」で「新しいアニメーションクリップを作成します。」

「新しいアニメーションクリップを作成します。」

どこに保存するかを尋ねるウィンドウが表示されます。
Note の記事通りに進めている場合は、下記のフォルダーが表示されます。

  • C:\Users\『ユーザー名』\Documents\Unity\シャルベ\Assets

データ置き場として個人的にオススメなのは、ここから『KIGURUMI_MARMOT』➡『Sherbi』➡『Shrb_Animation』のフォルダーに移動して『FaceEmo』という名前のフォルダーを作成する事です。

① ファイル一覧の枠内の適当な場所で「右クリック」
②「新規作成 (W)」
③「フォルダー (F)」
④『FaceEmo』で名前決定

C:\Users\『ユーザー名』\Documents\Unity\シャルベ\Assets\KIGURUMI_MARMOT\Sherbi\Shrb_Animation
C:\Users\『ユーザー名』\Documents\Unity\シャルベ\Assets\KIGURUMI_MARMOT\Sherbi\Shrb_Animation\FaceEmo

これは個人的なオススメなので、好きな場所に保存して問題ありません。

① フォルダー位置が正しい事を確認
② 名前を付ける (今回なら「左手の Rock」なので『Rock_L』)
③「保存 (S)」を選択

名前を付けて保存

その後「編集ウィンドウ」「表情ウィンドウ」の 2 つが表示されます。

「編集ウィンドウ」の「▼ 未分類のシェイプキー」の「exp_???????」にマウスカーソルをあわせる事で「表情ウィンドウ」の表情が切り替わるはずです。

『eye_Sad』にマウスカーソルをあわせてみた

今回の『Rock_L』は『exp_Drool』です。
クリックする事でアニメーションに登録されます。

『exp_Drool』を設定

これで『Rock_L』は完了です。2 つのウィンドウを閉じます。
項目にも表情が反映されているはずです。

表情ウィンドウ

という事で、同じ手順をあと 8 回繰り返します。
最初の『Rock_L』も含めた上から順の一覧です。

  • Rock_L ➡ exp_Drool

  • Gun_L ➡ exp_Laugh

  • Thumbs_L ➡ exp_Lick

  • Fist_R ➡ eye_Dizzy

  • Open_R ➡ eye_Smile

  • Point_R ➡ eye_Excited

  • Rock_R ➡ eye_Angry

  • Gun_R ➡ eye_Sleep

  • Thumbs_R ➡ eye_Sad

完了後のフォルダー
完了後の表情ウィンドウ

アバターに適用

編集ウィンドウで作った内容は「アバターに適用」が必要です。
早速行いましょう。

「アバターに適用」
確認画面は「適用」
しばらく待った後に完了表示

これで作業完了しましたので、ウィンドウを閉じます。
「Hierarchy」の『Sherbi』の中に『FaceEmoPrefab』が追加されています。

『FaceEmoPrefab』

「まばたき」を有効化

『シャルベ』は他のアバターとは異なり「まばたき」を独自実装しています。
そのため MMD 対応の時点で「まばたき」を行っていません。ドライアイになります。

VRChat 標準機能の「まばたき」を有効化します。
これによって『FaceEmo』が「まばたき」を認識できるようになります。

『FaceEmo』からエラーが出ている

①「Hierarchy」の『Sherbi』を選択
②「Eye Look」という項目を見つけて「Enable」を選択

プロジェクト画面

③ 展開した項目の「Eyelid Type」のリストを選択
④「Blendshapes」を選択

Eye Look

⑤ 更に展開した項目の「Eyelids Mesh」の右端の二重丸「◎」を選択
⑥『Body』を選択
⑦ 更に更に展開した項目の「Blink」のリストを選択
⑧『eye_Blink』(まばたき) を選択

Blendshape States

作業完了です。プレビューで「まばたき」が確認できます。

プレビューが有効

前段階で行った 『アバターをアップロード』の手順を繰り返して完了です。
お疲れさまでした。

作業が終わって喜んでいるシャルベ

「まばたき」が行われていない様子でしたら『FaceEmo』の「アバターに適用」をもう一度行ってみてください。


MMD で踊る前に「まばたき」を無効化する

「まばたき」が行われるようになりましたが、MMD で踊っている時も「まばたき」を行い続けます。
「MMD 表情」と「まばたき」が混ざると目が崩れてしまいますので、無効化する癖を付けましょう。(自動でオフにする方法があったら教えて下さい)

① メニューを開いて「Expressions」

MMD シャルベ ①

②『FaceEmo』

MMD シャルベ ②

③「設定」

MMD シャルベ ③

④「まばたきOFF」を有効化

MMD シャルベ ④

MMD で踊る前に『FaceEmo』を無効化する

VR 利用中は『FaceEmo』の表情切り替えが反応します。
MMD を踊っている最中に「カメラ操作で表情が崩れてしまう」といった問題です。

この場合は「両手の無効化」を行って下さい。

①「Expressions」
②『FaceEmo』
③「設定」
④「ジェスチャー設定」
⑤「左手を無効化」「右手を無効化」

『FaceEmo』の「設定」
無効化する

個人的に、踊る直前に「まばたき無効」「左手を無効」「右手を無効」を毎回選ぶのが面倒に感じています。
「ワンクリックで有効・無効を切り替えるスイッチ」を作って配布を検討中です。


【準備中】【オマケ】写真撮影用の表情を作ってみる

『シャルベ』標準の表情設定と同じにしてみましたが、編集画面の内容からお察しの通り、好きな表情を好きなハンドサインに割り当てられます。

「目と口を同時に動かす」「まばたきを 50% で止めて半開き目にする」などといった事も行えますので、早速行ってみます。


【準備中】Quest アバターをアップロード

突然ですがクイズです。
「今回対応したシャルベ、Quest 単体で遊んでいるユーザーにはどう見えていると思いますか?」

Quest 用にアップロードしていない

正解は「見えていない」「代替の Fallback アバターが見えている」です。

「Quest 単体」「スマートフォン」の人から見ると『シャルベ』は重過ぎるんです。
ハイスペックなパソコンだからこそ見えているという事ですね。

自分自身が『シャルベ』で見えていたとしても「Quest 単体」「スマートフォン」の人には「代替の Fallback アバター」が見えています。
他人の集合写真で違うキャラクターに置き換わっていて「あれ?」と思ったことはありませんか?
その場合は今回の件が反映されていると思ってください。

「Fallbacks」で表示するアバターを設定できる

さて、このままだと納得できませんので「Quest アバター対応」やります。


【準備中】『VRCQuestTools』の導入


この記事が気に入ったらサポートをしてみませんか?