対象のアクターの手前までプレイヤーを移動させる方法
自身を対象のアクターの手前まで移動させる処理を紹介します。
~対象のアクターを作成~
まず対象のアクター「NPC」を作成します。
「ThirdPersonCharacter」をコピーしただけです。
作成した「NPC」を、適当な位置に配置します。
~レベルBPの作成~
処理は以下の通りです。
「Qキー」を押した時に、プレイヤーをNPCの手前まで移動させるカスタムイベント
「MoveToTheFrontEvent」を呼び出します。
「MoveToTheFrontEvent」の処理です。
純粋関数「CalculateFrontPosition」で、NPCの手前の位置を求め、その数値を
変数「FrontPosition」に格納します。
その後、タイムラインでプレイヤーを移動させる処理と
プレイヤーをNPCに向ける回転処理を行います。
純粋関数「CalculateFrontPosition」の中身は、以下の通りです。
プレイヤーがNPCを貫通しない為に
「MapRangeUnclamped」で制限を設けてます。
多分「MapRangeClamped」でも行けると思います。(多分)
タイムラインは以下の通りです。
時間は「0.1」に設定してあります。
「0秒」に値「0」のキーがあり
「0.1秒」に値「1」のキーがあります。
カスタムイベント「MovePlayer」で
プレイヤーをNPCの手前の位置まで移動させます。
カスタムイベント「PlayerLookAtRotation」で
プレイヤーをNPCに向けます。
これで完了です。
動画のように、どの方向からでもNPCの手前まで移動できているようになっていれば
OKです。
それではまた^^ノシ