見出し画像

UE5 左クリックでスケルタルメッシュを配置するビルドシステムを作成してみよう! UnrealEngine Build System

本日は左クリックをするとCandleを配置できるシステムを実装していきたいと思います。

クリックすることで配置することが可能ですので、是非作成して遊んでみてください。

ということで早速初めていきたいと思います。
みなさん準備はできていますね!
まずは関数の作成からになります!

キャラクターのブループリントをダブルクリックで開き左下の関数タブから⊕を押し、新規関数を作成してください。今回、関数の名前は「Line Trace」にしていますが、お好きな名前に設定ください。

Line Trace By Channel
Line Trace関数から実行ピンを引っ張りノードを配置

Follow Camera
コンポーネントタブからドラック&ドロップで配置

Get World Location
Follow Cameraのピンを引っ張りノードを配置、Return ValueとLine Trace By ChannelのStartを接続

◆Get World Rotation
Follow Cameraのピンを引っ張り、ノードを配置

◆Get Forward Vector
Get World Rotationのピンを引っ張りノードを配置

◆Add(+)
Get World Locationからピンを引っ張りノードを配置し、Line Trace By ChannelのEndピンと接続

◆Multiply(*)
Get Forward Vectorのピンを引っ張りノードを配置しAddピンと接続。
下のピンを右クリックしFloatに変更(浮動小数点数)し値は1,000に設定

◆Branch
Line Trace By Channelの実行ピンを引っ張り配置。その後Return ValueとConditionピンを接続

◆Break Hit Result
Line Trace By ChannelのOut Hitピンを引っ張り配置

◆Make Rot From X
Break Hit ResultのNormalピンを引っ張り配置

Line Traceノードを選択した状態で
Detailタブからアウトプットを追加します。(上記画像の右下ですね)

◆Location
アウトプットの⊕を押して追加後、Vectorに変更します。
◆Rotation
アウトプットの⊕を押して追加後、Rotaionに変更
※名称はお好きなように

◆Return Node
複製(2個になればOK)
1つは、まずBranchのTrueと実行ピンを接続。そしてBreak Hit ResultのLocationピンとLocationピンを接続。最後にMake Rot From XのReturn ValueピンとRotationピンを接続。
2つ目は、BranchのFalseと実行ピンを接続するだけでOKです。

これで、Line Trace関数の完成になります。

次のノードを組んで行く前に、休憩がてら、マテリアルとActerブループリントを作成していきます。

右クリックからブループリントを選択。その後Actorを選択しブループリントを作成

作成したブループリントを開き、コンポーネントタブにある「+追加」を
クリックし、Static Meshを追加する。名称は今回「Candle_Mesh」にして
いますが、お好きな名称を設定ください。

DetailタブのStatic Meshの項目から対象のStatic Meshを選択し反映する。

そしたら次はマテリアルの作成だ!

右クリックし、一覧の中からマテリアルを選択

ダブルクリックで開き上記ノードを組んでいくよ!

◆Constant3Vector
右クリックで配置し、ベースカラーと接続。色は何でも大丈夫です。
◆Constant
右クリックで配置し、オパシティと接続。今回値は0.5に設定しています。

そしたら、Detailのタブから、マテリアルの項目を展開し、その中にあるBlendModeをTransIucentに変更する。

こんな感じの半透明のマテリアルが完成するよぉ!そしたら準備はOK!
作成したブループリントとマテリアルを用いて、ノードを組んでいきたいと思います!

そうしましたら、イベントグラフに戻ります。基本実装されている、
Add Input Mappingのところから開始になりますので、移動ください
(イベントグラフ内の一番上の項目です)

◆Add Static Component
Add Mapping Contextの実行ピンを引っ張り配置。
ClassをStatic Mesh Componetに変更

◆Make Transform
Add Static ComponentのRelativeTransformピンを引っ張り配置

◆Set Static Mesh
Add Static ComponentのReturn Valueピンを引っ張り配置。
実行ピンを接続。New Meshのプルダウンから対象のStatic Meshを選択。

◆Set Material
Add Static ComponentのReturn Valueピンを引っ張り配置
。Set Static Meshの実行ピンを接続。
Materialのプルダウンから作成したMaterialを選択

◆Set(セット)
Add Static ComponentのReturn Valueを右クリックし変数に昇格。
Set Materialと実行ピンを接続。
お好きな名称を設定ください。今回はBuild Preview Meshにしてます。

続いてのノードを作成していきます。こちらは空いている場所であれば、
場所を問わないため、お好きな場所に作成してみてね!

◆Event Tick
右クリックで配置

◆Line Trace(関数)
関数タブから配置し、実行ピンを接続。本記事の最初に作成した関数です。

◆Get(ゲット)今回はBuild Preview Mesh
マイブループリントタブのコンポーネントからGetで配置。
ノードを右クリックし、検証済みゲットに変換。Line Traceと実行ピンを接続

◆Set World Transform
ゲットのBuild Preview Meshピンを引っ張り配置。
併せて実行ピンも接続後、New Transformピンを右クリックして分割。
最後にLine TraceのLocationピンとNew Transform Locationピンを接続

◆セット
Line TraceのLocationピンを変数へ昇格。Set World Transformと実行ピンを接続。今回名称はBuild Location

続いては、入力アクションを作成していきます。
コンテンツドロワーのお好きなところに、右クリックして入力アクションを作成。今回名前はIA_Buildにしておきます。

入力アクションが作成できたら、ThirdPerson→Inputにある「IMC_Default」を開きます

Mappingの横にある⊕で項目を追加。
プルダウンから先ほど作成した入力アクションを設定。
さらに項目を開きマウスボタンを設定。(最初はキーボードのマークに
なっているので、そちらをタップして、空欄をクリックすると設定することができます)

キャラクターブループリントのイベントグラフに戻り上記ノードを作成します。空いている場所であればお好きな場所で問題ありません。

◆IA_Build(入力アクションの名称で検索)
右クリックし配置

◆SpawnActor BP Build(Spawn Actor From Class)
IA_BuildのStartedのピンを引っ張り配置。Classをマテリアルと一緒に作ったブループリントに設定。Spawn Transformの構造ピンを分割。そしてCollision Handing Overrideの項目をAlways Spawn Ignore Collisionsに設定

◆Build Location(作成した変数)
変数のコンポーネントからドラッグ&ドロップで配置。BP BuildのSpawn Transform Locationと接続

★★良く頑張りました‼これで完了です★★

右クリックでがつがつ配置してみてくださいね!

★それでは、また次回の記事でお会いしましょう★

この記事が気に入ったらサポートをしてみませんか?