ARPG開発 006 地面に対応した足音

プレイヤーキャラクターに足音を設定しました。タイルと草で足音が変わります。

足音のダウンロード

タイルと草で足音を分けますので、それぞれの足音素材をダウンロードします。
アカウント作成が必要ですが、海外サイトのFreesoundは音素材が豊富で素晴らしいです。
Grass Step Right
FX_007_footstep_tile_l.wav
足音は様々なパターンの素材がありますが「カツッ」という1音のみで良いです。「カツッカツッカツッ」という連続した素材ではありません。

足音の加工

コンテンツブラウザで右クリックしてオーディオ > MataSoundソースを選択。
名前はMS_Footstep_Tileにしました。

MS_Footstep_Tileの編集
ノードを組む

入力から線を伸ばしてランダム (フロート)を配置。最小値を-3.0、最大値を3.0にする。
次に移動時から線を伸ばしてウェーブプレーヤー(モノラル)を配置。
ウェーブアセットに足音のサウンドを選択。
ピッチシフトからに繋ぐ。
終了時から出力 On Finished (終了時)に繋ぐ。
モノラル出力から出力 出力モノラルに繋ぐ。
ピッチシフトをランダム(-3.0~3.0)にして、単調ではない足音になりました。
これを複製してMS_Footstep_Grassも作っておきます。

プロジェクト設定

編集 > プロジェクト設定 > エンジン > 物理を開く。
下の方にあるPhysical Surfaceを追加します。名前を入力するだけです。
SurfaceType1: Tile
SurfaceType2: Grass

物理マテリアルの作成と編集

コンテンツブラウザで右クリックしてフィジックス > 物理マテリアルを選択。親はPhysicalMaterial。2つ作成し、名前をPM_TileとPM_Grassにしました。

PM_Tileの編集

フィジカルプロパティ > Surface TypeをTileにする。

Levelの編集

ThirdPersonMapの床を選択し、詳細 > コリジョン > Phys Material OverrideにPM_Tileを設定する。

適当な足場を草ということにして、そっちにはPM_Grassを設定する。

アニメーションシーケンスの編集

歩いているアニメーションシーケンスと走っているアニメーションシーケンスに足音を設定します。

通知欄を使います。
今回は通知1の右で右クリックして通知を追加 > 新規通知で通知名をFootstepにしました。
これを足が地面に触れたタイミングに設置します。
2個目を配置する時は通知を追加 > スケルトン通知から選択できます。

歩きと走り、両方に通知を追加します。

アニメーションブループリントの編集

イベントグラフを開く。

ノードを組む
イベント AnimNotify_Footstepを配置し、線を伸ばしてLine Trace By Channelを配置。
Get Player Characterを配置して、線を伸ばしてGet Actor Locationを配置してStartに繋ぐ。
再びGet Player Characterから線を伸ばしてGet Actor Up Vectorを配置。
Get Actor LocationをStartに繋ぐ。
Get Actor Up Vectorから線を伸ばして乗算する(*)を配置。左下のピンを浮動小数点数(単精度)にして-150.0と入力。
Get Actor LocationReturn Valueから線を伸ばして加算する(+)を配置し、乗算する(*)の右上から繋げる。それをEndに繋げる。
Line Trace By ChannelReturn Valueから線を伸ばしてブランチを配置。
Out HitからBreak Hit Resultを配置。
ブランチのTrueからPlay Sound at Locationを配置。
選択する(Select)を配置し、Return ValueとSoundを繋ぐ。
Break Hit Resultを広げてPhys Matから線を伸ばしてGet Surface Typeを配置。そこからIndexに繋ぐ。
Break Hit ResultLocationからPlay Sound at LocationLocationに繋ぐ。
選択する(Select)TileにはMS_Footstep_Tileを選択し、GrassにはMS_Footstep_Grassを選択。デフォルトは物理マテリアルが設定されていない床での足音になります。とりあえずMS_Footstep_Tileを入れておきました。
テストプレイしたら、タイルと草で足音が変化しました。

参考サイト

【UE4ゲーム制作】地面の種類に応じて足音を変更する方法【逆引きUE】 – YouTube

コメント

  1. Young Charo より:

    great article

タイトルとURLをコピーしました