見出し画像

ツールを使ってVRChat用のアバターを簡単にclusterやVismuth、その他ゲームとかで使えるVRMに変換する(VRM Converter for VRChat)

ご注意、前提

本記事はVRChatをプレイされており、かつアバターをUnityからアップロードしたことがある方が前提の記事となっております。
Unity上の細かい説明は省いておりますので、ご不明な点ある場合は調べていただくかコメント等で連絡いただければ幸いです。

今回変換、使用するアバターは利用規約でVRChat以外のプラットフォームで使用可能と明記あるか、少なくとも禁止されていないことをご確認の上、ご使用ください。
万が一トラブルに発展した際でも私は一切の責任を負えませんし、製作者様への尊敬の念を忘れないようにする意味でも利用規約は確認の上、ご利用することを強く推奨致します。

本記事についてはツール作成者の100の人さんが書かれた説明を少しわかりやすくすることを目的としています。
元の説明ではVRMについての説明もありますので是非ご一読ください。
また、ご本人から上手く変換できないこともあるとの連絡もいただいております為、絶対この方法で上手くいくとは思わないでください。
上手くいかない場合はZen様のアップロードされている講座動画等を見て、ツールを使わない場合のVRM作成方法を学ばれることを推奨致します。
ただ私の方でも可能な限り確認は致しますのでコメント等でご一報いただけますと幸いです。

さて以下からは少しだけご挨拶文を書きますので、内容だけ早く見たいという方は目次から「本編」まで飛んでくださいね!

ちょっとだけご挨拶と導入を

日々VRChatを楽しんでいるVRChatterの皆さん、こんみや!
VRChatterのはしくれ、宮と申します。
自己紹介記事ではないので詳細は割愛しますが、気になる方は私のTwitterを見ていただけると嬉しいです。

さてこの記事を読んでいただいているということは、普段お使いであり、改変できる方は自分の好みをこれでもかと詰め込んだマイフェイバリットアバターを他のプラットフォーム、つまりclusterやVismuthといった場所で使いたいので変換したいということなのでしょう。
そうですよねその気持ちわかります。せっかく作ったかわいいの極や、美麗なアバター。VRChatだけで終わらせるには勿体ない…!もっと色々な人に見せたい、見せつけたい。良いんです。その欲求は少なからず、多くの人が持つものです。
●<その欲望、解放しろ。(仮面ライダーオーズの敵怪人の有名セリフ)
さぁ私と一緒に新たな世界への第一歩を踏み出しましょう。

本編

1.Back Up Your Projects!

確かUnity2019移行の際の画像。ノリが軽妙でちょっと話題になった。

バックアップは基本、古事記にもそう書かれている。
Unityのプロジェクトフォルダをフォルダごとバックアップしましょう。

そんなこと今更…と少しでも思ったそこのあなた、重大な事故やミスは大体その油断している時に限って起きるものですよ。
というか今回他のプラットフォームまで持ち込みたいと思っているアバターなんですからバックアップは常に取るようにしましょう。データが破損、焼失してからでは遅いのです…。

個人的には7-Zipとかの圧縮解凍ソフトをインストールして、圧縮兼バックアップを取る方法をおススメします。プロジェクトファイルの中は細かいファイルとかでコピーとかに結構時間かかるので一ファイルにしておくとGoogleドライブ等のクラウドとかにバックアップする際にもアップロードが早くなっていいのです。

2.VRM Converter for VRChat のインポート

↓からツールをダウンロードして、プロジェクトを開いた状態でいつものように「VRM Converter for VRChat Installer.unitypackage」をダブルクリックしてインポートしましょう。
インポート完了後に「Importing a scoped registry」とかいうダイアログが出て、Package Managerのウィンドウが開きますが、どちらも閉じてしまって大丈夫です。

ちなみに説明用の環境は以下の通りです。

今回は説明用に主流となった(はず)のSDK3のアバターを使いますが、私は普段「こうめ」ちゃんというアバターをSDK2で作ったプロジェクトを変換して使っているのでSDK2でも動くはずです。

