1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/
以前の記事でマテリアルを使用して、メッシュを光らせる方法について記載しました。
今回はほんの少しだけ応用的な内容で、
キャラクタが接触した時にメッシュを光らせるブループリントを作成してみたいと思います!
UE5について勉強中の方や、興味がある方の参考になれば幸いです。
(*^^)v
ちなみに、12月はARIのアドベントカレンダもやっていますので、
もしよろしければ、こちらも応援お願いします♪
2.用語の説明
ブループリントとは
私も初心者なので厳密には違う可能性がありますが、
ブループリントとは、UE5の機能の1つで、GUIでメッシュの動きを定義できる機能のことです。
コーディングが不要なので便利ですが、
数学的な計算処理をする場合は、C++でコーディングした方が処理が速いみたいです。
メッシュとは
メッシュとは、「3Dモデル」とほぼ同じ意味の言葉です。
UE5を使用する際に配置するキャラクター、立方体、岩などはすべてメッシュとなります。
3.動作イメージ
まず初めに、動作イメージを紹介したいと思います。
後述する手順を実施することで、以下の動画の様にキャラクタが接触した時にメッシュが光ります。
4.ブループリントを作成する
では、早速設定していきましょう♪
4.1.今回も今までと同様に「ゲーム > サードパーソン」のサンプルプロジェクトを使用します。
4.2.画面左下の「コンテンツドロワー」を選択し、フォルダを移動し、操作するキャラクタのブループリント名を確認します。
以下の画像では「All > コンテンツ > ThirdPerson > Blueprints」フォルダの
「BP_Third Person Charactor」を確認しています。
4.3.任意のフォルダで右クリックをし、「ブループリントクラス」を選択します。
4.4.「Actor」を選択します。
4.5.作成したブループリントクラスを選択します。
4.6.画面左上の「追加」を選択し、「球」を選択します。
今回は例として「球」を選択していますが、「キューブ」等を選択しても大丈夫です。
4.7.「イベントグラフ」タブを選択し、エディタ上で右クリックをし、「On Component Hit」を選択します。
以降の画像すべてに言えることですが、手順4.6で選択した内容に応じて検索する単語を変えてください。
画像は「球」を選択した場合なので「hit sphere」で検索していますが、
「キューブ」を選択した場合は「hit cube」で検索してください。
4.8.「On Component Hit」ブロックの三角マークを選択し、「Cast To (手順4.2で確認したキャラクタ名)」を選択します。
4.9.「On Component Hit」ブロックの「Other Actor」と「Cast To ...」ブロックの「Object」を接続します。
4.10.「Cast To ...」ブロックの三角マークを選択し、「Do Once」を選択しまsす。
4.11.「Do Once」ブロックの三角マークを選択し、「Set Material(手順4.2で選択したメッシュ名)」を選択します。
4.12.マテリアルを選択します。
4.13.画面上部にてコンパイルを選択し、保存を選択します。
4.14.作成したブループリントをドラッグアンドドロップし、配置します。
4.15.以上で3章の動作イメージ の様に、キャラクタが接触するとメッシュが光ります。
5.補足:ブループリントの処理内容について
補足として、ブループリントでどのような処理をしているのかを記載します。
今回作成したブループリントの全体像は以下となります。
「On Component Hit」ブロックと「Cast To ...」ブロックにて、
球とキャラクタが接触した時というトリガーを定義しています。
今回は一度光らせたら光り続けるブループリントで、
2回目以降の処理は不要なため、「Do Once」ブロックで一度だけ処理をするようにしています。
お友達に「オンオフできないの?」とご指摘いただいたので、
改良したら再び記事にします・・・
「Set Material」ブロックに到達すると、メッシュを光らせるためのマテリアルが設定され、
メッシュが光るようになります。
6.おわりに
ここまで読んで下さり、ありがとうございます!!!
(^^)
今までの記事では回転しているメッシュは回転したまま、
光るメッシュは常に光るという静的なものを紹介してきましたが、
今回はブループリントのマテリアルを組み合わせて、動的に動かすことができました!
次回も、何かしら記事にしたいと思います♪
(:3_ヽ)_