LoginSignup
32
22

VRChat用モデルを標準アバター形式「VRM」へ変換する

Last updated at Posted at 2020-12-24

概要

VRChat Advent Calendar 2020 25日目の記事です。

VRChat Advent Calendar 2019 では2日目に 継続的なクロスプラットフォーム対応VRChat Advent Calendar 2018 では25日目に 【完全版】BlenderやFBXのモデルをVRChatで使おう! という記事をを書きました。

VRMとは?

オープン標準 VRM は、人型3Dモデルのファイル形式で、標準化団体「VRMコンソーシアム」が策定作業を進めています。

次のようなデータを、1つのファイルにまとめて格納することができます。

  • メッシュ・ボーン・シェイプキー
  • テクスチャ
  • マテリアル
  • Humanoid (hipsやheadなど) とボーンの対応関係
  • 視点の位置
  • 表情とシェイプキーの対応関係
  • 揺れモノ
  • アバター名・作者・親作品・利用規約

VRMは、GLBというファイル形式の一種 (GLB拡張) です。GLB (glTF) は、3Dモデルのファイル形式で、国際標準として広く利用されています。

GLBは、Blenderが標準で対応していて、Windowsでもダブルクリックで開けば、モデルを見回すことが可能です。VRMはGLBの一種なので、拡張子を .glb に変えれば、Windowsでそのまま閲覧できます。

Unityエディタ上のVRChat用モデルをVRMへ変換することで、多くのアプリケーションでアバターとして使うことができるようになります。

VRChat用アバターとVRM

FBXなどからセットアップする場合、VRChat向けにセットアップするのに比べ、VRMはよりかんたんにセットアップできます。

しかしながら、VRChat向けにセットアップ済みのアバターを手っ取り早くVRM化したいとか、UniVRMよくわからんというときは、この記事の手順を試してみてください。

細かく設定する場合、継続的にメンテナンスする場合は、FBXなどからセットアップすることをおすすめします。

こちらはアバターオンリーの展示会・見本市「アバターミュージアム」のツイートですが、2020年12月現在、VRM未対応のアバターがまだまだ多いのが現状かと思います。

変換手順

VRM Converter for VRChatのリポジトリを追加

  1. VRChat Creator Companionの左メニューの下の「Settings」をクリックします。

  2. 上の「Packages」タブをクリックします。

  3. 右上の「Add Repository」ボタンを押します。

  4. 出てきた「Repository Listing URL」欄へ、以下のURLをコピーして貼り付けます。
    https://esperecyan.github.io/VRMConverterForVRChat/registry.json

  5. その右の「Add」ボタンをクリックします。

  6. 表示された警告を読んで、右下の「I Understand, Add Repository」ボタンをクリックします。

    コミュニティリポジトリの免責事項
    警告: 自己責任でダウンロードしてください!
    第三者のサイトを通じて提供されるコミュニティパッケージには、マルウェアが含まれている可能性があります。
    VRChatは、コミュニティパッケージに対するいかなる表明、保証も行わず、コミュニティ・パッケージに起因する、または関連するいかなる責任も負わないものとします。

VRM Converter for VRChat の導入

  1. 「Projects」画面の、導入先のプロジェクト名の右端の「Manage Project」ボタンをクリックします。
  2. VRM Converter for VRChat」の行の右端の「」ボタンを押します。
    image.png

『VRM Converter for VRChat』などのパッケージには、C#スクリプト (.cs ファイル) が含まれています。C#スクリプトは、コードの書き方によってインストール、もしくはインポートした時点で実行されます。つまりWindowsでいうところの .exe ファイルなどをダウンロードし、Windowsのブロックを回避して強制実行するのと同じです。VRChat Creator Companionでインストールするパッケージはもちろんのこと、SDK3向けギミックを配布するときにもC#スクリプトの同梱がほぼ必須となりましたが、信頼のおけるパッケージ (+ コミュニティリポジトリ) やアセット以外はインストール、インポートしないようにご注意ください。
VRChat Creator Companionでインストールするパッケージについては、以下のようなRepository Listing URLから、パッケージのURLを捜してダウンロードし展開すれば、C#スクリプトの中身をチェックできます。
https://esperecyan.github.io/VRMConverterForVRChat/registry.json
unitypackageの場合は、UnityPackageUnPacker を利用すると、.unitypackageファイルを展開してC#スクリプトの中身をチェックできます。

VRMへの変換

  1. VRChat用のアバターをクリックして選択された状態にします。
  2. そのまま、ウィンドウ上部のメニューから、「VRM」→「Export VRM file from VRChat avatar」を選択します。
    ※ダイアログ (ウィンドウ) の初期サイズが小さい場合があります。ダイアログ右下をドラッグするとサイズを変えることができます。
  3. Expressions で、「Happy」(嬉)「Angry」(怒)「Sad」(哀)「Relaxed」(楽)「Surprised」(驚) に対応するアニメーションクリップを、プルダウンメニューから選択します。
    ※不足していてもエクスポートは可能です。
  4. 必要であれば以下の項目も入力します。(参考: モデル情報 | UniVRMマニュアル)
    • Title (アバター名)
    • Version (アバターのバージョン)
    • Author (作者)
    • Contact Information (自分の連絡先)
    • Reference (親作品)
    • アバターの人格に関する許諾範囲 / 再配布・改変に関する許諾範囲
      ※デフォルトではもっとも厳しい条件になっているので、条件をゆるめたい場合でなければ、基本的にはそのままでも大丈夫です。
      ※アバターに人格を与えることの許諾範囲とは、一般的に、アバターを操作できる人を表すものです。
      ここで「Everyone」を選択すると、VRChatのpublicアバターと似たような意味になります。
      (参考: アバターの人格に関する許諾範囲 | UniVRMマニュアル)
  5. ダイアログ右下の「Export VRM file」をクリックします。
  6. ファイルピッカーが開くので、VRMファイルの保存先を決めます。
    ※Unityプロジェクト内へエクスポートすると、UniVRMによってVRMの自動インポートが始まるのでご注意ください。

フィードバックサイトへ投票のお願い

VRChat SDKが対応しているUnity 2019.4は、すでにUnity Technologiesのサポートが終了しており、同バージョンはUniVRMでサポートされていません。
VRChatはCannyというサービスを利用してフィードバックサイトを開設しており、Unity 2021.3へのアップグレード要望が投稿されています。

また、VRM対応の要望も投稿されています。

ぜひ各投稿へ vote (投票) をお願いいたします。

投票の仕方

  1. 上のツイート内のCannyへのリンクを開きます。
  2. LOG IN TO VRCHAT ボタンを押します。
  3. VRChatのログインページが出てきたらログインします。
  4. 「Canny Would Like to Connect to Your VRChat Account」という、Cannyからの連携を許可するか確認するページが表示されるので、Yes! ボタンを押して連携を許可します。
  5. 数字が書かれたボタンを押してvote (投票) します。数字の上の △ が青色になればvote完了です。
32
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
22