アップグレードの手引き
LiveStudio SDK + VirgoMotion は実験的なバージョン(-exp)で配信しており、バージョンアップで プロジェクトやアセットの構造が変わる(互換性がない) ことがあります。
このページでは、互換性のない変更が入ったバージョンごとに 何が変わったか と 既存のプロジェクト・アセットをどう対応させればよいか をまとめています。
複数のバージョンをまたいでアップグレードする場合は、今のバージョンより新しいものを 古い順にすべて 対応してください。
スタジオアプリの利用者側(ライブシーンや設定)で失われるものは、アプリのアップグレードの手引き を参照してください。
アップグレードの流れ
- プロジェクトをバックアップ します。Git などでバージョン管理している場合はコミットしておきます。
- このページで、今のバージョンから目的のバージョンまでの変更を確認します。
- パッケージを更新 します。
- Unity でプロジェクトを開き、各バージョンの 対応手順 を行います。
- コンソールにエラーが出ていないことを確認し、Play モードで動作を確認します。
- 書き出し直しが必要なアセット(プロップ・セットなど)は、最新の SDK で書き出し直します。
バージョン別の変更と対応
0.26.0 ← 0.25.3
リモートから追加できるプレハブの登録先と、ライトの公開方法が変わりました。スクリプトの API も「Exposed」から「Live」に改名されています。
何が変わったか
| 変更 | 影響 |
|---|---|
| リモートアプリの「+」で追加できるプレハブの登録先が、UI 定義からライブクラスアセットに移った | UI 定義に登録していたプレハブは、次に UI 定義を保存したときに 破棄される |
ライト専用の公開クラス(LiveLight)を廃止し、ライトは Light コンポーネントを持つ普通の GameObject として公開されるようになった | 既存のライブシーンに保存された ライトの影と親(追従先)の設定は引き継がれない。影の設定はオン/オフから影の種類の選択に変わる |
RemoteControl の Exposed* 属性・型が Live* に改名 された | 旧名を使ったスクリプトはコンパイルエラーになる |
アニメーションバンドル(*.anim.lsb)が アセットパック(*.pack.lsb) に汎用化された | 既存の *.anim.lsb は引き続き読み込める |
Project Settings のページ名が Lilium Live Studio / Lilium Remote Control に、Assets > Create のメニューが Live Studio サブメニューに変わった | 操作場所が変わるだけ |
対応手順
- UI 定義に登録していたプレハブを、ライブクラスアセットに登録し直します(UI 定義を保存する前に控えておいてください)。ライブクラスアセットの使い方は LiveClassAsset で任意のプロパティを公開する を参照してください。
- 自作のシーンにライトがある場合は、ライトの 影の種類と親(追従先)を設定し直し、ライブシーンを保存し直します。同梱のシーンは移行済みです。
- 自作のスクリプトで
[ExposedClass]などを使っている場合は、Live*に置き換えます。対応表は 旧名からの移行 を参照してください。
このバージョンでは、ほかにも次のような API の改名・廃止があります。該当するものを使っていないか確認してください。詳細は API タブの Remote Control / Live Studio / Live Studio Virgo のリリースノートを参照してください。
ExposedCamera/ExposedLight→LiveCamera(LiveLightは廃止)ICameraController→CameraControllerBaseFrameRecorderControllerはjp.lilium.remotecontrolへ移動、FrameRecorderProject→LiveDataRecorderProjectIVRMLoadObserverなどのオブザーバーインターフェースを廃止し、C# のイベントに変更LiveRecipes.RegisterResolver→AddResolver[LiveFunction]の呼び出しは、lane = FrameLane.Eventを宣言しない限りテイクに記録されない- REST API のルートが
/api/*から/live/*に移動し、カメラ・表情・VRM 読み込みなどの専用ルートは汎用のライブオブジェクトの API に統合
0.25.3 ← 0.24.3
アバターの上書きクリップの指定方法とソケット名が変わり、LiveStudioBundleSample がテンプレートに統合されました。
何が変わったか
| 変更 | 影響 |
|---|---|
| アバターの 上書きクリップをインスペクタのプリセット配列から選ぶ方式を廃止 | プリセット配列に登録していたクリップは選べなくなる |
アバターの装着ソケット名に S_ プレフィックス が付いた(S_Hips / S_Spine / S_Chest / S_Head / S_Neck / S_WristLeft / S_WristRight) | 旧いソケット名を参照していたプロップ・カメラは 追従先が外れる |
LiveStudioBundleSample を廃止 し、サンプルの Props / Sets / ライティング環境を VirgoMotionStudioTemplate に統合 | LiveStudioBundleSample は今後更新されない |
| テンプレートから liltoon への依存を外した | liltoon のシェーダーを使うアセットは、シェーダーが見つからずピンクになる |
対応手順
- 上書きクリップに使っていたアニメーションクリップを、
Resourcesフォルダに置くか、アニメーションバンドルとして書き出します。 - プロップやカメラ(ボーン追従・LookAt・オービットカメラのターゲットなど)で旧いソケット名を参照している箇所を、
S_付きのソケットに 選び直します。 LiveStudioBundleSampleでセット・プロップを作っていた場合は、VirgoMotionStudioTemplateに移して書き出します。手順は サンプルのセット・プロップを書き出す を参照してください。- liltoon を使うアセットを持ち込む場合は、別途 liltoon をプロジェクトに導入します。
0.24.0 ← 0.23.6
アバタープロップの内部構成が変わりました。
何が変わったか
| 変更 | 影響 |
|---|---|
| アバタープロップの内部コンポーネント構成を、ソケット追従などを担う部分とふるまいを担う部分に分割した(VRChat Prop Builder も追従) | 以前の SDK で書き出したプロップ(.prop.lsb)は正しく動かない |
対応手順
- 既存のプロップを、最新の SDK で 書き出し直します。手順は プロップをエクスポートする を参照してください。
0.23.1 ← 0.22.1
シーンバンドルが「セット」に改名されました。
何が変わったか
| 変更 | 影響 |
|---|---|
シーンバンドルの書き出しを 「セット」 に改名した。書き出しメニューは Assets > Lilium Live Studio > Export Set Bundle (.set.lsb)、拡張子は .set.lsb | 従来の .scene.lsb も引き続き読み込める |
対応手順
- 対応は必須ではありません。今後書き出すときは新しいメニューを使ってください。
パッケージを更新する
SDK のパッケージは、プロジェクトの作り方によって更新方法が異なります。
テンプレートから作ったプロジェクト
VirgoMotionStudioTemplate では、SDK のパッケージを GitHub から取得するように Packages/manifest.json に記述しています。URL 末尾の #v0.25.3 のようなタグがバージョンです。
Unity を閉じた状態で Packages/manifest.json をテキストエディタで開き、jp.lilium. で始まる 4 行のタグを更新したいバージョンに書き換えます。
"jp.lilium.livestudio": "https://github.com/you-ri/LiveStudio.git?path=/Packages/LiveStudio#v0.26.0",
"jp.lilium.livestudio.virgo": "https://github.com/you-ri/LiveStudio.git?path=/Packages/LiveStudioVirgo#v0.26.0",
"jp.lilium.nativegamepad": "https://github.com/you-ri/LiveStudio.git?path=/Packages/NativeGamepad#v0.26.0",
"jp.lilium.remotecontrol": "https://github.com/you-ri/LiveStudio.git?path=/Packages/RemoteControl#v0.26.0",
- パッケージ同士は互いに依存しているため、4 つとも同じバージョンに揃えてください。
- タグには
-exp.1などの接尾辞は付きません(リリースノートの0.26.0-exp.1はタグv0.26.0)。指定できるタグは LiveStudio の Tags で確認できます。 - Git URL のパッケージは、Package Manager ウィンドウの Update ボタンでは更新できません。
更新されるのは SDK のパッケージだけです。Assets 以下にあるテンプレートのシーン・サンプルは更新されません。新しいサンプルを使いたい場合は、Booth から新しい VirgoMotionStudioTemplate を入手し、必要なアセットをコピーしてください。
VPM で追加したプロジェクト
VCC や ALCOM で Lilium VRChat Avatar Transfer や Lilium Live Studio Virgo Extension を追加したプロジェクトは、VPM クライアントでプロジェクトを開き、Lilium のパッケージのバージョンを選び直します。複数の Lilium パッケージを入れている場合は、すべて同じバージョンに揃えます。
VCC では Settings > Packages > Show Pre-release Packages を ON にしないと新しいバージョンが表示されません。
うまくいかないときは
- パッケージのダウンロードに失敗する … テンプレートの Git URL を解決するには、PC に Git がインストールされている必要があります。
- 更新後にコンパイルエラーが出る … Lilium のパッケージのバージョンが揃っているか確認してください。自作のスクリプトのエラーは、上の各バージョンの API の変更を確認してください。
- 以前のバージョンに戻したい … バックアップから戻すか、
manifest.jsonのタグ(VPM の場合はバージョン)を元に戻してください。新しいバージョンで保存したシーンやアセットは、古いバージョンでは開けないことがあります。