入門編05 ストリーミング再生する

ストリーミング再生とは?

今回ご紹介するストリーミング再生とは、「音声データをファイルからメモリに少しずつ読み込みながら再生する」ことを指しています。

メリット
  • メモリの節約になります
  • シーン遷移時のロード時間が短縮されます
デメリット
  • ディスクアクセスが発生します
  • 再生命令を出してから実際に再生されるまでにタイムラグがあります(ただし回避方法があります)

詳しくはSDKに同梱しているマニュアルの下記項目をご覧ください。
[CRIWARE UE4 Pluginパッケージ]\cri\documentation\cs\CRI_ADX2_Manual_pc_j.chm
CRI ADX2マニュアル > CRI Atomツールについて > CRI Atom Craft > 音声素材の登録 > マテリアル(エンコード)パラメータの設定 > ストリーミングタイプ

ストリーミング再生に設定するには?

CRI Atom Craft 側で設定を行います。
詳しくは「CRI Atom Craft 入門編.02 / 圧縮設定、ストリーミング再生設定」をご覧ください。
本チュートリアルの入門編.01で配布した「ADX2のデータ」にはストリーミング再生に設定されたキュー「stream_bgm」が用意されていますので、こちらをご利用ください。

ストリーミング再生する前に

説明上の混乱を避けるため、前回のチュートリアル(入門編.04 / 音を鳴らす)でレベルに配置した音を取り除いてください。

ストリーミング再生手順

(1)AWBファイルを配置する
UE4プロジェクトのContentフォルダ内にCriDataというフォルダを作ります。

SimpleMusicAcb.awbファイルをCriDataフォルダ内に配置します。

(2)プロジェクト設定を編集する
UE4プロジェクトを開いて、「プロジェクト設定」の「パッケージ化」のページを表示します。

Packagingセクションの詳細設定を表示してください。

「Additional Non-Asset Directories To Copy」という項目に、先ほど作った「CriData」フォルダを指定します。

「パッケージ化」のページでの設定は以上です。

続いて「CriWare」のページを表示してください。
「Non-Asset Content Directory」という項目に、先ほど作った「CriData」フォルダを指定します。

設定を反映するために、UE4プロジェクトを一旦閉じてもう一度開きなおしてください。

(3)キューをレベルに配置する
レベル上に「stream_bgm」アセットをドラッグ&ドロップしてください。

ゲームを開始すると音が鳴ります。
目や耳では判断できませんが、ストリーミング再生が行われています。

Tips

CriDataフォルダを作った理由は?

AWBファイルをContentフォルダ直下に配置すると問題が発生するためです。
AWBファイルをContentフォルダ直下に配置してしまうと、UE4の仕様上パッケージ化するときにAWBファイルをパッケージの中に入れることができないという問題が発生します。

プロジェクト設定の「Additional Non-Asset Directories To Copy」を設定する理由は?

これを設定しなければ、パッケージ化するときにAWBファイルがパッケージの中に入らないためです。
その結果、ストリーミング再生の音が鳴らないという問題が発生します。
AWBファイルが見つからないという内容のエラーが出たときは、まずこの設定が正しいかご確認ください。

プロジェクト設定の「Non-Asset Content Directory」とは?

CRIWARE UE4プラグインを使用する場合、ストリーミング再生用のファイルを全て1つのフォルダにまとめておく仕様となっております。
そのフォルダがどのフォルダなのかを指定するのが「Non-Asset Content Directory」です。

詳しくは弊社マニュアルの下記項目をご覧ください。
[CRIWARE UE4 Pluginパッケージ]\cri\documentation\CRIWARE_UE4_Plugin_Manual_j.chm
CRIWARE Unreal Engine 4 プラグインマニュアル > 使用手順 > 初期設定 > データの読み込み

例外的に、階層構造を作ってAWBファイルを配置する方法もあります。
詳しくは弊社マニュアルの下記項目をご覧ください。
[CRIWARE UE4 Pluginパッケージ]\cri\documentation\CRIWARE_UE4_Plugin_Manual_j.chm
CRIWARE Unreal Engine 4 プラグインマニュアル > 高度な機能 > ADX2 > AWBファイルパスの指定

キューとは?

用語集をご覧ください。
author:上田 雄太,小野 正貴