「てっさくちゃん」はVRChatで人気の無料モデル
説明はPC版ですがAndroidの方でも同様に動くはず
ダイアログを「Close」で閉じて、後ろのPackage Mannagerは×で閉じる

3.(変換設定)表情(Happy~Surprised)

「Hierarchy」で変換するアバターが選択された状態でメニューバーの「VRM0」から「Export VRM file from VRChat avatar」をクリック。

アバター選択状態でないと灰色で機能がクリックできないので注意

ウィンドウが開いたら各設定をしていきます。

Unityのウィンドウは大体縮小拡大できるので操作しやすい大きさにすると良い

まず「Happy」(嬉)「Angry」(怒)「Sad」(哀)「Relaxed」(楽)「Surprised」(驚)をそれぞれ設定します。
選択肢にはハンドサインに設定されたアニメーションクリップが表示される(はず)のでそれぞれ設定していきます。
ちなみに必須ではなく任意項目で、設定無しでも進めます。ただしclusterやVismuthで表情を使う機能のその表情をさせる機能が使えなくなります。

どの選択肢がどの顔だっけ…?ってなった時は、大体アバターのアセットフォルダ内に「Animation」的な名前のフォルダがあり、その中に大体選択肢の名前のファイルがあるのでそれをクリック。
右下に表示されるプレビューで表情を確認すると良いと思います。

てっさくちゃんの場合はAssets>TessakuChan>Animation>handsignの中に選択肢のアニメーションがあるのでそれで確認します。
例えば「Happy」(嬉)だったら「Peace_L」がそれっぽいですかね。

もし変なおじさんになっていたら、Hierarchyのアバターをドラッグ&ドロップしてきてください。

ここで、あれ?この表情アニメーションを設定したいけど選択肢にないよ?って時はアバターの製作者様が作ってはおいたけどハンドサインには設定してないってアニメーションなので、一旦ハンドサインに設定すれば出てくると思います。
(アニメーションについてはまだ私も絶賛勉強中なので違っている場合はご指摘ください…)
一度設定画面を閉じて以下の設定を確認してみてください。

SDK3の場合

VRC Avatar DescriptorにあるPlayable Layersという項目のBase>Gesture、またはFXというアニメーションレイヤーをクリックすると、Projectウィンドウの方でここだよーと黄色の枠で表示されるので、表示されたレイヤーファイルをダブルクリック。

すると私含め、初心者にはグラっとくるような謎画面が中央に表示されるので、グッと耐えて画面中央左から、「Left Hand」とか「Right Hand」とか手の表示があるところをクリック。
画面中央に「Fist」とか「Open」といったハンドサイン名の四角が出てくると思うので、適当にクリック。
画面右のInspector、Motionの欄に設定されているアニメーションがあるので、そこを変えてあげれば選択肢に出てくるようになるはずです。
ただ逆に言えば設定を変えてしまうと出てこなくなるので、今回の変換で使わない表情を一旦差し替えるようにしましょう。また変換完了後、またVRChat用に使う場合は設定を元に戻すことを忘れずに。

あ、画面を元に戻したい時は「Scene」のタブをクリックしてくださいね。

SDK2の場合

SDK3の場合と同じく、VRC_Avatar Descriptorの中に「Coustom Standing Anims」と「Custom Siting Anims」という項目があるのでそこをクリックして表示されるファイルをクリック。
するとハンドサイン等のアニメーション設定一覧が出てくるので、そこにアニメーションを設定します。

こうめちゃんの場合
ここに設定。個人的には3よりこちらの方がわかりやすい…

4.(変換設定)まばたき(Blink~BlinkRight)

次にまばたきの設定をします。
Blink~BlinkRightについては選択肢がシェイプキーの一覧になるので、シェイプキーからまばたき…つまるところ目を閉じるようになる項目名を探します。
ちなみにシェイプキーを知らない方向けにざっくり説明すると、3Dモデルに設定されたパーツを調整する為のつまみ(スライダー)みたいなものです。

