概要
何番煎じかもうわかりません。
足元のマテリアルに設定されているPhysical Materialを監視して、音の種類の切り替えをするようなものです。
それなりに端折りながら記載してます。
本編
1. MetaSoundで音の用意
MetaSoundである必要はありません、なんとなくです。
Audio から MetaSoundSourceを選択して、適当に音源を一つ用意します。
実際は二つ以上欲しいですが、手間なので上記のほかにStarterContentの音源を一つ利用します。
2. Pysical Surfaceの作成・設定
Project Settingsを開き、そこで設定ができます。
ここでは命名のみです。SurfaceType1にOne、SurfaceType2にTwoという名前で設定をしておきます。
3. Physical Materialの作成
Physical Materialを作成します。
Physical Surfaceで設定したSurface Typeの個数分作成します。
適当でいいので、パラメータはほぼ弄らず、Surface Typeに先ほどProject Strringsで設定したものを設定します。
4. MaterialにPhysical Materialの設定
判定用のマテリアルを作成します。
Physical Surfaceで設定したSurface Typeの個数分作成します。
マテリアルのPhys MaterialにPysical Materialを設定します。
5. オブジェクトにマテリアルを張ってレベル上に配置
6. プレイヤーの中心から真下に向かってレイを飛ばしてSurfaceTypeを取得する
レイはLine Trace By Channelを用います。
レイの位置と距離に関しては、それ用に見えないオブジェクトを配置することでやりやすくしました。
そして、返り値のOut HitからGet Surface Typeを取得します。後ほどのためにTypeの値を保持するようにします。
Print Stringでどういう値が出るか一応確認して見るとこのような状態です。
地面のマテリアルに応じて…という点に関してはこれで出来てるかと思います。
7. アニメーションの特定のタイミングで音を鳴らすためのAnim Notify
OverrideからReceived Notifyを選択します。
中身はこういう感じにします。やっていることは箇条書きしておきます。端折ります。
8. アニメーションの特定のタイミングで音を鳴らすための設定
音を鳴らしたいアニメーションのほうで先ほどのAnim Notifyを設定します。
Add Notifyから先ほど作成したAnim Notifyを設定します。
余談
WwiseとADX2LEについてはこちらでまとめていました。
Wwiseの場合
ADX2LEの場合
Pysical Materialについては記載無かったです…。