目次
はじめに
注意
UE5Preview1の現在の情報です。
今後のアップデートによりUIや機能が変更される可能性があることをあらかじめご理解ください。
今回はブループリントを作成してモノを動かしてみたいと思います。
解説
①動かすモノを作ろう
前回の記事を参考にプロジェクトを開きましょう。
レイアウトの保存の解説時に追加した
アクタを配置というウィンドウを開きます。
Unityなどのゲームエンジンではゲーム上のあるモノのことをオブジェクトと呼びますがアンリアルエンジンではアクタと呼びます。
試しに形状>キューブを選びをマップ上にドラッグアンドドロップしてみましょう。
右上のアウトライナーにCubeが追加されています。
アウトライナーはレベル(マップ)上のアクタの一覧を表示してます。
詳細ウィンドウには選択されたモノの位置や回転コリジョンなどが表示されます。
詳細ウィンドウは選択されたアクタの情報を表示します。
作成されたCubeをアウトライナーから選択されている状態でF2を押してみましょう。
名前の変更ができるはずです。TargetCubeと名前を変更します。
②用語解説とレベルブループリント
<用語の説明>
まずレベルとは何か解説します。
ざっくりいうとレベルとはUnityでいうシーンであり、
大量のアクタを所有する大きな塊です。
ゲームを起動したときにどのステージを遊ぶか決めますよね?
そのときにステージに応じたレベルが読み込まれるということです。
レベルとはUnityでいうシーンのことでありマップのことである。
次にブループリントとは何か説明すると。
公式ページより
Unreal Engine の ブループリント ビジュアル スクリプティング システムは、ノードベースのインターフェースを使用して Unreal Editor 内からゲームプレイ要素を作成するゲームプレイ スクリプティング システムです。一般的な多くのスクリプト処理言語と同様に、このシステムは、Engine でオブジェクト指向 (OO) のクラスやオブジェクトを定義するために使用します。UE4 を使う場合、ブループリントを使用して定義したオブジェクトは通常、単純に「ブループリント」と呼びます。
。。。
ざっくりいうとプログラム言語をとか知らなくてもノードを繋げるだけでゲームのロジックがかけるよってことです。
ブループリントとはノードを繋げるだけでロジックが書けるアンリアルエンジンで使えるツール
以上のことから、レベルブループリントとは
言葉の通りレベル(シーン)に用意されているブループリント(ロジックを書く)ところということです。
<レベルブループリントを開いてみよう>
画面左上のアイコンからレベルブループリントを開くという項目があります。
押してみましょう
開くとこんな感じのウィンドウが開きます。
③アクタを開始時にワープさせる
レベルブループリントからはレベル上のアクタの情報を取得して変更することができます。
実際にやってみたほうが分かりやすいと思うので上のレベルブループリントタブをドラッグしてアウトライナーが見えるようにします。
TargetCubeをアウトライナーから選択してレベルブループリントのイベントグラフにドラッグアンドドロップしてみましょう。
するとノードが作成されます。
作成されたノードのピン(右側のまるいヤツ)からマウスをクリックしながら横に伸ばして何もないところで離します。
すると画面のように検索窓が出てきます。
試しにSetActorLocationと検索してみましょう。
SetActorLocationはワールド座標でアクタの位置をNewLocationの位置に移動させる
該当のノードをクリックします。
こんな感じにつながればOKです。
次にイベントBeginPlayを出してみましょう。
何もないところで右クリックして、、
検索します。
イベントノードは赤く表示されます。
このノードはゲームがはじまった瞬間に
一度だけ呼ばれます。
BeginPlayは始まって一度だけ呼ばれる
ピンを繋げてLocationの値を画像のように変更します。
また、アクターを移動されるには可動性をムーバブルにします。
実行してみましょう。
TagetCubeの位置がNewLocationで指定した位置にワープします。
④アクタを少しづつ動かしてみよう
レベルブループリントに戻って検索窓にTickと検索してつなぎなおします。
ノードを外すときはピンの上でAlt+クリックです。
イベントTickは毎フレーム呼ばれます。
例えば一秒間に60回画像が切り替わる場合は毎秒60回呼ばれます。
画像のように
TargetCubeからGetActorLocationで位置を取得してワールド座標Zに1を足し算したものをNewLocationに接続します。
GetActorLocationはアクターの位置をワールド座標で取得します。
実行すると毎フレームZ方向に1づつ上昇するはずです。
ココの足し算する値を変更すると速さや方向を変更できます。
いろいろな値を入れて動作が異なることを確認してみましょう。
最後に
UE4やUE5向けの記事を書いています。
皆様の応援が投稿のモチベーションになりますので
コメントやTwitterのフォローなどしていただけるとありがたいです。
それではよきゲーム開発を。