クリックで遊ぼう!~OnClickEvent~
~特定のアクターをクリックした場所に
エフェクトを出す~
・クリックイベントを有効にする
まず、PlayerControllerクラスの作成。
名前を決める。(ここでは「Test」にした)
「Test」を開き、クラスのデフォルトの詳細パネル内の「MouseInterface」項目の中にある赤枠で囲った部分にチェックを入れる。
次に、プロジェクト設定のマップ&モードでPlayerControllerClassを先程作成したPlayerController「Test」にする。
これで、クリックイベントが有効になった。
・クリックイベントを起こすアクターの作成
ActorクラスのBPを作成。
ここではキューブのBPを作成した。名前は好きなように。
以下の処理を組む。
OnClickedイベントを追加。
OnClicked・・・このアクターがクリックされたときに呼ばれるイベント
GetHitResultUnderCursorByChannel
TraceChannel・・・マウスカーソルのトレースチャンネル
Bool値のReturnValue・・・指定したアクターがクリックされたかどうかのBool値
HitResultを分解し、マウスカーソルの位置(Location)をSpawnEmitterAtLocationのLocationにつなぐ。
これで、クリックした場所にエフェクトを出すことが出来た!
・アクターのコリジョン確認
クリックイベントを起こすアクターのコリジョンのトレース応答「Visibility」が「ブロック」になってる事を確認。
先程、GetHitResultUnderCursorByChannelのTraceChannelは「Visibility」だったので、クリックイベントを起こすアクターのトレース応答「Visibility」はブロックにしておく。
・カメラの配置
クリックで遊びたいので、全体を俯瞰して見れる位置にカメラを設置。
カメラ視点でプレイしたいので、カメラの詳細の中の画像の項目を「Player0」にする。
・マウスカーソルの表示
レベルBPに以下の処理を組み、プレイ中マウスカーソルを表示させる。
あとは作成したBPをレベル内に配置し完了!
プレイ!
しっかりとクリックした場所にエフェクトが出てますね!
シンプルなことですが、なかなか面白いと思います!(適当)
それではまた!^^ノシ