バイナリファイルのロードについて
- CRIWARE Unreal Engineプラグインには、uasset化されていないバイナリファイルをメモリにロードする機能として、以下の機能が用意されています。
- CriFsLoaderアクタ
- CriFsLoaderコンポーネント
CriFsLoaderアクタについて
- CriFsLoaderアクタは、レベル内に配置可能なファイルロード用のオブジェクトです。
CriFsLoaderアクタをレベルに配置することで、レベル開始と同時に任意のバイナリファイルをメモリにロードすることが可能です。
- CriFsLoaderアクタの使い方は以下のとおりです。
- モードタブで「Cri Fs Loader」クラスを選択し、マップにドロップする。
- 配置されたアクタについて、詳細タブの「File Path」にロードするファイルのパスを指定する。
- 注意
- ファイルのパスはプラグイン設定で指定した[Non-Asset Content Directory]フォルダに対する相対パスで指定する必要があります。
([Non-Asset Content Directory]の設定方法については、「 使用するファイルの種類 」を参照してください。)
- 以上の操作を行うことで、レベル開始時にCriFsLoaderアクタにより指定したファイルのロードが開始されます。
- CriFsLoaderアクタによるファイルのロードは、非同期で行われます。
ファイルのロード処理自体はレベル開始時にスタートしますが、ファイルのロードが完了するタイミングはロードするファイルのサイズやデバイスによって異なります。
そのため、ロードされたデータを参照する際には、ロードの完了を待つ必要がります。
- ファイルのロード完了は、OnLoadCompletedイベントで検知可能です。
UCriFsLoaderComponent::OnLoadCompleted にカスタムイベントをセットすることで、ロード完了をイベントで取得可能です。
CriFsLoaderコンポーネントについて
- CriFsLoaderコンポーネントは、アクタのサブオブジェクトとして利用可能なファイルロード用のコンポーネントです。 アクタにCriFsLoaderコンポーネントを追加することで、アクタスポーン時に任意のバイナリファイルをメモリにロードすることが可能です。
- CriFsLoaderコンポーネントの使い方は以下のとおりです。
- マップ上に配置されたアクタを選択し、詳細タブで「Cri Fs Loader」コンポーネントを追加する。
- 詳細タブの「File Path」にロードするファイルのパスを指定する。
- CriFsLoaderコンポーネントによるデータロードについてもCriFsLoaderアクタ同様、ファイルのロードが完了するまでメモリへの参照を待つ必要があります。
必要に応じてCriFsLoaderコンポーネントをアタッチしたオブジェクトをブループリント化し、ロード完了チェックを行ってください。