はじめに
・本記事で使用するUnityのバージョンは 2022.3.6f1 です
・ポリゴンの削減や軽量化などについては取り扱いません
・変換後のアバターは基本的にVeryPoorになります
・UnityHubとVCCがインストールされている前提で話を進めます
それでもよければ、ゆっくりしていってね!
前置き
最近友人に誘われて、長期休みをきっかけにVRChatを始めました。
私は現在ゲーミングPCを持っていませんので、Oculus Quest2を使ってQuest版でプレイしています。
この記事をお読みの方ならご存じかと思われますが、VRChatのPC版とQuest版では自由度に大きな違いがあります。
しかしながら、偉大なる先人たちの努力により、Quest版のプレイ環境も決して悪いものではありません。
そんな流れに少しでもお力添えをさせて頂くべく、今回はPC用アバターをQuest版に対応させる方法についてお話ししたいと思います。
Quest対応って何?
まず何故こういった作業が必要なのかについてですが、それを語るにはQuest版のアバターに関する制約について知っておく必要があります
詳しくはこちらを見ていただくと分かるのですが、Quest版ではアバターランクの基準がPC版と比較して大幅にシビアに設定されており、また利用できるシェーダーなどについても制約が課されています
つまるところQuest対応とは、こういった制限をクリアする行為なわけです
「軽量化が大変」
「ポリゴン削減とかよく分からない」
といった声が聞こえてきそうですが、ご安心を
実は私も分かりません()
なんとなくそういった印象を持たれがちな行為なのですが、実はVeryPoorでよければ、そういった作業は必要ありません
有志の方により便利なツールが用意されています
それがこちら、VRCQuestToolsです
非常にシンプルな操作でPC用アバターをQuest版に対応させることができるツールになります
では前置きもほどほどに、早速使い方についてお話ししましょう
VRCQuestToolsの使い方
1. プロジェクトを作る
まずはVCCからプロジェクトを作ります。既にプロジェクトがある場合は飛ばして大丈夫です。
Avatarsの2022と書いてある方をクリックし、適当な名前を付けてプロジェクトを作ります。
ただし平仮名や漢字などは使わないでください(写真は悪い例)
そうするとパッケージマネージャー的な画面が出てきますが、あとでUnityPackageから導入するので、ひとまず飛ばしてそのままOpen Projectをクリックします。
しばらく待ってこの画面になったらプロジェクトの作成は完了です。
2. VRCQuestToolsを導入する
まずは先ほども出したBoothのリンク先から、Unitypackageをダウンロードしてきます。
上の500円は書いてある通り投げ銭ですので、下のUnityPackageと書いてある方をダウンロードします。
zipファイルがダウンロードされたら、拡張子が".unitypackage"のファイルをダブルクリック
※VCCを使ってもOK
するとUnityの画面にこんな表示が出てくるので"Import"をクリック
しばらく待った後、こんどはこんな表示が出てくるので"ASTCでテクスチャを圧縮"をクリック
画面上側の"Tools"の項目に、"VRCQuestTools"が表示されていれば導入は成功です。
3. アバターをクエスト対応させる
今回は対応させるアバターとして、リュクらぼ氏作の「フェリス」を使用させていただきます。
無料でかわいいのでお得です
アバター説明欄に"Litoon"(シェーダー)と"Avatar Optimalizer"(自動軽量化ツール)が必要である旨が書かれていますので、説明欄のリンクから飛んで導入を行ってください。
VRCQuestToolsと同様、ダウンロードされたzipファイル内の.unitipackageファイルをダブルクリックすることで導入可能です。
一通り導入が済んだら、まずはアバターをUnityのエディタ上に持ってきます。
画面下のフォルダのうち、Assets>00Ryuku256>01Avatar>Felisの順にファイルを開き、Felis_v0.0.3となっているファイルをHierarchyタブにドラッグ&ドロップすると、中央のエディタ画面にアバターが表示されます。
してここからが本番といっても過言ではないのですが、まずは普通にVRChatSDKからPC用アバターとしてアップロードします。
画面上側の項目から、VRChatSDK>Show control panel>Builderと進み、必要な情報を入力してアップロードしてください。
アップロードが終わったら、皆様お待ちかねVRCQuestToolsの出番です。
先ほど確認した時と同じように、画面上側のToolsからVRCQuestToolsを表示し、"Convert Avatar for Android"をクリックします。
変換したいアバターを選択した状態でクリックしてください
すると「変換の設定を始める」というボタンが出てくるのでクリック
そうするとこんな感じの表示になるので、一番上の「割り当て」と下の「Avatar Dynamics 設定」をそれぞれクリックしてください。
「Avatar Dynamics 設定」の方はクリックするとこういう画面になるのですが、これは要するに「揺れもの」の設定です。
"PhysBones"は合計8個までという制約があるので、揺れなくてもいいものを消していきます。
今回は髪のボーンを6個と、なぜか重複しているしっぽのボーンを1個消して、8個に収めました。
アバターにもよりますが、ケモミミや胸のボーンなんかは優先的に残しておくといいでしょう。揺れないと違和感があるのでね。
終わったら「適用」を押してボーンを削除し、UIを閉じましょう。
そうするとボーン関連の警告表示が消えるので、下の「変換」をクリック
Hierarchyタブに「Felis_v0.0.3 (Android)」という名前のオブジェクトが生成されていれば成功です。
「変換」を押した後にボーン削減の表示が出てくる場合もあります
最後に、この生成したアバターをVRChatSDKからQuest用としてアップロードします。
生成したアバターを選択した状態でVRChatSDKの画面を開き、"Selected Platform"の項目を"Windows"から"Android"に変更します。
まあまあ時間かかるので気長に待ちましょう。
しばらく処理が走った後"Selected PlatForm"が"Android"に変わっていればOKです。
あとは下のBuild & Publishを押すだけ!
成功したら、VRChatで見たときにQuest対応のマークが付いているはずです。
この状態になっていれば、Quest対応は完了です
まとめ
VRChatのPC用アバターをQuest対応させる方法について、ご理解いただけましたでしょうか
この記事で一番大事なのは「Quest版から姿が見えること」ですので、余裕がなければ揺れもの全削除でも構いません
Questユーザーの身からすれば、姿が見えるだけでも嬉しいものです...
注意点として、今回の方法はアバターランクを考慮しないものなので、Quest版でのアバターランクはほぼ確実にVeryPoorとなります
視界に入れただけで死ぬほど重い、ということにはならないのですが、Quest版ユーザーからアバターを見るにはShow Avatarという操作が一度必要になります。
詳しくはこちらの記事をご覧いただけますと幸いです。
またアバターによっては表情に透過テクスチャを含む場合があり、Quest版で利用可能なシェーダーがそれを正常に描画することができないため、一部の表情に問題が起こるケースもあります
追記(2024/01/25)
透過テクスチャ問題について、解決策の一例を記事にしました
では、うだうだと色々書きましたが、皆様良きVRChatライフを!
使用したツール等
VRCQuestTools
Avatar Optimalizer
Litoon
フェリス(アバター)