音声・表情の再生制御とイベント
v0.3.0 · UE 5.8.2 / Windows x64
LAMAudio2ExpressionComponentは音声と表情の同期を担当します。既定のPlayback Settingsを設定してPlay Expression Clipを呼ぶか、呼び出しごとにPlay Expression Clip With Settingsへ設定を渡します。
基本操作
「基本操作」へのリンク| 操作 | 動作 |
|---|---|
| Pause / Resume | 音声、表情、フェードの状態を保持して一時停止・再開 |
| Stop | 再生を終了し、100 msで元の表情へ戻す |
| Seek | 同じPlayback Idで位置を変更。一時停止状態を維持 |
| Fade Out And Stop | 音量を線形に下げて停止 |
| Set Volume / Set Muted | 再生中の音量・ミュートを変更。ミュート中も表情と位置は進む |
停止後のSeekは新しい再生を開始します。速度は1倍、ループは対象外です。ループ指定のSoundWaveは拒否されます。
Pause・Resume・Seekの接続例 · 原寸画像を開く
- PからPauseを呼び、一時停止します。
- RからResumeを呼び、再開します。
- SからSeekを呼び、1.0秒の位置へ移動する例です。
撮影用Blueprintのキー割り当てです。Actorが入力を受け取る設定にし、同じLAMでClipを再生してから操作します。デモのキー割り当てとは異なります。
撮影 2026-09-30 · UE 5.8.2 · Plugin 1860d0e · Demo 9dee71d · v0.3.0に含まれる操作。
音声の出力先
「音声の出力先」へのリンクOutput Submixが未指定なら元音声・SoundClass・エンジンの設定を継承し、指定すると主出力を置き換えます。Additional Submix Sendsは並列の追加送信です。レベルは0〜1、同じ送信先を複数指定した場合は最後を採用します。
Set Output Submix・Set Submix Send・Remove Submix Sendは再生中にも使え、次回の既定設定にも反映されます。SoundWaveと解析Clip自体は変更しません。同じClipを異なるコンポーネントで別の出力先へ再生できます。同じ親Submixへ複数経路が合流すると音量が加算されます。
Inherit SoundWave Sendsは既定で有効です。Sound Class OverrideとConcurrency Settingsは未指定なら元音声から継承します。
コンポーネントの出力先と音量 · 原寸画像を開く
- Output Submixと追加送信を設定します。Noneは元音声・エンジンの設定を継承します。
- 撮影例のVolumeは1.0、Mutedは無効です。
撮影 2026-09-30 · UE 5.8.2 · Plugin 1860d0e · Demo 9dee71d · v0.3.0に含まれる操作。
3D再生とゲーム停止
「3D再生とゲーム停止」へのリンクPlayback Modeは既定でTwo Dimensionalです。Three DimensionalではAttachment、Socket、Transform、Attenuation Settingsを指定できます。Attachment未指定なら所有ActorのRootへ接続し、未登録・別World・存在しないSocketはエラーです。
Play When Game Pausedは既定でfalseです。有効時はゲーム停止中も再生できます。メッシュのAnimBPも更新するには、SkeletalMeshComponentのTick Even When Pausedを有効にします。
Playback Modeと3D音声の設定箇所 · 原寸画像を開く
- Playback ModeでThree Dimensionalを選択します。撮影時は選択肢を開いた状態です。
- TransformとAttenuation Settingsも用途に合わせて設定します。AttachmentとSocketはメニューを閉じると確認できます。
撮影 2026-09-30 · UE 5.8.2 · Plugin 1860d0e · Demo 9dee71d · v0.3.0に含まれる操作。
終了イベントを使い分ける
「終了イベントを使い分ける」へのリンク| イベント | 発火条件・用途 |
|---|---|
| On Playback Started | 再生が受け付けられたとき。Seekでは再通知しない |
| On Playback Finished | 音声の自然終了のみ。次の台詞へ進む用途 |
| On Playback Ended | 受け付け済み再生の終了時に一度。ReasonでCompleted / Stopped / Replaced / Interrupted / Failedを区別 |
| On Playback Failed | 入力不正・再生拒否など。Error.Code / Error.Messageを確認 |
| On Playback State Changed | Starting / Playing / Paused / FadingIn / FadingOut / Stopped / Failed |
通知にはコンポーネント内で単調増加するPlayback IdとClipを含みます。イベント内で次の再生を始める場合も、現在のClipを再取得せず、イベント引数で対象を判断してください。Get Playback Infoで状態、位置、長さ、進捗を取得できます。
事前検証で拒否された要求はFailedだけを通知し、既存の再生を維持します。再生開始後はState Changed → Ended → Finished(自然終了)またはFailedの順です。Actor破棄・PIE終了中は通知を抑止します。自然終了は元音声の終端で、リバーブなどの残響終了は待ちません。
事前解析したClipの再生(v0.3.0)
「事前解析したClipの再生(v0.3.0)」へのリンクプラグイン1f06ac8では、保存済みClipを同じ再生ノードに指定できます。先にClipと音声をロードし、ストリーミング音声にはPrime Soundを早めに呼びます。解析待ちは省けますが、音声出力までの遅延をゼロにするものではありません。v0.3.0の配布ZIPに含まれます。
Sequencerとの連携(公開ソース)
「Sequencerとの連携(公開ソース)」へのリンク公開ソースのLAM DialogueはLevel Sequence Playerで再生・一時停止・停止を操作し、音量はSequencerで設定します。このページのPlayback Settingsを継承せず、通常再生イベントも発火しません。制御取得時は通常再生をInterruptedで終了し、管理中の新規Clip再生・ライブ開始を拒否します。解除後も自動再開しません。BlueprintのIs Controlled By Sequencerで分岐できます。v0.3.0 ZIPには未収録です。