CRIWARE Unity Plugin Manual  Last Updated: 2024-02-07
データのロード

概要

CRI AssetsによりUnityアセット化した各種ADXアセットは、以下のいずれかの方法でロードできます。
  • スクリプトからのロード
  • シーンに配置したコンポーネントでのロード

スクリプトからのロード

標準的なUnityアセットと同様に、スクリプトからアセットとして取り扱うことが可能です。
全てスクリプトで管理する場合、アセットに定義されているロード/アンロード API をご利用いただけます。
詳細は各アセットクラスのリファレンスマニュアルも参照してください。
using System.Collections;
using CriWare;
public class AssetPlayback : MonoBehaviour
{
public CriAtomSourceBase AtomSource = null;
public CriAtomAcbAsset AcbAsset = null;
private IEnumerator LoadAndPlay()
{
AcbAsset.LoadAsync();
while (!AcbAsset.Loaded)
{
yield return null;
}
AtomSource.player.SetCue(AcbAsset.Handle, "CueName");
AtomSource.player.Start();
}
}

シーンに配置したコンポーネントでのロード

ACFおよびACBを明示的にロードするためのコンポーネントとして、「 CRI Atom Assets 」を利用できます。
シーンに配置し、Inspector上でロードしたいACFおよびACBを設定してください
addon4u_assetsupport_atomassets_load.png
CRI Atom AssetsによるACF/ACBの指定

また、ACBについては、CRI Assets用の再生コンポーネントである「 Cri Atom Source For Asset 」をシーンに配置することで、 明示的にロードを指示せずに再生が可能です。
Inspector上で設定したACBアセットが再生時にロードされていなかった場合は、本コンポーネントが自動的にロードした上で再生を行います。
自動ロード後に本コンポーネントが破棄された場合、ACBアセットは自動的にリリースされます。
addon4u_assetsupport_atomsource_cue.png
CRI Atom Source For Assetに対するキューの設定
いずれのコンポーネントも利用が必須ではありません。スクリプトを記述せずにロードを行う補助的な機能となっております。

自動ロードの無効化
CriAtomSourceForAsset による自動ロードより前に CriAtomAcbAsset.LoadAsync 等のAPIによるロードが行われていた場合は、自動ロードは無効となります。
ロード処理はアプリケーションコードで行い、 CriAtomSourceForAsset の再生機能のみ利用することが可能です。
自動ロードとスクリプトでのロード制御の併用
コンポーネントによる自動ロードでは、CriAtomAssetsLoader クラスによるキューシートの管理が行われます。
CriAtomAssetsLoader の API を利用することで、自動ロードとスクリプトからのロードの併用や、従来の CriAtom クラスへの登録に近い方法での利用が可能になります。
詳しくは CriAtomAssetsLoader クラスのリファレンスマニュアルも参照してください。