auの日記

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

UE4で落ちる床を作った

auです。

UE4を使って落ちる床を作成しました。

アクションゲームのほとんどにあると行ってもいいのではといえるギミックですね。

実際に作ってみる

「落ちる床に1秒乗っていると、物理エンジンが働き、落ちる」というものをブループリントを利用し作成します。

1. 落ちる床のスタティックメッシュエディタにいき、ボックス単純コリジョン化を追加を選択
f:id:program-shoshinsya:20190118175824p:plain:h280
2. マップにアクタを設置。「詳細」パネルの可動性をムーバブルに設定
f:id:program-shoshinsya:20190118180508p:plain:h280
3. 落ちる床のアクタをダブルクリックし、ブループリントを編集を選択(上の画像の青い部分からいけます)
4. 「ビューポート」タブに移動し、「コンポーネント」パネル(デフォルトだと左上)からBoxCollisionコンポーネントを追加し、アクタの上に配置。
f:id:program-shoshinsya:20190118180817p:plain:w580
5. 「コンポーネント」パネルに追加した、BoxCllisionを右クリックし、Add Event→OnComponentBeginOverlapを選択。
f:id:program-shoshinsya:20190118181156p:plain:h280
(自分はすでに追加してしまっているため、OnComponentBeginOverlapの位置が違います)
6. 「イベントグラフ」タブに移動し、ブループリントを書きます。
f:id:program-shoshinsya:20190118174912p:plain
OnComponentBeginOverlap(乗った時にイベント発生)→Delay(1秒待って)→Set Simulate Physics(物理エンジンのシミュレートを開始する)
という流れになります。

f:id:program-shoshinsya:20190118182908g:plain
(何もないところに引っかかった・・・)

感想

ムーバブルの設定を変えていなくて、最初動きませんでした。見つけたらあーーーここかーーーってなるんで、そういう細かいところは最初に設定すべきと感じました。

それと、ブループリントのビューポートに移動した際に、アクタが埋まっていて見えませんでした。ワイヤーフレームにするとちゃんと見えるのですが、特に動きもしないしどうやって上に持ってくるんだ・・・と言う感じで困ってしまいました。

使っている参考書