ゲーム開発備忘録

ゲームプログラマー UE4・5向けの記事を書いておりますので見ていただけるとありがたいです。

【UE4・UE5】Unity勢&入門者向け!ブループリントの作成と対象の情報を取得する。~①詳細から対象を選択する編~

はじめに

今回の記事はUE4や5の入門者向けの記事です。

情報を取得したいキャラクターやアイテムをサクッと実装してみましょう!

使いどころによっては負荷になったりするので

この記事をマスターしたら、インターフェースやハード参照・ソフト参照などを学習してSOLIDの原則に従った設計や思想の理解にステップアップしていただければと思います。

やりかた

⓪アクターの作成と簡単な解説

ファーストパーソンテンプレートで解説しますが、

基本的な実装なのでどこでも使えます。

 

モノの単位が

Unityの場合オブジェクトですが

UE4ではアクターとよびます。

 

試しにアクターを生成してみましょう。

アクターを配置のタブからキューブをマップにドラックし配置しましょう!

f:id:namiton:20220204182206p:plain

f:id:namiton:20220204182322p:plain

 

Unityではコードを別で書いて適応したいオブジェクトに貼り付けることで動作しますが、UE4ではアクターに機能を持たせるときには必ずブループリント化しなければなりません。

ブループリント化は詳細タブのブループリント/スクリプトを追加からできます。

f:id:namiton:20220204182658p:plain

 

作成するとコンテンツブラウザに作成したブループリントが表示され、

マップ上のキューブもブループリントに変化します。

f:id:namiton:20220204182923p:plain

作成したブループリントを開きましょう。

主にイベントグラフというタブを使用します。

ここではUnityのStart()やUpdate()のような関数があり、

アクターが何かに触れたときの動作を設定したり

ありとあらゆる動作をここで実装することができます。

f:id:namiton:20220204183006p:plain

今回はプレイヤーがこのブループリントにアクセスして

このキューブの情報を取得できるようにします。

 

①情報を持たせてみる

上で作成したブループリントに名前と年齢、HPを持たせてみましょう。

イベントグラフの変数の+を押して変数を作成できます。

f:id:namiton:20220204183808p:plain

名前を付けたら型を指定します。

型は変数の種類でこれを設定することで文字や数字などの区別がつけられます。

変数の左側のアイコンを左クリックすることで変更できます。

今回はそれぞれ

name.......String  

age..........Integer

hp............Integer

にしましょう

f:id:namiton:20220204184056p:plain

また変数の右にあるアイコンをクリックしてみましょう。

Unityでいうインスペクターに公開され直接値を操作できます。

f:id:namiton:20220204184521p:plain

マップ上のオブジェクトの詳細にも表示されている。

f:id:namiton:20220204184542p:plain

変数をクリックした状態で詳細を見るとデフォルト値を設定できます。

好きな名前や年齢、HPを設定しましょう。

f:id:namiton:20220204184815p:plain

f:id:namiton:20220204184821p:plain

f:id:namiton:20220204184828p:plain

これで変数を持たせることができました。

 

②プレイヤーブループリントからキューブの情報を取得しよう。

プレイヤーブループリント

今回はFirstPersonCharacterのイベントグラフを開きます。

キー入力イベントを作成しましょう。

グラフ上で右クリックを押して、、

検索窓にショートカットの t. と入力します。

状況に合わせた表示にはチェックを入れておきましょう。

カスタムイベントを追加…を押します。

f:id:namiton:20220204185131p:plain

名前をGetTargetActorInformationにします。

また型をCube_BlueprintにしたtargetActor変数を作成しましょう。

また目のアイコンを押して公開設定にしましょう。

f:id:namiton:20220204185939p:plain

Ctrlキーを押しながら変数をドラックして置くと変数のゲットノードが出ます。

Altキーを押しながらだと、セットノードが出ます。

ドラックしてから選ぶこともできます。

f:id:namiton:20220204190238p:plain

変数から紐をだして話すと検索窓が出ます。

そこにGetと入力すると下のほうに作成した変数が出てきます。

これを押すと対象の情報を取得できます。

f:id:namiton:20220204190507p:plain

3三種類選んだらPrintStringというログを出力するノードを使って画僧のように組んでみましょう。

異なる変数同士をつなげると自動的に変換ノードが出てきます。

f:id:namiton:20220204190935p:plain

右クリックから検索窓に@と入力しましょう。

するとキーイベントを作成できます。

f:id:namiton:20220204192910p:plain

詳細タブからキーの種類を変更できます。

f:id:namiton:20220204193508p:plain

そしたらこのようにつなげます。
これで実行中に@を押したら関数が実行されるようになりました。

f:id:namiton:20220204193006p:plain


できたら左上のコンパイルボタンを押しましょう。

f:id:namiton:20220204191047p:plain

準備完了です。

マップに戻って

キャラクターを選択した状態で詳細ウィンドウを見てみると変数が設定できることが分かります。

 

f:id:namiton:20220204191140p:plain

置いたキューブを変数に設定してみましょう。

変数の右側にあるスポイトアイコンを押してマップ上のブループリントを選びます。

f:id:namiton:20220204192406p:plain

f:id:namiton:20220204192509p:plain

上のほうにあるプレイボタンを押して実行してみましょう。

f:id:namiton:20220204193141p:plain

するとキーを押すたびに

設定したオブジェクトの情報が取得できるようになりました。

f:id:namiton:20220204193554p:plain

 

長くなってしまったので

次回は自動的に対象を選択する編を書きます。

 

 

さいごに

UE4やUE5向けの記事を書いています。

皆様の応援が投稿のモチベーションになりますので

コメントやTwitterのフォローなどしていただけるとありがたいです。

それではよきゲーム開発を。