UnrealEngineの勉強ふりかえり【9週目】ブループリント編
極め本に登場したブループリントの復習noteです。後から振り返りやすいよう、ノード名と、使い方をAIに聞いた回答を貼り付けしておきます。
今回はチャプター15からチャプター22の内容。
【Get Actor Location】
このノードは、指定したアクターの現在のワールド空間での位置を取得するために使用されます。以下の手順に従って、ブループリントで「Get Actor Location」を使用する方法を学びましょう。
手順
1. ブループリントの作成
まず、ブループリントを作成します。以下の手順で進めてください。
コンテンツブラウザを開きます。
右クリックして、ブループリントクラスを選択します。
アクターをベースにしたブループリントを作成します。
作成したブループリントに適当な名前を付けて、ダブルクリックして開きます。
2. イベントグラフの設定
次に、ブループリントのイベントグラフで「Get Actor Location」を使用します。
イベントグラフタブを開きます。
右クリックして、Get Actor Locationノードを検索して追加します。
3. アクターの参照を取得
「Get Actor Location」ノードは、位置を取得したいアクターの参照が必要です。以下の手順でアクターの参照を取得します。
右クリックして、Get a reference to selfノードを追加します。これは現在のブループリントのアクターを参照します。
Get Actor LocationノードのTargetピンに、Get a reference to selfノードの出力を接続します。
4. 位置情報の利用
取得した位置情報を利用するために、例えばログに出力する方法を示します。
Print Stringノードを追加します。
Get Actor LocationノードのReturn Valueピンを、Print StringノードのIn Stringピンに接続します。
Print StringノードのIn Stringピンに接続する前に、Return Valueを**To String (Vector)**ノードを使って文字列に変換します。
5. イベントのトリガー
位置情報を取得するタイミングを決めるために、例えばEvent Tickを使用します。
Event Tickノードをイベントグラフに追加します。
Event Tickノードの出力を、Get Actor Locationノードの入力に接続します。
まとめ
これで、Unreal Engine 5のブループリントで「Get Actor Location」を使用してアクターの位置を取得し、それをログに出力する方法が完了しました。この手順を応用して、位置情報を他の用途(例えば、他のアクターとの距離計算や移動の制御)に利用することもできます。
【Set Actor Location】
このノードは、指定したアクターの位置を設定するために使用されます。以下の手順に従って、ブループリントで「Set Actor Location」を使用する方法を学びましょう。
手順
1. ブループリントの作成
まず、ブループリントを作成します。以下の手順で進めてください。
コンテンツブラウザを開きます。
右クリックして、ブループリントクラスを選択します。
アクターをベースにしたブループリントを作成します。
作成したブループリントに適当な名前を付けて、ダブルクリックして開きます。
2. イベントグラフの設定
次に、ブループリントのイベントグラフで「Set Actor Location」を使用します。
イベントグラフタブを開きます。
右クリックして、Set Actor Locationノードを検索して追加します。
3. アクターの参照を取得
「Set Actor Location」ノードは、位置を設定したいアクターの参照が必要です。以下の手順でアクターの参照を取得します。
右クリックして、Get a reference to selfノードを追加します。これは現在のブループリントのアクターを参照します。
Set Actor LocationノードのTargetピンに、Get a reference to selfノードの出力を接続します。
4. 新しい位置の設定
新しい位置を設定するために、例えば特定の座標に移動させる方法を示します。
Make Vectorノードを追加します。このノードを使って新しい位置の座標を指定します。
Make VectorノードのX, Y, Zピンに新しい位置の座標値を入力します。
Make Vectorノードの出力を、Set Actor LocationノードのNew Locationピンに接続します。
5. イベントのトリガー
位置を設定するタイミングを決めるために、例えばEvent BeginPlayを使用します。
Event BeginPlayノードをイベントグラフに追加します。
Event BeginPlayノードの出力を、Set Actor Locationノードの入力に接続します。
まとめ
これで、Unreal Engine 5のブループリントで「Set Actor Location」を使用してアクターの位置を設定する方法が完了しました。この手順を応用して、アクターの位置を動的に変更したり、特定の条件下で位置を更新することができます。例えば、プレイヤーが特定のエリアに入ったときにアクターを移動させるなど、さまざまなゲームプレイのシナリオに応用できます。
【Set Updated component】
このノードは、ムーブメントコンポーネント(Movement Component)に対して、更新対象のコンポーネントを設定するために使用されます。例えば、キャラクターの移動を制御するために使用されるキャラクタームーブメントコンポーネント(Character Movement Component)に対して、どのコンポーネントを更新するかを指定することができます。以下の手順に従って、「Set Updated Component」を使用する方法を学びましょう。
手順
1. ブループリントの作成
まず、ブループリントを作成します。以下の手順で進めてください。
コンテンツブラウザを開きます。
右クリックして、ブループリントクラスを選択します。
キャラクターをベースにしたブループリントを作成します。
作成したブループリントに適当な名前を付けて、ダブルクリックして開きます。
2. コンポーネントの追加
次に、ブループリントに必要なコンポーネントを追加します。
コンポーネントタブを開きます。
Add Componentボタンをクリックして、新しいコンポーネント(例えば、カプセルコンポーネントやメッシュコンポーネント)を追加します。
3. イベントグラフの設定
次に、ブループリントのイベントグラフで「Set Updated Component」を使用します。
イベントグラフタブを開きます。
右クリックして、Set Updated Componentノードを検索して追加します。
4. ムーブメントコンポーネントの参照を取得
「Set Updated Component」ノードは、ムーブメントコンポーネントの参照が必要です。以下の手順でムーブメントコンポーネントの参照を取得します。
コンポーネントタブで、Character Movementコンポーネントを選択します。
イベントグラフに戻り、Character Movementコンポーネントをドラッグして、Get Character Movementノードを追加します。
Set Updated ComponentノードのTargetピンに、Get Character Movementノードの出力を接続します。
5. 更新対象のコンポーネントの設定
更新対象のコンポーネントを設定します。
コンポーネントタブで、更新対象にしたいコンポーネント(例えば、カプセルコンポーネント)を選択します。
イベントグラフに戻り、選択したコンポーネントをドラッグして、**Get [Component Name]**ノードを追加します。
Set Updated ComponentノードのUpdated Componentピンに、**Get [Component Name]**ノードの出力を接続します。
6. イベントのトリガー
更新対象のコンポーネントを設定するタイミングを決めるために、例えばEvent BeginPlayを使用します。
Event BeginPlayノードをイベントグラフに追加します。
Event BeginPlayノードの出力を、Set Updated Componentノードの入力に接続します。
まとめ
これで、Unreal Engine 5のブループリントで「Set Updated Component」を使用してムーブメントコンポーネントの更新対象を設定する方法が完了しました。この手順を応用して、キャラクターの移動や物理シミュレーションの対象を動的に変更することができます。例えば、特定の条件下でキャラクターの移動を異なるコンポーネントに切り替えるなど、さまざまなゲームプレイのシナリオに応用できます。
【AI Move To】
このノードは、AIキャラクターを指定したターゲットの位置に移動させるために使用されます。以下の手順に従って、「AI Move To」を使用する方法を学びましょう。
手順
1. AIキャラクターのブループリントを作成
まず、AIキャラクターのブループリントを作成します。以下の手順で進めてください。
コンテンツブラウザを開きます。
右クリックして、ブループリントクラスを選択します。
キャラクターをベースにしたブループリントを作成します。
作成したブループリントに適当な名前を付けて、ダブルクリックして開きます。
2. AIコントローラーのブループリントを作成
次に、AIコントローラーのブループリントを作成します。
コンテンツブラウザを開きます。
右クリックして、ブループリントクラスを選択します。
AIコントローラーをベースにしたブループリントを作成します。
作成したブループリントに適当な名前を付けて、ダブルクリックして開きます。
3. AIキャラクターにAIコントローラーを設定
AIキャラクターにAIコントローラーを設定します。
AIキャラクターのブループリントを開きます。
デフォルトのAIコントローラークラスを、先ほど作成したAIコントローラーのブループリントに設定します。
4. ナビメッシュの設定
AIキャラクターが移動できるように、ナビメッシュを設定します。
モードパネルを開きます。
ボリュームセクションからNav Mesh Bounds Volumeを選択し、レベルに配置します。
配置したNav Mesh Bounds Volumeをスケールして、AIキャラクターが移動できる範囲をカバーします。
Pキーを押して、ナビメッシュが正しく生成されているか確認します(緑色のエリアが表示されます)。
5. イベントグラフの設定
次に、AIキャラクターのブループリントのイベントグラフで「AI Move To」を使用します。
イベントグラフタブを開きます。
右クリックして、AI Move Toノードを検索して追加します。
6. ターゲットの設定
「AI Move To」ノードにターゲットの位置を設定します。以下の手順でターゲットの位置を設定します。
ターゲットアクターを指定する場合:
右クリックして、Get Actor Locationノードを追加します。
Get Actor LocationノードのTargetピンに、ターゲットアクターの参照を接続します。
Get Actor Locationノードの出力を、AI Move ToノードのDestinationピンに接続します。
特定の座標を指定する場合:
Make Vectorノードを追加します。
Make VectorノードのX, Y, Zピンに目的地の座標値を入力します。
Make Vectorノードの出力を、AI Move ToノードのDestinationピンに接続します。
7. イベントのトリガー
AIキャラクターを移動させるタイミングを決めるために、例えばEvent BeginPlayを使用します。
Event BeginPlayノードをイベントグラフに追加します。
Event BeginPlayノードの出力を、AI Move Toノードの入力に接続します。
まとめ
これで、Unreal Engine 5のブループリントで「AI Move To」を使用してAIキャラクターを指定した位置に移動させる方法が完了しました。この手順を応用して、AIキャラクターを動的に移動させたり、特定の条件下で移動を開始させることができます。例えば、プレイヤーが特定のエリアに入ったときにAIキャラクターを追跡させるなど、さまざまなゲームプレイのシナリオに応用できます。
今日も日刊ムショクを覗きに来てくれて、ありがとう。
ブループリント、いろいろ触っていきます。
このnoteは「日刊ムショク」と題して、
無色の毎日をつらつらと綴る。
平日は7時ごろ、休日は9時ごろに更新予定。
また明日、時間があれば、覗いてね。
この記事が気に入ったらサポートをしてみませんか?