僕の私のUnrealな日々

UE4のBluePrintを使って小さなギミックを作ったりしてます。ブログを通じて情報共有ができたらなと思います。

UE4:キャラクター(アクター)へのターゲットのロックオンのブループリントの実装について

 タイトル「の」多い・・・

f:id:Bussan_dayo:20150520123719p:plain

 どうもぶっさんです。

 

前にターゲットのロックオンを使用したドロイド君ゲームを作りました。

 

 

ターゲットをロックオンするとはゼルダの伝説時のオカリナだとZボタンのことで、

カメラとキャラクターをターゲットに合わせる事です。

 

今超絶暇なのでまとめたいと思います。

 

Target Lock On!!!の実装

 

(テスト用に余った手でゴブリンを動かしてます。) 

 

仕様:キャラクターに照準を合わせ右クリックするとロックオンされる。

   離すとロックオンが解除される

 

使用するもの:

FirstPersonテンプレート

Mixamo_Goblin(無料アセット)

 

 

 

エディター上

まずエディタ上でゴブリンを出します。

f:id:Bussan_dayo:20150520120956p:plain

 

詳細からActorのTagsにCharacterと入れます。簡単に言うとCharacterって名前のタグ付けです。

f:id:Bussan_dayo:20150520121115p:plain

 

 

BluePrint側

まずイベントTickを右マウスボタンを出し、Gateに以下のように接続します。

f:id:Bussan_dayo:20150520121314p:plain

 

これで右マウスボタンを押すとイベントTickがExitへ流れ続け、リリースすると流れを止めることが出来ます。

 

次にLine Trace by Channelを出します。そしてStartとEndを以下のように接続します。

f:id:Bussan_dayo:20150520121513p:plain

 

これでカメラの位置から5000掛けた位置まで判定できるようにしました。

 

f:id:Bussan_dayo:20150501222604p:plain

 (デバッグモードにした際の実行表示:他記事からの抜粋)

 

 Return Valueからブランチ、OutHitからBreakHitResultを出します。

f:id:Bussan_dayo:20150520121726p:plain

 

 

Break hit ResultのHitActorからActor Has Tagノードを出し、先ほどタグ付けした[Character]をTagに記入します。そしてブランチをします。

f:id:Bussan_dayo:20150520121857p:plain

 

Hit Actorから線を引っ張り[変数へ昇格]を押し変数を作成します。名前をHitCharaにしました。

f:id:Bussan_dayo:20150520122015p:plain

 

 

 カスタムイベントを作成します。名前は[TargetLockOn]にしました。(右クリックしてカスタムイベントを作成をクリックすると出来ます。)

 

そこにSet Control RotationノードとPrint Stringノードを出します。PrintStringにはLockON!!と入れました。

f:id:Bussan_dayo:20150520122317p:plain

 

次に[Get Player Controller]ノードを出し、ターゲットに繋げます。NewRotationには以下のようにつなぎます。

f:id:Bussan_dayo:20150520122706p:plain

 

 

Find Look at Rotationとは例えばオブジェクトを常に自分の向きに向かせる場合なのに使います。今回はロックオンしたオブジェクトの動きに自分の操作キャラを合わせるためにStartは自分のLocation(位置情報)を入れ、TargetにはロックオンしたLocationを入れます。

 

そしてHitCharaの後ろにカスタムイベントのTargetLockOnを呼び出します。

 

f:id:Bussan_dayo:20150520123301p:plain

コレで完成です。難しいノード構成ではないので比較的楽して作れると思われます。

 

といいますか、サードパーソンのゲームだと有効かなと思います。(今回はサードパーソンにするのがめんどくさくなっちゃった・・・><

 

ちなみに、ヒストリアさんから

historia.co.jp

 

プラグインが出ています。コレ作った次の日ぐらいに公開されおぉ。。?おぉ!!ってなりました。(コレかくまで完全に忘れていたのでプラグインがどういったのもかわからない。多分用途が違うはず。。。)

 

 

 

以上。