春日部つむぎ no ゲーム作ってみよう!【UE5/UE4】 - 瞬間移動【UE5/UE4】


https://youtu.be/PxljESuEXdU

00:00 オープニング
00:41 1.瞬間移動装置アクターの作成
04:54 2.移動先アクターの配置
05:08 3.テレポートアクターを配置
05:46 4.視覚効果(エフェクト)
07:55 ざっくりまとめ!
08:13 エンディング

ざっくりまとめ!









ブループリント



瞬間移動装置


プレイヤーが瞬間移動装置の効果範囲内に侵入すると、指定した場所へ瞬間移動します。

プレイヤーが瞬間移動装置アクターの当たり判定に重なることで、イベントが開始し、移動先の座標へ移動します。

1.瞬間移動装置アクターの作成

右クリック→ブループリントクラス→アクターを選択し、
ブループリントを作成します。
ファイル名を「GM_Teleport」に変更します。
ブループリントファイルを開き、ビューポートタブを開きます。
1-1.コンポーネントの追加
左のコンポーネントから
・Static Meshコンポーネントを追加します。
・コリジョンを追加します。
1-1-1.Static Meshコンポーネントを追加します。
右の詳細からStatic Meshを指定します。
Transform Materialsを指定します。
テレポーターの外観を指定します。
1-1-2.コリジョンを追加します。
今回はCapsule Collisionを使用します。
 ※StaticMeshが親でCapsuleCollisionが子になっている事
1-2.イベントグラフの編集
イベントグラフに切り替えます。
1-2-1.イベントの配置
左のコンポーネントから
Capsule Collisionを右クリック→イベントの追加→On Component Begin Overlapを選択。

On Component Begin Overlap
 コリジョン内に入るとイベントが開始します。
1-2-2.判定処理
判定処理
テレポーターに入ったのがプレイヤーであるか判定します。

Other ActorピンとGet Player Pawnをイコールでつなぎます。

Other Actor : コリジョンに侵入したアクターの情報を取得します。

Get Player Pawn ノード : プレイヤーキャラクターを取得します。

On Component Begin OverlapにBranchノードをつなぎます。

BranchノードのConditionとイコールノードをつなぎます。

オーバーラップしたアクターがプレイヤーであれば、trueが処理され、
それ以外であれば、Falseが処理されます。
1-2-3.true処理
1-2-3-1.Set Actor Location ノード
Set Actor Location ノードをBranchノードにつなぎます。

Set Actor Location ノード : アクターの位置をセットします。

[Teleport]にチェックを付けます。
また、[Sweep]にチェックを入れると、
目的地までに障害物があると、そこで移動が中断します。

[Target]には、テレポートさせるアクターを指定するために、
On Component Begin Overlapノードの[Other Actor]をつなげます。
1-2-3-2.移動先の情報
移動先変数作成
目的地用アクターをレベルに直接配置する為に、
移動先アクターを変数で指定します。

テレポート先アクターを格納する変数を作成します。

変数型「Actor」変数名「TeleportTarget」
目のマークをクリック
レベルに配置した後でもテレポート先が指定できるようにします。

変数「TeleportTarget」をGetノードで配置し、
Get Actor Locationにつなげます。
Set Actor Locationの[New Location]につなぎます。
1-2-3-3.視覚効果
エフェクトが発生し、転送、移動先でエフェクトが発生し移動
Spawn Emitter at Location ノードを配置します。
[Emitter Template]でエフェクトを指定します。
[Location]にGet Actor Locationノードをつなぎます。

Get Actor Locationノード アクターの座c標を取得します。

移動先には
Get Actor Locationノードの[Target]に,
移動先変数「TeleportTarget」をつなげます。

P_Explosion_Big_C

コンパイルして、起動します。

2.移動先アクターの配置

移動先のアクターをレベル上に配置します。
Target Point アクターを配置します。

Target Point アクター : 

3.テレポートアクターを配置

作成した「GM_Teleport」をレベル上に配置します。

配置した「GM_Teleport」の詳細パネルで、
変数「TeleportTarget」欄に移動先のアクター、Target Point アクターを指定します。