auの日記

プログラミング初心者の日記。(auはハンドルネームです)

UE4でコインを取得したら頭の上から飛ぶようにした

auです。

今日は、UE4でコインを1枚以上持っている状態で、コインを失った際に、頭に設置したソケットからコインが飛び出るようにしました。

ソケットについては以前にまとめたのでよろしければ読んでみてください。

program-shoshinsya.hatenablog.com

コインを単純に飛ばす

ソケットの配置については、以前にやったので割愛します。

コインはCキーを押すことで、1枚ずつ獲得できるように、Vキーでコインを1枚ずつ失うように設定しています。

プレイヤーのブループリント(PNPlayerPawn)
f:id:program-shoshinsya:20190201141839p:plain

コインを減らして頭の上から飛ばすブループリント(DropCoin)
f:id:program-shoshinsya:20190201143140p:plain
()は関数名です

コインを1枚減らした際に、頭の上のソケット(CoinSpawnPoint)の位置情報を取得し、その位置からコインのアクタ(PNPickup Coin Actor)を出現させて、物理シミュレーションを利用して床に落とします。その際に、すぐに触れると再取得してしまい、飛んでいるように見えないので頭より結構離したところで出現させ、斜め方向に力を加えて飛ばしています。

最終的には、死亡判定が出た際に、所持しているコインを全部撒き散らすような挙動にします。(ソニックのリングを持っている時にダメージ食らったときの感じ)

f:id:program-shoshinsya:20190201144134g:plain

これは楽しい・・・!

コイン同士が乗っかってしまう問題点や、死亡した際の処理も書いていこうと思います。

使っている参考書