「初心者向け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は終了です。お疲れ様でした。不明な点等ありましたらお気軽に('ω')