【UE5】ドアの開閉処理の作成

UE5ドア作成アイキャッチ画像 UE5 基礎

はじめに

 Unreal Engine 5でドアの開閉処理を実装します。このチュートリアルでは、スタティックメッシュの準備から当たり判定の設定、ドアの開閉処理までを詳しく説明します。

※この記事ではUE5.3.2を使用しています。

今回は、このような処理を作成します。

ドアの開閉処理の作成方法

スタティックメッシュの準備

StarterContent 」がコンテンツ内のフォルダにあるか確認してください。

UE5水面作成画像35

ない場合は、「 + 追加 」を押して、「機能またはコンテンツパックを追加…」を選択してください。

UE5水面作成画像33

コンテンツ」、「 StarterContent 」、「プロジェクトに追加」を押してください。

UE5水面作成画像34

StarterContent 」を選択、「door」と検索します。

ドア枠と壁のスタティックメッシュをレベルに配置します。

※ドアのスタティックメッシュはブループリントの作成時に使用します。

UE5ドア作成画像02

右上のマークをクリックすると、複数画面で編集ができます。

UE5ドア作成画像03

ワイヤーフレームを使用すると、正確な位置を調整できます。

UE5ドア作成画像04

Blueprintの作成

コンテンツ内で右クリックして「新規フォルダ」を選択します。

動く床説明画像

フォルダ名は「Door」にしました。

UE5ドア作成画像01

Door」内で右クリックして「ブループリントクラス」を選択、「 Actor 」をクリックします。

UE5ドア作成画像05
動く床説明画像03

Acorの名前を「 BP_Door 」にします。

BP_Door 」をダブルクリックして、ブループリントの編集画面を表示します。

UE5ドア作成画像06

ビューポート」を選択、「 + 追加」の「 Static Mesh 」を追加します。

UE5ドア作成画像07

名前を「 SM_Door 」に変更します。

UE5ドア作成画像08

SM_Door」を選択した状態で、詳細欄の「Static Mesh」のプルダウンメニューを開きます。

UE5ドア作成画像09

Static Mesh」のプルダウンメニューで「door」と検索して「SM_Door」を選択します。

UE5ドア作成画像10

当たり判定の作成

+ 追加」、検索で「coll」を入力して「 Box Collision 」を追加します。

UE5ドア作成画像11
UE5ドア作成画像12

拡大・縮小:「 1.75 」、「 1.75 」、「 3.25 」にします。

UE5ドア作成画像13

「Box Collision」は衝突の判定を行うので、ドアのアクタの大きさに合わせます。

パースペクティブをクリックすると上下左右などの画面を変更できます。位置の調節に便利です。

UE5ドア作成画像15
UE5ドア作成画像14

スナップサイズを小さくすると、細かい位置を調整できます。

UE5ドア作成画像16

このように「Box Collision」を設定します。

UE5ドア作成画像17

Box 」を右クリックして、「 On Component Begin Overlap 」と「 On Component End Overlap 」を追加してください。

UE5ドア作成画像18

イベントグラフ」に切り替わり、ブループリントのノードが追加されます。

On Component Begin Overlap 」は、何かが重なった時、「 On Component End Overlap 」は、離れた時に実行される処理です。

UE5ドア作成画像19

On Component Begin Overlap 」の実行ピンから「Add Timeline」ノードを追加します。

UE5ドア作成画像20

Add Timeline 」の名前を「DoorAngleRate」に変更します。「DoorAngleRate」をダブルクリックしてタイムラインの編集画面を表示します。

UE5ドア作成画像21

+ トラック」をクリックして、「フロートトラックを追加」を選択します。

UE5ドア作成画像22

追加したトラックの名前は「Rate」にしました。ここでは、2つのキーを追加していきます。

右クリックして「CurveFloatにキーを追加」を選択してください。

UE5ドア作成画像23

時間を「0」値を「0」に設定します。

UE5ドア作成画像24

もう一度右クリックして、「CurveFloatにキーを追加」を選択します。

時間を「1」値を「1」に設定します。時間を「1」にすると、1秒かけて移動します。

※今回のドア開閉の場合、値を「1」:90度移動します。値を0.5:45度移動します。

UE5ドア作成画像25

「イベントグラフ」に戻って「DoorAngleRate」の「Update」ピンから「Set Relative Rotation」を追加します。

UE5ドア作成画像26

Set Relative Rotation」の「New Rotation」で右クリックして「構造体ピンを分割」を選択します。

UE5ドア作成画像27

何もない所で右クリック、「 Lerp 」を追加します。

UE5ドア作成画像28

以下のようにノードを繋ぎ、「 Lerp 」の B を「90」に設定します。これで 90度向きが変わります。

New Rotation Z(Yaw)」に繋ぐと、Z方向に回転します。

Lerp 」ノードについて

A:最小値

B:最大値(90の場合、最大90度の位置まで移動)

Alphaは「DoorAngleRate」の「フロートトラック」で設定した値「1」が出力されます。

※今回のドア開閉の場合、値を「1」:90度移動します。値を0.5:45度移動します。

UE5ドア作成画像29

On Component End Overlap 」と「Reverse」を繋ぎ、離れた時にドアが閉まるようにします。

Reverse」は、逆に動作する処理です。

UE5ドア作成画像31

これでブループリントは完成です。

UE5ドア作成画像32

それでは、レベルにアクタを配置してみましょう。

UE5ドア作成画像30

ワイヤーフレームを使用して位置を微調整します。

UE5ドア作成画像35

ドアのスタティックメッシュコリジョンをつけます。

StarterContent 」を選択、「door」と検索します。「SM_Door」をダブルクリックして編集画面を表示します。

UE5ドア作成画像33

コリジョンプリミティブ数」が「0」の場合、すり抜けてしまいます。

コリジョン」を選択して「ボックス単純化コリジョンを追加」を選択してコリジョンをつけます。

UE5ドア作成画像34

これで完成です。

UE5ドア作成画像36

ゲームプレイして確認してみましょう。

まとめ

今回はドアの開閉処理を実装する手順を解説しました。

スタティックメッシュの配置、当たり判定の設定、ブループリントの作成など、基本的なステップを理解できたと思います。これを応用すれば、ゲーム内のドアやゲートなどのアクションを制御できるようになります。

書籍で学びたい方はこちら >> UE5 おすすめ本 3選!初心者必見!

コメント

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