UnityPackageを利用してアバターをUnity 2018に対応

この記事はアバターのアップロード方法を知っている方向けになります。
Unity(Unity2018.4.20f1)のインストールとアバターのアップロード方法はこちらを参考にしてください。
今回のバージョンはSDKが2つが用意されていますが、アバターのアップロードに使用するのはVRChatSDK2になるため間違いのないようご注意ください。

Unity 2017での作業

改変済みアバターをプレハブ(Prefab)化し、アバターに含まれるデータをまとめてUnityPackageとして書き出すことで、Unity 2018移行時に販売アバターと同じ方法でインポートすることができます。
画像内のアバターは、長兎路こよりさんの「フィリナ」ちゃんをテクスチャー改変したものを使用させていただきます。

プレハブの作成

プロジェクト(Project)ウィンドウ上で右クリックして、「Create」から「Prefab」を選択しプレハブを作成します。

ヒエラルキー(Hierarchy)からアバターをプレハブまでドラッグアンドドロップします。
プレハブの表示が変わっていれば成功です。

UnityPackageの作成

Scene上のものを何も選択していない状態で「Assets」から「Export Package…」を選択。
ウィンドウが開くのでここからパッケージに入れるものを選択します。
VRCSDKとPlugins内のVRCSDK、Unity 2018に対応していないものやバージョン更新したいもの、その他不要なものがあればチェックを外します。
色改変テクスチャー、アクセサリーなどチェック漏れがないかよく確認しましょう。

シェーダーやその他のアセットのバージョンについて

アバターに付属しているシェーダーはバージョンが古くUnity 2018には対応していない場合があります。
Boothで販売・配布されているアバターによく使用されているArktoon-ShadersやUnityChanToonShader(UTS)の最新版ではUnity 2018対応がされているため、最新版を導入するようにしましょう。
使用しているEmoteSwitchエディターなどのツールも同様に対応の有無を確認する必要があります。
最新版への差し替えはここでの解説のようにUnity 2018での作業に移った段階で行うのがおすすめです。

Unity 2018での作業

各パッケージのインポート

VRChatSDK2やDynamicBoneをインポートします。
最新版のシェーダーやツールに入れ替える必要がある場合はそれらもインポートします。

最後にUnity 2017で書き出したUnityPackageをインポートし、作成したプレハブをSceneに配置します。
間違ってパッケージに旧SDKなど不要なものまで入れてしまった場合は、インポート時に該当するもののチェックを外します。
このままアップロードしてアバターに不具合があったあった場合、前のデータに戻すことができなくなるため、Inspectorタブの「Pipeline manager (Script)」にあるBlueprint IDをDetachします。

アップロード

Builderのタブに移ると赤い警告マークが出ますが、この警告が出たままではアップロードができないためAuto Fixで自動修正します。
他の黄色い警告はシェーダーキーワードのように変更してしまうとアバターに影響が出てしまうものがあるようなので、特に理由がなければそのままにしておきます。

無事にアップロードすることができました。
この方法ではTwitterで報告されている移行時の問題はだいたいクリアーできていますが、今後でてくる情報によっては更に修正が必要となる場合がございますのでご了承ください。


ここでは行いませんでしたがアバターによっては描画に不具合があった場合はマテリアルの変更が必要です。
また、Arktoon-Shadersは現在のバージョンで開発終了されたため、今後不具合が出た際に他のシェーダーへの移行が必要になります。

投稿者プロフィール

ナズナ
ナズナ
現在の「VRChat日本wiki」編集者のひとりです。