16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【完走賞にチャレンジ】愛知県民のよもやまアドベントカレンダAdvent Calendar 2022

Day 20

【UE5】ブループリントのHitイベントを使用して、キャラクタが接触した時にライトをONにする

Last updated at Posted at 2022-12-19

1.はじめに

どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/

以前の記事でマテリアルを使用して、メッシュを光らせる方法について記載しました。

今回はほんの少しだけ応用的な内容で、
キャラクタが接触した時にメッシュを光らせるブループリントを作成してみたいと思います!

UE5について勉強中の方や、興味がある方の参考になれば幸いです。
(*^^)v


ちなみに、12月はARIのアドベントカレンダもやっていますので、
もしよろしければ、こちらも応援お願いします♪

2.用語の説明

ブループリントとは

私も初心者なので厳密には違う可能性がありますが、
ブループリントとは、UE5の機能の1つで、GUIでメッシュの動きを定義できる機能のことです。

コーディングが不要なので便利ですが、
数学的な計算処理をする場合は、C++でコーディングした方が処理が速いみたいです。

メッシュとは

メッシュとは、「3Dモデル」とほぼ同じ意味の言葉です。
UE5を使用する際に配置するキャラクター、立方体、岩などはすべてメッシュとなります。

3.動作イメージ

まず初めに、動作イメージを紹介したいと思います。
後述する手順を実施することで、以下の動画の様にキャラクタが接触した時にメッシュが光ります。

001_Hitして緑色に点灯.gif

4.ブループリントを作成する

では、早速設定していきましょう♪

4.1.今回も今までと同様に「ゲーム > サードパーソン」のサンプルプロジェクトを使用します。

010_プロジェクトの初期設定.png

4.2.画面左下の「コンテンツドロワー」を選択し、フォルダを移動し、操作するキャラクタのブループリント名を確認します。

以下の画像では「All > コンテンツ > ThirdPerson > Blueprints」フォルダの
「BP_Third Person Charactor」を確認しています。

005_ブループリント名を確認.png

4.3.任意のフォルダで右クリックをし、「ブループリントクラス」を選択します。

010_ブループリントクラスを作成.png

4.4.「Actor」を選択します。

020_Actorを選択.png

4.5.作成したブループリントクラスを選択します。

030_作成したブループリントクラスを選択.png

4.6.画面左上の「追加」を選択し、「球」を選択します。

今回は例として「球」を選択していますが、「キューブ」等を選択しても大丈夫です。

040_球を選択.png

4.7.「イベントグラフ」タブを選択し、エディタ上で右クリックをし、「On Component Hit」を選択します。

以降の画像すべてに言えることですが、手順4.6で選択した内容に応じて検索する単語を変えてください。

画像は「球」を選択した場合なので「hit sphere」で検索していますが、
「キューブ」を選択した場合は「hit cube」で検索してください。

050_OnComponentを選択.png

4.8.「On Component Hit」ブロックの三角マークを選択し、「Cast To (手順4.2で確認したキャラクタ名)」を選択します。

060_CastToBeを選択.png

4.9.「On Component Hit」ブロックの「Other Actor」と「Cast To ...」ブロックの「Object」を接続します。

070_接続.png

4.10.「Cast To ...」ブロックの三角マークを選択し、「Do Once」を選択しまsす。

080_DoOnceを選択.png

4.11.「Do Once」ブロックの三角マークを選択し、「Set Material(手順4.2で選択したメッシュ名)」を選択します。

090_SetMaterialを選択.png

4.12.マテリアルを選択します。

100_マテリアルを選択する.png

上記画像ではマテリアルとして「Light3」を選択していますが、
マテリアルの設定は以下となります。

011_マテリアル設定_凡例.png
マテリアル名 Valueの値(=光の強さ) 色(Hex値)
Light3 30 緑(#3CB371)

4.13.画面上部にてコンパイルを選択し、保存を選択します。

110_コンパイルして保存.png

4.14.作成したブループリントをドラッグアンドドロップし、配置します。

120_ドラッグアンドドロップ.png

4.15.以上で3章の動作イメージ の様に、キャラクタが接触するとメッシュが光ります。

5.補足:ブループリントの処理内容について

補足として、ブループリントでどのような処理をしているのかを記載します。
今回作成したブループリントの全体像は以下となります。

200_全体像.png

「On Component Hit」ブロックと「Cast To ...」ブロックにて、
球とキャラクタが接触した時というトリガーを定義しています。

今回は一度光らせたら光り続けるブループリントで、
2回目以降の処理は不要なため、「Do Once」ブロックで一度だけ処理をするようにしています。

お友達に「オンオフできないの?」とご指摘いただいたので、
改良したら再び記事にします・・・

「Set Material」ブロックに到達すると、メッシュを光らせるためのマテリアルが設定され、
メッシュが光るようになります。

6.おわりに

ここまで読んで下さり、ありがとうございます!!!
(^^)

今までの記事では回転しているメッシュは回転したまま、
光るメッシュは常に光るという静的なものを紹介してきましたが、
今回はブループリントのマテリアルを組み合わせて、動的に動かすことができました!

次回も、何かしら記事にしたいと思います♪
(:3_ヽ)_

16
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?