VRChatは2017年にSteamに登場し、それから6年が経過しています。
この6年間のうちに、アバターに使用される技術は大きく進化しました。
しかし、進化の過程でアバターに対して変更を加える必要がある場面も登場しています。
VRChatアバターの世代について
VRChatアバターは、大きく次の3つの世代に分かれています。
- SDK2 + Dynamic Bone
- SDK3 + Dynamic Bone
- SDK3 + PhysBones (現行世代)
いずれの場合においても、作業を行えば最新の世代に追従していくことは可能です。
ところで、VRChat SDKはどこにありますか?
現在、VRChat SDKはunitypackage形式では配布されていません。
VRChat Creator Companion(VCC)を使用してください。VCCは必要なUnityエディタやパッケージなどを自動的にインストールする機能があります。
unitypackage形式からVCCへの移行はエディタのアップグレードという面が強いため、ここでは世代分けを行っていません。
なお、アップグレード作業はVCC内で行うことができます。VCCではSDK3のみがサポートされています。
旧世代のアバターは使うことができないのですか?
もちろん使うことができます。ただし、現行世代の技術に適応するためにはアップグレードが必要です。
数年以上前に販売されたアバターは、サポートが打ち切られていることがあります。
その場合はサポートを受けることはできませんが、各アバターの利用規約に従い、自己責任のもとでアップグレードを行うことは可能です。
アップグレードする前にアップロード済みのアバターは当面使用できます。ただし、動作は保証されていないため、想定外に動作しなくなる可能性があります。
可能な限り、現行世代までアップグレードを行っておくことが推奨されます。
アバターのアップロードは初めてですか?
初めてアバターをアップロードする場合は、現行世代のアバターのアップロードから始めるのがおすすめです。手に入れた時点で現行世代の技術に適応しています。
慣れてきて気になるアバターが増えてきたら、以下の通りに挑戦してみるとよいでしょう。
アバターの世代ごとの対応方法について
旧世代のアバターを最新の技術に対応させるために、アップグレードが必要です。
以下の方法に従って進めていくことで、現行世代の技術に適応したアバターにすることができます。
SDK2 + Dynamic Bone世代
2020年7月頃までに制作されたアバターはこの世代です。また、揺れ物を動かすために、有償のDynamic Boneと呼ばれるUnityアセットが必要とされていました。
かつてのアバターはこれが基本でした。2023年3月現在、SDK2のサポートは終了しており、まもなく新規および更新アップロードも停止される予定です。
したがって、まずはSDK3にアップグレードする必要があります。
既に確立されたツールがあります。VRCAvatars3Toolsを使用することで、SDK2からSDK3へのアップグレードを簡単に行うことができます。
SDK3 + Dynamic Bone世代
2020年8月から、2022年3月頃までに制作されたアバターはこの世代です。
SDK3により、Animator Controllerが使用できるようになりました。あらゆるアニメーションの制御がAnimator Controller前提となったため、より複雑かつ高度な制御が行えるようになりました。
SDK3に変換されていることで基本的な機能は現行世代に沿っているものの、その後揺れ物についてのアップデートが行われています。
VRChat独自に開発された揺れ物の”PhysBones”が実装され、これを前提としたアバターが増加するようになりました。
Dynamic Bone比での動作の軽量化や、揺れ物に触って遊ぶことができる機能などが追加されています。
PhysBonesに対応するにはDynamic Boneからの変換が必要ですが、VRChat SDKに自動変換機能が実装されています。必ずしも想定した動作になるとは限りませんが、多くはこれで解決できます。
自動変換機能は、エディタメニュー内のVRChat SDK→Utilities→Convert DynamicBones To Physbonesから利用できます。
ただし、自動変換機能を動作させるにはDynamic Boneが必要です。
もし最近のユーザーでDynamic Boneを購入していない場合は、設定値を読み取ってPhysBonesにコピーするツール”PhysBone Salvage Converter V2.2″があります。
SDK3 + PhysBones世代
2022年8月以降に制作された、この世代のアバターは現行世代です。
2023年3月時点では最新の技術に適応しています。
Write Defaultsの無効化
Animator ControllerのWrite Defaultsが有効な場合、アバターが正常に動作しないことがあります。
現時点での対応は必須ではありません。ただし可能な限り、Write Defaultsは無効にしておくことが推奨されています。
Write Defaultsを無効化するために既に確立されたツールがあります。AnimEditUtilityを使用してください。
VRChat Creator Companion(VCC)への移行は?
アバター自体に使用される技術が変更されるわけではないため、大きくは変化しません。
ただし、VCCへの移行後にエディタ拡張でエラーが発生し、動作しなくなる可能性があります。
VCCに対応したエディタ拡張がリリースされている場合はアップデートする、ない場合は類似のエディタ拡張を探すなどをご検討ください。