物理シュミレーションに合わせた音の発生方法!
最近UE4で
どうやったら物理シュミレーションに合わせて音を鳴らすことが出来るんだろう??
という悩みを抱えていた。
例えば、サッカーボールがあったとして
サッカーボールを蹴り飛ばすと、当然ですが「ポーン」と音を鳴らしてすっ飛んでいく。
すっ飛んだ先で何度もバウンドするだろう。その時もバウンドする度に「ポンッ」「ポンッ」と音が鳴る。動きが止むと音も当然出ない。
つまり、僕がしたいのは
物理シュミレーション中の物体が何かにヒットする度に音を鳴らす!
という事をしたいのである!
音を鳴らしたいアクターの作成。
「BP_SimulatePhysicsActor」という名前にした。
SimulatePhysicsはチェックを入れておく。
イベントグラフ
SetNotifyRigidBodyCollisionで物理シュミレーション中に何かにヒットしたかのどうかの通知をオン。
~Google翻訳~
SetNotifyRigidBodyCollision・・・剛体衝突の通知を設定する
実際物理シュミレーション中に何かにヒットした時、通知が行われているかを確かめてみた。
何かにヒットする度に「1」ずつ画面左上にカウントされていく。
しっかりカウントされてるので、間違いないだろう。
このアクターが何かに衝突した時の力(A)が、(B)に入れた数値より小さい場合に音を鳴らす処理を行う。
このアクターが何かに衝突した時の力は、NormalImpulseに格納されている。
実際にやってみた。
アクターが跳ねる度にしっかりと音が鳴っていた。
やっていること自体は単純だが、覚えておいて損は無いだろう。
それではまた!^^ノシ