バイナリファイルのロード

バイナリファイルのロードについて

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