執筆バージョン: Unreal Engine 4.26
|
第15回ぷちコンのテーマが「かわる」とのことで、初心者記事として2つのオブジェクトを入れ替える方法を紹介したいと思います!
ThirdPersonテンプレートで解説していきます。
入れ替えたい2つのアクターを配置する

まずは入れ替えたいふたつのアクターを配置します。
StaticMeshActorは配置した直後は、移動できない「Static」の設定になっているので、以下のように「Movable」に変更します。

LevelBlueprintを開き、キーを押したときにイベントを発生させる
LevelBlueprintで以下のように設定し、キーを押したときのイベントを取得します。
“「X」を押したとき”のイベントは、Blueprint上で「keyboard x」と打つと候補に出てきます。
実行してみて、「Hello」と出ることを確認しましょう。

2つのアクターの参照を取る
このあとBlueprintで2つのアクターの位置を入れ替えたいので、それぞれのアクターの参照を配置しましょう。
レベルエディタ上で選択した状態で、Blueprint側で右クリックを行い、参照を配置します。

↓こうなったらOK

入れ替える処理を書く
Blueprintを以下のように書いて、入れ替える処理を書きましょう。
変数を1つ追加しているので注意です。

2つのアクターを入れ替えるときは、1つ目を移動した時点で1つ目の位置情報を失ってしまうため、一度変数に保存する必要があります。
実行してXを押すと、イスとテーブルの位置が入れ替わりました!(地味ですね……)

応用編:当たったらキャラクターの位置を変える
「[UE4] コンポーネントを使ってワープさせてみる」で紹介されている”キャラクターが当たったら”という部分と合わせると、何かに当たったらキャラクターの位置を何かと入れ替えることができます。
ぜひ試してみてくださいね!