こんにちは、りつえるです。
最近Spatialを始めてみたのですが、Spatial内で作れるアバターデザインが正直好みではありませんでした。
ならば、何とか外部で作ったVRM形式のデータを読み込ませようと頑張りましたが、予想以上に難解でした(汗)
同じように苦労している人も居るだろうなと思い、自分の忘備録も兼ねてその方法を書いていきたいと思います。
Spatialに登録、Unityはインストールしているものとして進めていきますが、まだの方はSpatialに登録後、こちらのページを参考にUnityを入れて、3番の認証までを終わらせてくださいね。
①用意するVRMデータの事前準備
SpatialでVRMを使うのに、どんなVRMデータでもいいというわけではないので、私なりに試行錯誤して調べた条件を書いていきたいと思います。
VRoidStudioを例に説明していきますが、赤〇で囲ったところを触って、以下の条件を満たすように設定していきます。
・ポリゴン数を21000代以下
・マテリアル数を2
・テクスチャアトラス解像度を2048×2048
ポリゴン数を触るとどうしても質が落ちてしまうので、明らかにおかしくならないようにパラメーターを触ってバランスを取ってください。
テクスチャアトラス解像度はSpatialで読み込む場合、1024以下にしなければいけないのですが、VRoidStudioでは2048以下に出力できないので、ここは後で修正していきます。
条件を満たせたら、VRM0.0形式でエクスポートしてください。
この段階でVroidStudioでスクショを撮って、アバターのサムネ(256×256サイズの透過png)を作っておくと、最後スムーズに登録できるので、作っておくことをオススメします。サムネは必須になります。
②UniVRMの最新版をインストール
GithubのUniVRMのページから”RM 0.x Import/Export”の最新版をダウンロードしてください。
Unityを起動した後、unitypackageをダブルクリックするとインポートすることができます。
③FBX Exporterをインストール
・Unity上部メニューのWindowをクリック
↓
・PackageManagerをクリック
↓
・出てきたウインドウのPackage Unity Registryをクリック
↓
・ウインドウ左上にあるUnity Registryをクリック
↓
・ウインドウ右上の検索のところで”FBX Exporter”を検索してインストール
④プロジェクトの中にフォルダを作成
私は Assets/Examples/ の下に”ritsuel”というフォルダを作成しました。
この中にエクスポートしたVRMファイルを入れて作業していきます。
注意点として、フォルダと作らないと同じ階層に自動でたくさんのファイルやフォルダを生成してしまうので、ゴチャゴチャになってしてしまいます。
矢印のVRMファイルを1つ放り込んだ状態です。
自動でファイルやフォルダが出来ているのが分かります。
忘れないうちにサムネもここに放り込んでおくといいと思います。
⑤テクスチャの解像度を全て1024以下にする
自動で作成されたフォルダの中に、(ファイル名).Textures というフォルダが作られているので、ダブルクリックして中を見ます。
中に入っているファイルを一つずつ 右クリック⇒Properties で解像度を確認していきます。
赤〇で囲ったMaxSizeが2048以上になっているものだけクリックしてプルダウンの中から1024を選び、Applyをクリックしていきます。1024以下になっているファイルは何も触らなくてOKです。
⑥prefabを読み込ませ、fbxに変換
VRMファイルを入れた階層に戻り、(ファイル名).prefab というファイルが出来ているので、それを上部にドラッグ&ドロップしていきます。(人の形をしているファイルなので分かりやすいです。)
人型が設置され、VRMにつけた名前と同じものが左側のHierarchyのリストに加わったので、それを右クリック⇒Export To FBX をクリックします。
何も触らないまま Export を押します。
⑦アニメーションタイプの設定
左下のプロジェクトのリストからAssetsをクリックして移動します。
見本は失敗のデータが一杯あったので黒く塗りつぶしていますが、VRMにつけた名前のfbxファイルが出来ていると思います。
このfbxファイルを右クリック⇒Properties で、Animation Typeのところをクリックして、Humanoidに変えてApplyをクリック。
紛らわしいので、⑥で入れた色付きの人型は クリック⇒delete で消しておきます。
⑧fbxファイルを上にドラッグした後、prefabを作成
先ほどの(ファイル名).fbxのファイルを上にドラッグ&ドロップしていきます。
左上のHierarchyリストから、ドラッグ&ドロップしたfbxと同じ名前を見つけて、今度はそこから下の作業フォルダへドラッグします。
そうするとポップアップが出てくるので、一番左をクリックします。
(ファイル名).prefab が作成されるので、
最終的に(ファイル名).fbx と (ファイル名).prefab とサムネがあればOKです。
⑨Spatialへの登録準備
・画面内のアバターをクリックし、右側のAdd Corponent をクリックします。
すぐ下に出てきた検索窓に”spatial”と打ち込み、”spatial Abatar”を選択します。
黒背景に白文字でCustom Avatarが出ていればOKです。
上部の Publishing をクリックします。
ウインドウが出てくるので、①”Avatar”を選択、②Createをクリック、③好きな名前を入力 まで行います。
次にPrefabの項目に、⑧で作った(ファイル名).prefabのデータをドラッグ&ドロップします。
サムネが入っているフォルダに移動して、サムネ部分に同様にドラッグ&ドロップします。
画像のようになればOKです。
⑩テストをする
ここまできたら、何か問題が無いかテストをしていきます。
上部にある、Test Active Package をクリックすると、問題無ければブラウザでアバターが表示されます。
↓こんな感じで出れば成功です!
⑪Spatialに登録する
いよいよ本登録です。と言ってもPublishをクリックするだけです。
ポップアップで ~Successfully~ と出れば登録完了です。一般的に15分~1時間位でspatialのアバター変更画面のところに表示されます。
お疲れさまでした!
※エラーが出てしまったら
IssuesのRefreshをクリックすると、英語ではありますが問題個所を教えてくれるので、何処を直したらいいのか、おおよそ予想がつきます。
サムネミスや設定ミスが殆どだと思うので確認してみてください。
とても長い記事になってしまいましたが、少しでも参考になれば幸いです。