シェイプキーがあるオブジェクトはアバターによって異なると思いますが、大体Body、それに準ずる名前のオブジェクトにあります。
オブジェクトを選択し、右のInspectorに「Skinned Mesh Renderer」というコンポーネントを見つけたら、その中の「▶BlendShapes」という太字の名前をクリック。

デフォルトでたたまれている為、最初は少し探すかも

するとその3Dモデルに設定されたシェイプキーの一覧が出てくるので、上に書いた通り、目を閉じるような項目名を探し、実際にスライダーを動かしてみてチェックします。
大体BlinkとかWinkという名前がついているものがそれにあたります。

Blinkを100にした時。このシェイプキーを弄っているだけでも楽しい。

長くなりましたがここまで上手くできましたでしょうか?
間違っていても後から再度作り直せば良いだけなのでトライ&エラーの精神でいきましょう。

5.(変換設定)その他

後の設定は多分VRMというアバター内の設定的な部分で、再配布した際にそのアバターの内容を確認できるようにする為の項目です。
なので自分で使う限りは恐らく影響がないので、簡単にまとめます。

Thumbnail

設定するときは正方形にした画像を一度Assetsフォルダ内のどこかに保存してそれを選択すればOK。
cluster、Vismuthでは少なくとも表示される場所はありませんでした。なので無視してもいいと思います。

Title(アバター名とか)
Version(バージョン)
Author(製作者名)

必須項目なので適当に入力。
アバター名、1.0、自分の名前とかでいいんじゃないでしょうか。

Contact Information (自分の連絡先)
Reference (親作品)

必須でないので無視。

アバターの人格に関する許諾範囲
再配布・改変に関する許諾範囲

多分再配布の時に考慮するべき項目なのでそのままでいいと思います。
ちなみにLicense Typeの「Redistribution_Prohibited」とは再配布禁止の意味だそうです。

さて全部入力できたらお待ちかね、右下の「Export VRM file」をクリックして、任意の場所へVRMファイルを保存しましょう。

今回私がした設定はこんな感じです

6.シェーダーの確認

VRMができた!これで勝つる!とお思いでしょうが、いえ、ちょっと待ってください。最終確認をしましょう。

Assetsフォルダ内に任意のフォルダを作成します。

適当な場所で右クリック「Create」>「Folder」で名前は適当でOK

メニューの「VRM0」から「Import from VRM 0.x」をクリック。
ダイアログが出たら先ほど保存したVRMファイルを選択します。

次に選択したVRMファイルの展開場所を聞かれるので、先ほど作成したフォルダの中に移動して、「保存」

保存するとフォルダの中にアバターをインポートした後のような状態になるので、一度元々表示されていたアバターを非表示にして、Hierarchyにprefabファイルをドラッグ&ドロップ。

ドラッグ&ドロップしたアバターを展開して「vrm-mesh」と「vrm-mesh_WithoutBlendShape」をそれぞれ選択し、「Inspector」の一番下あたりにあるマテリアルのシェーダーが全て「VRM/MToon」になっていることを確認します。
もしなっていなかったらここで変更します。

Standardとかになっていると後で表示がおかしくなったりします

もしここで色味が納得いかない状態であれば、展開したAssetsフォルダ内の「Textures」フォルダにテクスチャがあるのでここで色調整すると良いと思います。

もしここでシェーダー等を変更した場合は再度VRMファイルを保存し直しましょう。
HierarchyからインポートしたVRMアバターを選択した状態でメニューバーの「VRM0」>「Export to VRM 0.x」を選択して、また任意のファイル名で保存すれば完了です!

お疲れ様でした!

後はできたVRMファイルをclusterやVroid Hub等にアップロードしてみましょう!
ただサービスによってアップロードできるアバターに制限がある場合があるので、その場合は適宜対応するようにしてください。

(参考)clusterのアバター制限

それでは良いアバターライフを!


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