クリックで遊ぼう!~OnClickEvent~

~特定のアクターをクリックした場所に

エフェクトを出す~

 

・クリックイベントを有効にする

まず、PlayerControllerクラスの作成。

名前を決める。(ここでは「Test」にした)

f:id:Free_Gamer:20180707233702p:plain

「Test」を開き、クラスのデフォルトの詳細パネル内の「MouseInterface」項目の中にある赤枠で囲った部分にチェックを入れる。

f:id:Free_Gamer:20180707234154p:plain

次に、プロジェクト設定のマップ&モードでPlayerControllerClassを先程作成したPlayerController「Test」にする。

f:id:Free_Gamer:20180708130928p:plain

これで、リックイベントが有効になった。

 

・クリックイベントを起こすアクターの作成

ActorクラスのBPを作成。

f:id:Free_Gamer:20180707234626p:plain

ここではキューブのBPを作成した。名前は好きなように。

以下の処理を組む。

f:id:Free_Gamer:20180707235636p:plain

OnClickedイベントを追加。

OnClicked・・・このアクターがクリックされたときに呼ばれるイベント

f:id:Free_Gamer:20180707234745p:plain

GetHitResultUnderCursorByChannel

TraceChannel・・・マウスカーソルのトレースチャンネル

Bool値のReturnValue・・・指定したアクターがクリックされたかどうかのBool値

f:id:Free_Gamer:20180707235006p:plain

HitResultを分解し、マウスカーソルの位置(Location)をSpawnEmitterAtLocationのLocationにつなぐ。

f:id:Free_Gamer:20180707235823p:plain

これで、クリックした場所にエフェクトを出すことが出来た!

 

・アクターのコリジョン確認

クリックイベントを起こすアクターのコリジョンのトレース応答「Visibility」が「ブロック」になってる事を確認。

f:id:Free_Gamer:20180708000103p:plain

先程、GetHitResultUnderCursorByChannelのTraceChannelは「Visibility」だったので、クリックイベントを起こすアクターのトレース応答「Visibility」はブロックにしておく。

 

・カメラの配置

クリックで遊びたいので、全体を俯瞰して見れる位置にカメラを設置。

f:id:Free_Gamer:20180708000426p:plain

カメラ視点でプレイしたいので、カメラの詳細の中の画像の項目を「Player0」にする。

f:id:Free_Gamer:20180708000823p:plain

 

・マウスカーソルの表示

レベルBPに以下の処理を組み、プレイ中マウスカーソルを表示させる。

f:id:Free_Gamer:20180708001214p:plain

 

あとは作成したBPをレベル内に配置し完了!

プレイ!

youtu.be

 

しっかりとクリックした場所にエフェクトが出てますね!

シンプルなことですが、なかなか面白いと思います!(適当)

 

それではまた!^^ノシ