Level Sequencer
Unreal Engine 4のSequence Editorは、Matineeに似た映画編集ツールです。これにより、あるレベルのActor の特定のプロパティを変更できるTrackを追加することができます。
使い方について:
- Level Sequenceを作成する、以下を参照してhttps://docs.unrealengine.com/latest/INT/Engine/Sequencer/Overview/index.html#creatinglevelsequences
- Level SequenceにTrackを加える、以下を参照して https://docs.unrealengine.com/latest/INT/Engine/Sequencer/Overview/index.html#addingtrackstosequencer.
Wwise Level Sequencer Tracks
Wear Unreal Engine 4 Integrationは、 AkAudioRTPC と AkAudioEvent の2つのトラックを追加します。AkAudioRTPC TrackはGame Parameter値を設定するために使用され、 AkAudioEvent TrackはWwise Eventを送信するために使用されます。
これらのTrackの両方を Master Trackとして追加したり、Actorに関連付けることができます。Actorに関連付けられると、このActorに関連付けられた UAkComponent
で、Wwise関連の機能を実行します。. Master Track として作成された場合、 AkAudioRTPC TrackはグローバルRTPC値を設定し、 AkAudioEvent Trackは「ダミー」ゲームオブジェクトのイベントをポストします。
AkAudioRTPC Trackの場合、Game Parameter カーブは、組み込みのカーブエディタを使用して変更できます。キーフレームは、カーソルを適切な場所に置き、 Add New Key ボタン(リストされたTrackの右側にある)を押して追加することができます。
Curve Editor view のAkAudioRTPCトラック
AkAudioEvent トラック の場合、適切な場所にカーソルを置いて、 AkAudioEvent ボタン(リストされたトラックの右側にあります)を押すと、 AkAudioEvent
を追加できます。別の方法として、 features_objects_akaudioevent AkAudioEvent
"アセットをContent Browserから AkAudioEvent トラックに直接ドラッグすることもできます。
AkAudioEventセクションをAkAudioEventトラックに追加する
SequencerのWAAPI対応機能
Unrealインテグレーションでは、Wwise Authoring API (WAAPI) を使ってSequencer機能を拡張しています。WAAPIや、Unrealインテグレーションでの使い方については、 Wwise Authoring API (WAAPI) のページを参照してください。UnrealをWAAPI経由でWwiseオーサリングツールに接続すると、Wwiseイベントの波形がAkAudioEventセクションに表示されます。Wwiseオーサリングアプリケーションが稼働していないときや、UnrealインテグレーションがWAAPIに接続されていないときは、AkAudioEventセクションに表示されるのはイベント名だけです。
AkAudioEventセクションの波形表示
AkAudioEventセクションに、オーディオソースを含むイベントのオーディオ波形が表示されます。AkAudioEvent セクションに表示される波形は、そのWwiseイベントに含まれる最長のオーディオソースのオーディオデータです。例えば、"Play_Sound"というWwiseイベントに、オーディオソースとして"Layer_1"、"Layer_2"、"Layer_3"の3つが入っているとします。
3つのオーディオソースがあるWwiseイベントの例
もし AkAudioEvent セクションが追加されて、そのイベントプロパティが"Play_Sound"に設定されていると、3つのオーディオソースのうち、最長のものがセクション内に表示されます。なお、そのWwiseイベントが最長オーディオソースよりも長く続いた場合は、セクション内に表示される波形のあとに空のスペースがあることがあります。この例では、"Play_Sound"イベントの再生アクションの2つがディレイされるので("Layer_2" と "Layer_3" の再生アクション)、イベントの方が、イベントの中にある "Layer_1" オーディオソースよりも長く続きます。波形のあとの空のスペースは、サウンドバンク生成時に計算されたこのWwiseイベントの予想最大長さを示します(Wwise Project Setup参照)。
Sequencer内のAkAudioEventセクションの例
AkAudioEvent セクションが、Wwiseイベントの予想最大長さを超えて延長された場合は、セクションに白い横線または連続する斜線が表示されます。白い横線は、 Retrigger プロパティが無効だということを示します。連続する斜線は、 Retrigger プロパティが有効だということを示します。Retriggerプロパティで、Wwiseイベントが終了してもSequencerで再度トリガーするのかを定義します( wwise_level_sequencer_event_section_properties参照)。
Sequencerの、2つの AkAudioEventセクション 。'Retrigger' セクションで、Retriggerが有効になっています。'No_Retrigger' セクションで、Retriggerが無効になっています。
"Out of Sync" の波形
Wwiseプロジェクトで、イベントのワークユニットに変更を加えても、生成したサウンドバンクに反映されていない場合は、そのイベントのAkAudioEventセクションに "out of sync" という印がつきます。波形が赤で表示され、そのAkAudioEventセクションの名前にアステリスクが付きます。また、イベントを"out of sync"セクションからトリガーすると、アウトプットログに警告が記載されます。
'Out of Sync' のAkAudioEventセクションの例
AkAudioEventセクションとWwiseプロジェクトを確実に同期するために、Sequencerから直接プロジェクトを保存してサウンドバンクを再生成するオプションがあります。AkAudioEventセクションを同期するには、セクションのコンテキストメニューを開き(右クリック)、"Save Wwise project and refresh" を選択します( wwise_level_sequencer_event_section_properties参照)。AkAudioEventトラックの中の全てのセクションを同期するには、トラックのコンテキストメニューを開き(右クリック)、"Save Wwise project and refresh all sections" を選択します(AkAudioEventトラックのコンテキストメニューのオプション参照)。なお、これらのオプションを利用するには、AkAudioEventアセットのRequired Soundbankを、有効なAudiokinetic Bankアセットに設定しておく必要があります。AkAudioEventアセットや、そのRequired Bankプロパティについては、AkAudioEventのページを参照してください。
スクラビング
Sequencerのインテグレーションは、AkAudioEventトラック上を前後にスクラビングすることに対応しています。Sequencerの再生ヘッドをAkAudioEventセクション上でドラッグすると、スクラブスニペット(scrub snippets)が聞けます。スクラブスニペットの長さは、AkAudioEventセクションのコンテキストメニュー(右クリック)からアクセスできるScrub Tail Length Msプロパティを使って調整できます。詳細は、 AkAudioEventセクションのプロパティ を参照してください。
AkAudioEventトラックのコンテキストメニューのオプション
AkAudioEventトラックでコンテキストメニューを開くと(右クリック)、以下のAudiokinetic専用オプションも表示されます:
- Save Wwise project and refresh all sections: WwiseプロジェクトをWAAPI経由でオーサリングアプリケーションに保存して、シーケンサートラックの全てのAkAudioEventセクションに必要なサウンドバンクを再生成します。続いて、セクション側の波形表示が更新されます。
AkAudioEventセクションのコンテキストメニューのオプション
トラックのAkAudioEventセクションでコンテキストメニューを開くと(右クリック)、以下のAudiokinetic専用オプションも表示されます:
- Save Wwise project and refresh: WwiseプロジェクトをWAAPI経由でオーサリングアプリケーションに保存して、このAkAudioEventセクションに必要なサウンドバンクを再生成します。続いて、波形表示が更新されます。
- Match section length to Wwise event length: Sequencerトラックのセクションの長さを、Wwiseイベントの長さに合わせます。
AkAudioEventセクションのプロパティ
コンテキストメニューのプロパティリストに、このセクションで使う以下のWwise専用プロパティが含まれます:
- Ak Audio Event: 選択中のセクションの、そのAkAudioEventの、編集可能な以下のプロパティが一覧表示されます:
- Event: Event icon: Audiokinetic Eventアイコン上にマウスをおくと、イベントへのパスが得られます。アイコンをダブルクリックすると、イベントがEditorで開きます。
- Event: Audiokinetic Event: このリストを開くと、新しいAudiokineticイベントを作成したり、選択中のイベントの編集やコピーをしたり、別の既存Audiokineticイベントへ移動したりできます。
- Retrigger Event: このボックスにチェックを入れると、イベント終了後もシーケンスが再生され続けた場合、このセクションのWwiseイベントが再度トリガーされます(デフォルトはオフ)。
- Scrub Tail Length Ms: シーケンス上でスクラビングするときに再生されるスクラブスニペットの長さを、ミリ秒単位で定義します(デフォルト = 100ms)。
- Max Source Duration: Wwiseイベントに含まれる最長オーディオソースの長さを表示します(読み取り専用)。
- Advanced:
- Event Name: 希望するイベントの名前をそのまま、入力します。既にAudiokinetic Eventリストでイベントを選択中の場合は、このフィールドが無視されます。
- Movie Scene Ak Audio Event Section:
- Stop at Section End: このボックスのチェックを外すと、このセクションの最後まで到達しても、イベントの再生を続けます(デフォルトはオンに設定)。
既知の問題と制約事項
一般的に、Level Sequencerでは、例えばサウンドSFXに対するシンプルなPlayアクションなど、非常にシンプルなAkAudioEventセクションを使うことが推奨されます。それよりも複雑なWwiseイベント、例えばディレイアクションやシークアクションを含むWwiseイベント、またはランダムコンテナ、シーケンスコンテナ、その他の固定化されていないオブジェクトをレファレンス先とするWwiseイベントは、Level Sequencerで使わないようにするか、シンプルなイベントに分割して最適化するようにします。
カーソルでスクラビングや再生を行うと、ディレイアクションのあるイベントや、無限(infinite)のループ音が含まれるイベントでは、思うように実行されません。
Play In Editorの限界
UnrealがPlay in Editor (PIE) モードで稼働中に、Sequencerエディタウィンドウでレベルシーケンスを再生すると、ゲームオブジェクトに関連するAkAudioEventトラックはどれもイベントをトリガーしません。ゲームオブジェクトにバインディングされたAkAudioEventトラックを聞くには、レベルシーケンスをゲームワールドからトリガーする必要があります。
Wwise Project Setup
イベント長さがAkAudioEvent Tracksで正しく表現されるには、オーディオイベントの長さを見積もれるように、そしてJSONメタデータが生成されるように、Wwiseプロジェクトを設定する必要があります。プロジェクト全体で設定をするには、Project SettingsのSoundBanksタブを開きます。以下の通り、Metadata OptionsグループボックスのEstimated durationチェックボックスを有効にして、SoundBank SettingsグループボックスのGenerate JSON Metadataチェックボックスを有効にします。
AkAudioEventトラックに必要なプロジェクト設定
作成: 1.6.3