fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5 「Meta Sound」でループ位置などを指定して音声(Sound Wave)をイントロ的なループ再生する(Wave Player、Sound Wave)

「Meta Sound」でループ位置などを指定して音声(Sound Wave)をイントロ的なループ再生する方法です。

こちらを参考にさせていただきました。

・音源(Sound Wave)を再生する
https://zenn.dev/posita33/books/ue5_metasound_createsound/viewer/chapter01_play_soundwave

音声(Sound Wave)のループ再生と、
イントロのように初回だけ頭部分が再生され、以降はループ期間が再生される。
といったものを試してみました。

音声(Sound Wave)のループ再生には「Wave Player」ノードを使います。
MetaSound再生006
「Play」には再生する場合のノードを接続します。
「Stop」には停止する場合のノードを接続します。
「Wave Asset」には「Sound Wave」アセットを指定します。
「Star Time」は開始時間を指定します。
「Pitch Shift」はピッチをどれぐらい変更するかを指定します。
「Loop」はループ再生かどうかを指定します。
「Loop Start」はループ再生の場合の開始位置を指定します。イントロありの場合に使う感じでしょうか。
「Loop Duration」はループ再生時にこの時間が過ぎたらループ位置に戻る時間を指定します。

注意点としてはループ再生が開始されるタイミングは「Loop Start」+「Loop Duration」の時間になるようです。
「Loop Duration」は「Loop Start」からの相対時間ということみたいですね。

イントロありの場合はループ開始位置(Loop Start)を設定すると思いますので
「Loop Start」を設定する場合は「Loop Duration」の設定には注意する必要がありそうです。
「Loop Duration」に「-1」を指定すると音声の最後という値になるようなので、
BGM などの場合で頭のイントロ部分だけ一回再生にした場合はあまり気にしなくてもよいのかもしれません。

というわけでこんな感じにノードを組んでみました。
MetaSound再生020
「Loop Start」と「Loop Duration」を設定してループ再生を行うものになります。

これを実行するとこんな感じで再生されました。


無事イントロ的な部分が一度再生され、それ以降は指定した区間でループされているようです。

ちなみにこのループ再生位置などのシーク部分についてですが、以下のようなものがあるようなのでメモです。

・MetaSound Wave Player のStartTime, LoopStartTime, LoopDuration がうまくいかない
https://forums.unrealengine.com/t/metasound-wave-player-starttime-loopstarttime-loopduration/537801

「Sound Asset Compression」が「ADPCM」の場合は「シーク可能」になるとのことです。


「Sound Wave」ファイルの設定で圧縮フォーマットが設定できるようです。
MetaSound再生018

ただ、現在は「BinkAudio」が選べるようになっていて、デフォルトもこの設定なので特に問題はなさそうです。

PCM/ADPCMのほか、いまやBinkAudioが選べるようになっており、
ビルドまで いってみないとわからないものの、音質の改善はちょっと期待できそうです。


一応のメモということで。

知らないことが結構たくさんありそうなので、ちゃんと勉強していきたいですね。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/800-ba48592f

TRACKBACK

PREV | PAGE-SELECT | NEXT