x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

サウンドボリュームをリアルタイムに変動させたい

こんにちわ。 私は現在作成しているゲームの中で キャラクターが走る際のSEを実装しました。 その際に、キャラクターの走るスピードに応じてSEの音量をリアルタイムに変えられるようにしたいと思い、キャラクターBPの中に(正確ではありませんが)写真のようにノードを作成しました。 SE自体は5秒ほどのサウンドキューをループさせて使っております。 しかしこの写真のようにした場合、pressedが走った瞬間にのみvolumeを参照するようで、例えばキャラクターがだんだんと加速していく状況に対して音量が最初の状態から変わりませんでした。

再生中のサウンドの音量をfloat変数によって上げ下げしたい場合、どのような機能を使えば上手くいくでしょうか? ぜひご教授願います。

Product Version: Not Selected
Tags:
more ▼

asked Nov 18 '18 at 01:22 PM in Japanese

avatar image

myi2001
5 1 4

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

私も少し前にこの方法で悩みました。

サウンドクラスとサウンドミックスとサウンドウェーブorサウンドキューを使用すれば本方法が可能です。

ざっくりというと下記のような機能です。

  • サウンドクラスがサウンドの設定をつかさどる部分

  • サウンドミックスがサウンドクラスの設定を変更できるもの

  • サウンドウェーブとサウンドキューが実際に再生できるもの

(http://api.unrealengine.com/JPN/Engine/Audio/Overview/#%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89%E3%82%AD%E3%83%A5%E3%83%BC) 上記から各サウンド再生用のアセット(ウェーブやキュー)にサウンドクラスを指定し、 サウンドクラスを経由してサウンドを再生させながら、 Blueprint側からはサウンドミックス経由でサウンドクラスの値を変更するようにします。

少し手順が多いですが具体的方法は下記です。

  1. 下図のようにアセットのサウンドからサウンドクラスを二つ用意する(MasterClassとSoundSeClassと名付けます)。加えてサウンドミックス(DefaultSoundMixと名付ける)も一つ用意する。

  2. List item

  3. プロジェクトの設定(エンジン→Audio→Audio)から「Default Sound Class」と「Default Media Sound Class」に手順1で作成した「MasterClass」を指定する。

  4. 「MasterClass」のサウンドクラスを開けて「ChildrenClasses」に「SoundSeClass」を指定。すると下図のようなノードに変わる(図は2配列エレメントとなっているが、今回は1配列エレメントでOK)

  5. List item

  6. 下図のように音量を変更したいサウンドキューorサウンドウェーブを開けて(再生する場合がキューならキューの設定 ウェーブならウェーブの設定を開けて)下図のように「Sound」の「Sound Class」に「SoundSeClass」を指定する。

  7. alt text

  8. 「DefaultSoundMix」の「SoundClasses」に「SoundSeClass」を指定する。(この手順はUGameplayStaticsのソースコードを見る限り必要ないかも。。。)

  9. alt text

  10. 後はBlueprint側から下記のようにノードを繋げば、問題なく動作するはずです。下図の例だとPlaySound2Dに指定したSE_Confirmが「SoundSeClass」を指定したサウンドキュー、1キーを押下することで「SoundSeClass」のボリュームを0.5にしています。Apply to Childrenはtrue設定にしています。FadeInTimeを0にすると即時に音量の変更が可能です。

  11. alt text

もしかすると手順2でエンジンのサウンドクラスから独自のサウンドクラスに変更した結果、 対象のSE以外、他サウンドが再生されなくなったという事があるかもしれませんが、 その場合は再生されなくなったサウンドキュー又はサウンドバッファに 手順1で作成したMasterClassを指定しなおしてあげてください。

※私も初心者ですので説明の認識誤りや間違ってた場合は申し訳ないです。

000.png (44.4 kB)
001.png (26.2 kB)
002.png (35.8 kB)
003.png (40.5 kB)
004.png (140.8 kB)
more ▼

answered Nov 18 '18 at 06:34 PM

avatar image

Might
58 6 5 8

avatar image myi2001 Nov 18 '18 at 10:07 PM

とても詳しい説明ありがとうございます。 詳しい図まで載せてくださりとっても助かりました! 今後様々な場面で応用が効きそうなので活用させていただきます。 ありがとうございました:)

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question