瞬間移動装置
プレイヤーが瞬間移動装置の効果範囲内に侵入すると、指定した場所へ瞬間移動します。
プレイヤーが瞬間移動装置アクターの当たり判定に重なることで、イベントが開始し、移動先の座標へ移動します。
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.イベントの配置
左のコンポーネントから
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-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 アクターを指定します。