unrealengineといえばブループリント機能
なのは分かるけど…つまりブループリントって何をどこまで出来るんですか?
っつ!
プログラミングをしてくれるのは知ってる
…けれど、何が分からないのか分からない
私も今でも全く自信ありません
今までの人生プログラミングをしたこともありません
この記事では、私と同じく、全くプログラミングもしたことのないけれど、unreaEngineに挑戦するからには、ブループリントを習得せねばならぬと思い込んでいる人に向けて書いています
私は今や、unreaEngineは映像制作に絞って使用していますが、ブループリント機能は全くと言って良い程使っていません
ブループリントとは?
プログラミングの言語を打ち込まなくても、ノードと呼ばれるツールを使って、ゲームの展開を作成することが出来る機能です
略して「ビジュアルスプリクティングシステム!」
ゲーム開始から終わりまで、全てブループリントでコントロールします
そもそもあなたにブループリントの知識は必要ですか?
ブループリントは、プログラミングの知識が無くても直感的に操作できる事が謳い文句として見かけますが
超激難しいです
そもそも、UEを映像制作のツールとして使う場合は、ブループリントを使う機会はほとんどありません
※私は現在も映像制作の仕事でUEを使っていますが、ブループリントを触っていません
UEを映像制作メインで使用したい方は、最初に、マテリアル・シーケンサー・Niagaraを抑える事を強くお勧めします
特にマテリアル機能はブループリントと同じくノードを使用し、操作に共通項が多いので、あとからブループリントを使いたくなった時に理解度が深まります
マテリアル編集画面
ブループリントと同じく、ノードを使って作り上げる
私がUEを始めた時はまだ映像制作としてのUEのノウハウがあまりなく、片っ端から習得せねばならぬ思い込みから闇雲にブループリントを勉強していました
しかし、実際の現場ではブループリントは全く使うことはなく、まだ予習が済んでないマテリアルやシーケンサーを体当たりで使ってきました
ここで思いました
「ブループリントって万人がやるべきことなのかな?」
ブループリントは冒頭で書いたように、とても難易度が高いので、UEを使う目的と照らし合わせてチャレンジしてみてください
私はUEを初めて習得する途中で、初心者すぎる質問を連投して苦言を呈されたことがあり、しょっぱい思い出があります
ブループリントエディタの主なインターフェース
- コンポーネント
アクター(立方体やスケルタルメッシュなど多岐に渡る)を構成するパネル - マイブループリント
関数や変数を作成するパネル - ビューポート
コンポーネントで構成したアクターをプレビュー確認するパネル - イベントグラフ
ノードベースでプログラミングを構築するパネル - 詳細
選択したアクター・関数・ノード等に対するパラメータを表示するパネル
初心者が知っておく事
初心者が知っておくブループリントの種類
種類 | 機能 | 開き方 |
---|---|---|
レベルブループリント | 開いているレベルをコントロールするための機能 | レベルエディターのツールバー⇒パルスマーク⇒プルダウンメニューより選択 |
ブループリントクラス | レベルに配置されているアクター(人・スイッチ・小物等)にイベントを設定するための機能 | ①コンテンツブラウザ⇒余白右クリックより選択 ②既に作成したアクターに、後付けてBP機能を追加する事も可能 該当アクター選択⇒[詳細]⇒右揃アイコンクリック |
初心者が知っておく親クラス
親クラスの設定は、ブループリントクラスを作成する時に必須で設定します
※レベルブループリントには無
多量の親クラスはありますが、初心者がよく利用するものをご紹介します
Actor | ドアや照明など、物に対する設定を行う場合の親クラス |
Charactor | 人物に対する設定を行う場合の親クラス |
GameModeBase | ゲーム全般の流れの設定を行う場合の親クラス |
目的に沿った親クラスの選択は重要です
人物のブループリント設定を行いたいのに、Charactorを選ばずActorを選ぶなど、親クラスの選択を誤ると永遠にやりたいことにたどり着けない場合があります
初心者が知っておくノード
ノード名 | 機能 | 画像 |
---|---|---|
BeginPlay | ブループリントを作成すると、デフォルトで表示されているノード ゲーム開始時に、1回だけ再生する指令を出す | |
Tick | ブループリントを作成すると、デフォルトで表示されているノード ゲーム再生時に、繰り返しループで再生する指令を出す DeltaSecondsピンでループ時間を指定する | |
キーボード | キーボードの各ボタンをノードで設定することが出来る 例えば、スペースバーを押すとイベントが発生するといった設定が出来る | |
SpawnActor | レベルにアクターをスポーン(出現)させるノード ※レベルBPで設定可能 Classピンで生成させるアクターを指定 SpawnTransformで出現位置を指定 ※出現位置は[MakeTransform]ノードで指定 | |
PrintString | デバッグ機能を持つノード InStringピンで入力した文言を、ゲーム再生時に左上で表示することが出来る 文言が無事再生できれば、ノード組が成功している事を確認できる | |
ブランチノード | True(成功)、False(失敗)の分岐を設定するノード | |
ForLoop | ループ回数を命令するノード FirstIndexピン・LastIndexピンでループ回数を指定する | |
ForEachLoop | 配列でそれぞれ設定した項目をループするノード Arrayピンで配列を呼び出すことが出来る | |
Set/GetActorLocation Set/GetActorRotation | アクタのトランスフォームを設定するノード Get:取得 Set:設定 ターゲットピンにselfを入力すると現在位置が設定される | |
DestroyActor | アクターをレベルから消すノード 負けるときに、よく使用される | |
Delay | Durationピンに入力した秒数後にイベントが起きる設定をするノード DestroyActorノードとセットで使われることが多い (例:敵が負け確定後、3秒後に消える) | |
IsValid | inputObjectピンで設定したアイテムが、ゲーム全体の中で存在しているかどうか確認するノード | |
SetVisibility | アクタが特定のアクションを行った場合、表示/非表示を設定するノード (例:主人公がドアを開くと、非表示だった部屋の中が表示される) | |
timeline | タイムラインの値に準じた動きを設定するノード (例:ボタンを押すとドアが開く) | |
SpawnSystemAtLocation | Naiagaraシステムをレベルに配置してスポーン(発生)させるノード |
アンリアルクエストにチャレンジする時に、よく見かけました
初心者が知っておくコンポーネント
ブループリントエディタのコンポーネントから、レベルエディタで追加出来るアクター全てを作成することが出来ます
注意点として、選択した親クラスによって、デフォルトで作成されているコンポーネントが異なりますので、目的に沿った親クラスを選択する必要があります
特に、親クラス:Charactorにした場合、CharactorMovementというコンポーネントがデフォルトで存在し、歩く・飛ぶなど、人の動きに特化したアクションを設定することが出来ますが、他の親クラスにはCharactorMovementはありません
初心者が知っておく変数
変数とは、情報の取得方法を設定する機能の事です
マイブループリントパネルでカスタマイズして作成することが出来ます
関数の種類 | 機能 |
---|---|
Boolean | 0か1で判定する ※Yes/Noで判定 |
Integer | 整数を入力する ※ゲーム中カウントを行う場合に使用されることが多い |
Float | 小数点を含めた数字を入力する ※速度計算など、細かな数値の取得が必要な時に使用される |
String | 文字を表示する |
Vector | トランスフォーム数値のXYZ・色の数値RGBなど、3つの値を入力する 値は3つに限らず、2つや4つの場合アリ |
Structure | Mesh・Materialなどの情報を呼び出す |
ブループリントを深く学ぶ~オススメ書籍とオンライン講座~
ここまで書いてワクワクした方
おめでとうございます!
適性があります!
習うより慣れろで、まずは小さく作ってみるのが良いでしょう
当ブログで、完全初心者の私が簡単なゲームを作った記事を書きましたので、ゲーム制作の第一歩としてご活用ください
当ブログでご紹介した内容以外にも、まだまだ前提知識が必要です
本腰入れて学びたいと覚悟が決まりましたら、以下書籍を一通り進める事を推奨します
あとは、雪だるま式に、小さな作品からひたすら作り続けて積み上げ続けるのみです
詰まった部分を都度、ネットや書籍で逆引き検索していくのが効率的でしょう
逆引き参考書として活用できるのが以下書籍となります
すべて自分でBPを作らなくても、マーケットプレイスから拝借して効率化を図るのもアリです
最低限の参考書進めたら、もう作って!!
早よ!!
UnrealEngineフォーラムサイトで質問を投げる事も可能ですが、いろんな方が回答してくださるので、初歩的な質問に対して辛辣な場合があります
この事を踏まえて、フォーラムサイトの活用検討してみてください
以前執筆した「猫でも分かる」受講記事でも、ブループリントの詳細についてレポートしています
参考文献
いつもありがとうございます!
コメント