VRChat : SDK2アバターをSDK3に移行する(表情などは後回し)
VRChatのSDK3が出てから久しいですが,まだまだSDK2アバターのメンテに追われていることと思います. でもSDK3のアニメーションコントローラーとかSDK3のみに対応したギミックを使いたいというときは,否が応でもSDK3に対応させなければなりません.
この記事ではSDK2用のunitypackageをSDK3に対応させる手順を紹介します.
表情などを再現するのはかなり難しいので,とにかく最低限の設定ができるようになることを目標としています.
そしてそれは超かんたんです.びっくりするぐらい簡単です.ですので記事にしました.
では行きましょう.
- 下準備
- SDK2対応アバターをプロジェクトにインポートする
- SDK2に由来するComponentを削除する
- SDK3のVRC Avatar Descriptorをつける
- SDK3の各種設定をする
- SDKのControl Panelを設定する
- アップロード
- おわりに
下準備
VRChat SDK
- VRChatのWeb版のDownloadをクリックしてSDK等をダウンロードするページを開きます.
- VRChat SDK3の「Download SDK3 - Avatar」をクリックしてアバター用のSDKをダウンロードします.
SDK2と異なりSDK3ではアバターとワールドで利用するunitypackageが異なります. また,SDK2をすでにインポートしているUnityプロジェクトにはSDK3をインポートできないので注意してください.
Unity
UnityのバージョンはSDK2とおなじく2018.4.20f1です.
今までアバターをアップしたことがない場合は,事前にUnityを入れてください. 絶妙に長くなるのでそれらの手順は割愛します.
- Unity Hubなどをつかって新しいプロジェクトを作成してください
- 名前は何でもいいです.私は「VRChat Avatar SDK3 PC Pre」にしました.
- プロジェクトが開かれたら,先ほどダウンロードしたSDK3のunitypackageをインポートしてください.
これで下準備は完了です
SDK2対応アバターをプロジェクトにインポートする
見出しのとおりですが,いつものようにSDK2対応アバターのunitypackageを「Import > Custom Package...」でインポートします.
UTS2やDynamic Boneなどが必要なアバターの場合は事前にそれらをインポートしておいてください.これはSDK3でも同じです.
この記事では拾い部屋氏のVVVV(シヴィー)を例として使います.
インポートは特に何か言われることなく終わると思います.
SDK2のときと同じようにアバターのprefabをシーンにドラッグアンドドロップして,アバターをシーンに出現させます.
特に見た目に破綻などはないはずです.もし破綻しているようならSDK以前の問題とおもわれます.そのunitypackageがSDK2でちゃんと動くことを確認してください.
SDK2に由来するComponentを削除する
Inspectorを見ると何やら黄色い三角形の警告マークがありますね. これはSDK2のVRC Avatar Descriptorです.
(複数あるが?という場合は,Dynamic Boneとかの関連パッケージのインポートを忘れてないか今一度確認を)
そしてその上に「Pipeline Manager (Script)」というのがありますね.これもSDK2由来です.
この2つをComponentの右上にある歯車マークをクリックしてRemove Componentしましょう.これでComponentは削除されます.
Pipeline Managerはなんか「(Removed)」ってなって残っていますが,削除されていますのでおkです.
SDK3のVRC Avatar Descriptorをつける
つぎにAdd Componentをクリックして,検索窓にVRCと打って,SDK3のコンポーネントを検索します.
そして「VRC Avatar Descriptor」を選択してアバターに追加します.
以下の写真のように色々追加されたらおkです.
SDK3の各種設定をする
実はもうSDK3に対応できたのですが,このまま上げると色々おかしいので調整をします.
目の位置 (View Posision)
VRC Avatar DescriptorのViewを開いて右側のEditを押します.
するとシーンのグレーのボールにギズモ(操作ハンドル)がつくと思います.
グレーのボールをちょうど目の間に配置します.アバターは左右対称なので,上下と前後を調整すればよいです.
こんな感じです.
最後に最初にクリックしたEditが緑色のReturnになっていると思うので,それをクリックして調整は完了です.
リップシンク (Lip Sync)
日本の一般的な人型アバターはリップシンクがついているのでそれも設定しておきましょう.
VRC Avatar DescriptorのLip Syncを開いてAuto Detectをクリックします.
行儀のいいアバターならSDKが自動的にリップシンクをセットアップしてくれます.
こんな感じにModeが「Viseme Blend Shape」になってれば大丈夫です.
なってなかったら,とりあえずModeをDefaultに戻しておきましょう.たぶんリップシンクがうまく行ってないと思います.
SDKのControl Panelを設定する
SDK2と同じようにControl Panelを開きます.
すると何やらエラーや警告が...
この写真よりもひどいことになっていても多分大丈夫です.重要なのは一番上の「Automatic lightmap generation...」というのと「Switch Build Target to...」の下の「This avatar has mipmapped textures...」です.
これらは「Auto Fix」というボタンがついているためクリックするだけでおkです.
クリックするとライトに関するウィンドウが出てきますが,バツで消してしまって結構です.
これで一番下の「Build & Publish for ...」が押せるようになると思います.
アップロード
「Build & Publish for ...」を押してアップロードを開始します.
あとはSDK2と同じですね.
おわりに
重要なのはSDK2のComponentを削除して,SDK3のものに入れ替えることです. これでSDK3対応になります.
ね,簡単でしょ?
冗談はさておき,役に立つことを願います.