「初心者向けUE4」TimeLineを使ったドアの開閉
初めまして。初投稿になります。
今回はBPのTimeLineを使ったドアの開閉を紹介したいと思います。
まず、ドアを用意しましょう。(今回はStarterContentのSM_Doorを使用しています。)

まずこのドアからBluePrintを作りましょう。
赤丸で囲った "ブループリント/スクリプトを追加" をクリックしてください。

クリックしたら、このような画面がでると思います。
ブループリントを保存する場所を聞かれるので今回はコンテンツ直下に "BP_Door" という名前で保存しました。

"ブループリントを作成" を押したらこのような画面が出てくると思います。

扉がたたずんでいます。かわいそうなのでこの扉にCollisionと呼ばれる恐らくこの記事で一番大事なものを追加してあげます。
赤丸で囲った "コンポーネントを追加"
をクリックしてください。

検索欄にCollision
と打ち込みBox Collisionを選択しましょう。

Box Collisionを選択した状態で拡大・縮小ツールを使ってこれぐらいの大きさにしましょう。

次にこのトリガーにオーバーラップした際に起きるイベントを作りたいので赤丸で囲った "イベント" のOn Component Begin Overlap
の+をクリックしてください。

クリックしたらこのような画面になると思います。焦らないでください。
Other Actor
から線を伸ばしてあげて

cast to (自分が使ってるPawn名)を打ち込んでください。


線を伸ばしてあげてTimeline
とうってあげてください。

このようなノードが出てくると思うのでDoorOpen
という名前で保存してくだい。

赤丸で囲ったTimeLineノードをダブルクリックして

このような画面をだしましょう。

赤丸で囲ったf+
というとこをクリックしてください。

名前付けてください。(私の場合はOpenandCloseにしました。)
それではグラフに点を打っていきましょう。

赤丸で囲った0と1.5の場所に点を打ってください。(デフォルトでShift + 左クリック)
赤丸で囲った右の1.5の点をクリックしてください。

1.5の点をクリックして、時間の部分に1.5、値の部分に90と打ちましょう!

そうするとこんな感じになると思います。これで完了です。

赤丸で囲ったイベントグラフ
の部分をクリックしてイベントグラフに戻りましょう。

TimelineノードのOpenandClose
から線を伸ばしてあげて

make rotator
と打ち込んでください。

このようなノードが出てくると思います。デフォルトではX(Roll)につながれていると思いますが、恐らくZ軸での回転で扉を開閉すると思うので

Z(Yaw)につないで上げてください。

次にMake Rotator
ノードのReturn Valueから線を引っ張ってあげまして、SetActorRelativeRotation
を出してあげてください。

このようなノードが出てくると思います。

TimelineノードのUpdateピンからSetActorRelativeRotationにつないでください。

次に赤丸で囲った部分のBoxをクリックして

イベントのOnComponent EndOverlapの+ボタンをクリックしてイベントを追加してください。


上のOn ComponentBeginoverlapと同じようにcast to処理を挟んであげて、

timelineノードのReverseピンにつないであげましょう。
これでドアの開閉処理は完了です。コンパイルとセーブをして、動作を確認してみましょう!

あれ....動かない....

そうなのです。可動性をスタティックからムーバブルに変更してあげないとこのドアの開閉は機能しないのです。


動いた!!!


以上でTutorialは終了です。お疲れ様でした。不明な点等ありましたらお気軽に('ω')