アクション RPG (ARPG) をプレイしているとき、倒した敵 1 体につき 1 つの魂がプレイヤーに与えられます。その後プレイヤーは、集めた魂を使ってゲーム内のストアでポーションや武器を購入できます。このシステムはその通りに機能しますが、倒した敵 1 人につき 1 つの魂をただ得るだけでは、単調な作業となりプレイヤーを飽きさせてしまいます。以下の操作ガイドでは、敵の設定を行い、それを倒した際にランダムな量の魂がプレイヤーに授与されるようにします。
ステップ
アクション RPG の最新バージョンでは、すでに以下の設定と機能があります。
-
まず、[Content Browser (コンテンツブラウザ)] で、BP_EnemyCharacter ブループリント を探しダブルクリックして開きます。
クリックしてフルサイズで表示
-
BP_EnemyCharacter ブループリントが開いたら、[Functions] リストの[+ (プラス記号)] ボタンをクリックして新しい関数を追加し、「SpawnLoot」 という名前を付けます。
-
グラフの SpawnLoot ノードを選択し、[Details (詳細)] パネルの [Inputs] セクションの下に、「Quantity」という名前の新しい 整数 (Integer) 入力を追加します。
-
グラフに次のノードを追加します。これらのノードを使用することで、箱の中のランダムな場所にランダムな量の魂をスポーンできるようになります。
ブループリント ノード名 デフォルト値 For Loop N/A Get Actor Location N/A Random Point in Bounding Box Box Extent X: 40、Box Extent Y: 40、Box Extent Z: 40 Spawn Actor From Class N/A -
Spawn Actor From Class ノードの [Select Class] 入力をクリックし、表示されたリストから BP_SoulItem ブループリントを検索して選択します。
-
次に、GetActorLocation ノードの [Return Value] を Random Point in Bounding Box ノードの [Origin] 入力に接続します。こうすることで、魂がスポーンされたとき、それら魂がすべて、お互い重ならないようになります。
-
For Loop の出力 [LoopBody] を SpawnActor ノードの入力に接続し、Random Point in Bounding Box ノードの [Return Value] の出力を SpawnActor ノードの [Spawn Transform] 入力に接続します。
-
この関数を終了するには、SpawnLoot ノードの出力を ForLoop ノードの入力に接続してから、SpawnLoot ノードの [Quantity] 出力を ForLoop ノードの [Last Index] 入力に接続します。これらすべてが完了すると、ブループリントは次の図のようになります。
クリックしてフルサイズで表示
-
次は、イベントグラフに行き、EventDestroyed イベントを探します。
-
EventDestroyed の最後に移動して、イベント グラフに次のノードを追加します。
ノード タイプ ノード名 デフォルト値 インスタンスが編集可能か Integer SoulMIN 1 可能 Integer SoulMAX 1 可能 Spawn Loot N/A N/A N/A SoulMIN および SoulMAX インスタンスを編集可能にするには、[Variables (変数)] パネルに移動して、変数名の横にある [目] のアイコンをクリックします。
-
上記のノードを使用して、プレイヤーが敵を倒したときに SoulMIN と SoulMAX の間にランダムな量の魂が出現するように設定します。これを機能させるには、次の図に合わせてノードを設定します。
-
1 キルあたりの魂の量がランダムとなる設定ができたら、[Set Collision Object Type] の出力を下の図のように Add Souls ノードの入力に接続します。
クリックしてフルサイズで表示
新しいロジックの後に “Parent: Destroyed” ノードを再接続することを忘れないでください。
-
それが完了したら、[Compile (コンパイル)] ボタンと [Save (保存)] ボタンを押してから BP_EnemyCharacter ブループリントを閉じ、NPC_GoblinBP_Level_01 ブループリントを開きます。
-
NPC_GoblinBP_Level_01 ブループリントを開いた状態で、[Details (詳細)] パネルに移動し、[Default] セクションの下にある SoulMIN および SoulMAX の入力を探します。
-
SoulMIN と SoulMAX の入力が見つかったら、SoulMIN に 「1.0」、SoulMAX に「3.0」の値を入力します。
-
それでは、残りの NPC Goblin Blueprints を開き、以下の SoulMIN と SoulMAX の番号を入力してください。それが完了したら、必ず各ブループリントを [Compile (コンパイル)] して [Save (保存)] してください。
ブループリント名 SoulMIN SoulMAX NPC Goblin Level 01 01 03 Goblin NPC Level 02 03 05 NPC Goblin Level 03 05 10 上で行っていることは、ゴブリン NPC の設定で、そのゴブリン NPC のレベルに基づいて異なる量の魂を付与するようにしています。レベル 01 のゴブリンは最小限の量の魂を付与し、レベル 03 のゴブリンは最大量の魂を付与します。
最終結果
ARPG を起動すると、次のビデオのように、倒した敵それぞれに応じてランダムな量の魂をプレイヤーに付与できるようになりました。