CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
CRI Addressables の利用方法 [0.7.00 未満]
注意
本項で案内する利用方法は互換性維持のため残しているオプションです。
CRI Addressables 0.7.00以降をお使いの場合は下記を参考に移行をご検討ください

Deploy Type の設定

Addressablesで管理するCRIアセットのDeployTypeとして「Addressables」を指定してください。
このとき、Inspector上でGroupに対してRemoteまたはLocalを指定できます。
addon4u_assetsupport_addressables_deploygroup.png
インポート処理時点でCRI Addressablesが内部的に利用するアンカーアセットやCriDataグループが生成されます。
詳細は「 CRI Addressables の構成要素 」をご確認ください。
バンドルビルド時に、Groupに応じたデプロイ先にCRIアセットの実データが配置されます。
各グループに対応するビルド/ロードパスはCriAddressablesSettingで設定します。

プロジェクトごとの設定

CRI Addressables の機能を利用すると、プロジェクト内に CriAddressablesSetting アセットが生成されます。
デフォルトの配置は "Assets/CriData/Settings" ですが、任意の場所に移動しても問題ありません。
CriAddressablesSetting アセットに対して設定したプロパティが CRI Addressables で利用されます。

CriAddressablesSetting アセットが存在する場合、 Project Settings ウィンドウからも編集可能です。
addon4u_assetsupport_addressables_setting.png


Local 「Addressables」のうちGroupをRemoteとしたCRIアセット向けのビルド/ロードパスのペアです。
Addressables Profileで設定した変数のいずれかを選択します。
Remote 「Addressables」のうちGroupをLocalとしたCRIアセット向けのビルド/ロードパスのペアです。
Addressables Profileで設定した変数のいずれかを選択します。
Append Guid To Anchor 有効な場合アンカーアセット名に対してGUIDを付加します。
Anchor Folder Path 「アンカーアセット」を生成するパスです。
Deploy Folder Suffix 「Addressables」に対応するNon-Asset CRI データを配置するパスのサフィックスです。


「Local」「Remote」についてはデプロイ先グループのうち、デフォルトで用意されている2種が表示されているものです。
デプロイ先グループの追加や編集を行う場合は「 [CRI Addressables] デプロイ先グループ 」を参照してください。
「Append Guid To Anchor」はデフォルトでは有効ですが、無効にした場合は別フォルダに配置された同名CRIアセットの取り扱いが難しくなる点に注意してください。
拡張子含めて名前が一致するCRIアセットがプロジェクト内に存在しうる場合は有効にしておくことをおすすめします。

バンドルビルド

通常通り Addressables のバンドルビルドを行うことで、CRIアセットに対応するNon-Asset CRI データがCriAddressablesSettingで指定したビルドパス以下に配置されます。
このとき、実際に配置したファイルの数がコンソールに出力されます。

カタログ情報の修正

Addressables.GetDownloadSizeAsync 等のダウンロードサイズ取得 API を正常に動作させるためには、全てのコンテンツカタログのロード完了後に CriWare.Assets.CriAddressables.ModifyLocators を呼び出す必要があります。

備考 :
CRI Addressables では、AssetBundle を管理するための仕組み上で CRIWARE 向けのNon-Assetデータを取り扱うため、Addressables のコンテンツカタログ上に一部実態にそぐわない内容が書き込まれる部分があります。
具体的には、リソースのサイズとして「AssetBundleのサイズ」が書き込まれるため、CRIWARE 向けNon-Assetデータの分が加味されない値となります。
このため、コンテンツカタログの内容に従うとダウンロードサイズの取得 API が不正な値を返します。
これを避けるため、コンテンツカタログのロード後にその内容を修正する必要があります。
CriWare.Assets.CriAddressables.ModifyLocators を呼び出すことで、現在 Addressables に登録されているCRIアセット関連のロケーション情報を修正することが可能です。

アセットのロード

CRIアセットの有無を意識せず、通常の Addressables の API を利用してロード可能です。
CRIアセットへの依存を含むシーンやアセット、または CRI アセット自体をAddressables の API 経由でロードすると、依存するNon-Asset CRIデータがキャッシュフォルダにダウンロードされます。
Addressables の API が完了した時点で CRI のデータもキャッシュ上に存在する状態となります。

注意
CRI Addressablesで管理しているCRIアセットをビルトインシーンからの直参照でロードすることはできません。