CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【VRChat】vrmモデルをVRChatのモデルに変換する方法の解説
こちらの記事ではvrm形式のモデルを変換し、VRChat内で利用できるようにする為の方法の基本を解説しています。
基本の解説なので、VRM内に含まれている設定をVRChatのアバターに反映させることを目標とします。
VRMとは
簡潔な説明になりますが、VRMとは、主にVRソフトウェア系統で使用する人型(Humanoid)の3Dモデルファイルの事です。
主な使用例としては、3DVtuberとしてのゲーム配信、とあるゲームのプレイヤーモデル用としての利用などがあります。
人型、とありますが上手く設定すれば人外のモデルも設定できます。
配信でよく見るレイアウトです、このモデルもvrmとなっています。
変換のメリットと注意事項
VRMを変換することでメリットは沢山生まれますが、同時にそれを行う際のよく確認しなければいけない注意事項も存在します。
メリット
VRMから変換する際のメリットとしては、上手く変換できた場合、とりあえず使えれば良い、という目的の場合は、そのままアップロードすればそんなに時間をかけることなくすぐに利用できる点です。
画像はVRMの表情などの設定画面です。
元のVRMで設定が行われていれば、VRChatのアバター用に変換した時点でリップシンクや、ある程度の表情は自動的にコンポーネントに登録されます。
他にもレイヤー系統なども自動でセッティングしてくれるのでこちらも最低限で良いならば特に触らなくても良くなっています。
注意事項
注意事項としては、自分で作成、設定した3Dモデルなら特に気にする必要がありませんが、他人が作成した3Dモデルを利用する場合はしっかりとその3Dモデルの利用規約を確認する必要があるという点です。
上は一例です。
配布されている3Dモデルには殆どの場合しっかりとした利用規約が記述されています。
特に注意しないといけない点は、再配布が可能かどうかの点です。
VRChat用に変換した物を他人に渡したり、アバターとしてアップロードする際にpublic化をする行為はいわゆる二次配布となってしまうので、再配布が不可能の場合はこのような行為はしてはいけません。
VRChatの場合はVisibilityの所をPublicにしてアップロードが規約違反となります。
他にも改変が禁止となっている場合は、モデル自体の衣装を変えたりして利用をすることは不可能です。
作者様によっては、説明欄にVRChat向けの利用規約を用意していたり、個別で問い合わせください、等の表記がある場合があります。
その場合はそちらに従うようにしましょう。
例として、ニコニ立体の場合はこちらの部分から規約を確認することができます。
大まかな表記となっているので一目で分かるものとなっています。
変換処理を行う
変換作業はUnityに外部ツールを入れてそのツールを使い、変換作業を行う形になります。
VCCにパッケージとして導入して読み込む方法もありますが今回はプロジェクトにインポートしてそこから作業をする方法を解説します。
今回の作業は、以下の3Dモデル、「アリシア・ソリッド」ちゃんを利用させていただきます。
専用ツールをダウンロード
外部ツールはBoothからダウンロードすることが出来ます。
URLはこちらです。
解凍したら出てくるフォルダーは分かりやすい所に設置しましょう。 同時にアリシア・ソリッドちゃんの3Dモデル(.vrm)も上述のURLからダウンロードしておきます。
中身はunitypackageとなっています。 設置後、VRM移行用のアバタープロジェクトを作成します。 特に特別な設定をする必要はないので普通にアバタープロジェクトを作成して大丈夫です。
Unity内で作業を行う
ここからはUnity内の作業になります。
プロジェクトを作成後、アセットとして含まれていたunitypackageをインポートします。
インポートするとUnityの上のタブ一覧がこのような感じになります。
インポートしましたらアリシア・ソリッドの.vrmファイルもフォルダーからドラッグ&ドロップでアセット内に移動させます。
インポートすると、事前にインポートした変換用アセットによって自動的に.vrmの中身が展開されます。
このような感じになります。
展開されましたら、prefabファイルをHierarchyに配置します。
今回の場合は、AliciaSolid.prefabという名前になります。
配置したら、上のタブ一覧からVRM0という項目を選びその中から「Duplicate and Convert for VRChat」というボタンを選択します。
Hierarchyのアバターを選択していない状態の場合、灰色となって押せない状態になります。
選択した状態でクリックするようにしましょう。
色々パラメーターや、設定できる部分が出てきますが、とりあえずは何も触らずに右下の「複製して変換」を押します。
フォルダ指定のウィンドウが出てきますが、VRChat用のファイルを作成する場所の指定となっています。
こちらもアセット内の分かりやすい場所に設置しましょう。
Hierachy内にVRChat用のオブジェクトが作成されました。
アセット内にもVRChat用のアバターファイルが作成されていることが確認できます。
これでとりあえずのUnity内での作業は完了です。
アップロードしてゲーム内で確認
変換作業が終わりましたらVRChatにアップロードします、やり方は通常のアバターのアップロードと同じですが、私はテストアップロードのオプションでアップロードします。
今回の作業では確認すべき事項がいくつか存在します。
確認すべき事項としては以下の通りです。
- そもそもの全体の動きに違和感がないか
- トラッキングに問題はないか
- 指の動きがしっかり適用されているか
- その指の応じて表情がしっかりと変化するか
- ボイスチャットを使った時口が動くか
上から順番に1つ1つの項目を確認していきます。
まずは全体の動きを確認していきます。
確認の内容としては、動いた時にしっかりと歩きモーションや走りモーションになるか等です。
Unity側でHumanoid型として認識されていれば、VRChat側でもHumanoid型として認識されるので自動的に人間の動きが適用されます。
こちらはデスクトップ環境で確認しています。
動画内でジャンプやしゃがんだりしていますが、しっかりと人間として動いています。
動画のような動きをしていたらHumanoid型としてVRChatにアップロードすることは成功しています。
次にトラッキング関連を確認してみましょう。
こちらはVR環境(頭、左手、右手の3点トラッキング)で確認しています。
頭を傾けたらアバターも同じ方向に、手を動かしたらアバターの手も同じ方向、距離に追従しています。
こうなっていたらトラッキング関連は特に問題はないことになります。
次に指の動きを確認します。
こちらもVR環境で確認しています。
コントローラーを持ったまま色々な指のポーズを取っていますが、しっかりとそれに応じてアバターの指も変化しています、
次は表情の挙動を確認してみます。
表情も上手く適用されているようです。
こちらに適用されている表情としては、VRM側で設定されている物の表情となっています。
もし表情のみ上手く動いていなかった場合、VRM側で表情設定が上手く出来ていない可能性があります。
その場合は自分で表情を設定しないといけなくなります。
最後にボイスチャットを使った時、アバターの口がそれに合わせて動くかどうか(リップシンク)です。
こちらもボイスチャット使用と同時に口が動いているのが分かります。
発音に応じて口の形も変わります。
こちらも上手く動かない場合はVRM側でリップシンクの設定が最後まで行われておらず、変換できていない可能性が高いです。
この5点が動いていればひとまずは今回の目標は達成です。
まとめ
今回はVRMからVRChat用のアバターに変換する為の基本を紹介しました。
VRM側でしっかりと設定が行われている場合、特に細部を設定する必要なくスムーズに変換を行うことが出来ます。
再三の注意になりますがもし他の方が作成したVRMを編集する場合はしっかりと規約を確認するようにしましょう。