ピックアップを追加する

プレイヤーのピックアップとしてワールドに配置できるアイテムの作成方法を確認します。

Windows
MacOS
Linux
コンテンツ

デフォルトでは、アクション RPG (ARPG) のプレイヤーは、ストアから購入したアイテムのみを使用できます。しかし、プレイヤーがアイテムを取得する方法はストアからの購入だけではありません。次の操作ガイドでは、ワールドに配置してプレイヤーが拾うことができるピックアップの作成方法について説明します。

手順

  1. 最初に、SK_Blunt_Hambone スケルタル メッシュとそのすべてのアセットを Infinity Blade Weapons から アクション RPG プロジェクトに移動します。

時間とリソースを節約するために、アクション RPG (ARPG) にあるアイテムの多くは既存のプロジェクトから ARPG に 移行 されました。移行されたコンテンツが見つからない場合は、「コンテンツを移行する」を参照してください。

  1. 次に、「Items」の下に「Pickups」という名前で新しいフォルダを作成します。 

  2. 次に、「Blunt_Hambone」フォルダを「Pickups」フォルダにドラッグします。

    image6.png

  3. 「Blunt_Hambone」フォルダから次のフォルダを削除します。これらはプロジェクトが使用する命名規則に準拠していないためです。

    • InfinityBladesWeapons

    • Weapons 

    • Blunt

  4. 次に、フォルダ名とさまざまなアセットのすべてから「Blunt」という単語を削除します。

    クリックしてフルサイズで表示。

  5. 必要なすべてのコンテンツを追加して名前を変更したら、「Hambone」フォルダが選択されていることを確認します。そして、[Content Browser (コンテンツブラウザ)] 内を右クリックし、表示されたリストから [Blueprint Class] オプションを選択します。

    image5.png

  6. 新しいブループリント BP_Pickup_Hambone に名前を付けてダブルクリックして開きます。

    クリックしてフルサイズで表示。

  7. [Components (コンポーネント)] セクションで、次の設定を使用して以下のコンポーネントを追加します。

    image9-1.png

    コンポーネント名

    コンポーネント値

    Sphere Collision

    Radius = 64

    Skeletal Mesh

    SK_Hambone

  8. 次に、[Variables (変数)] セクションで、変数 タイプRPGItem、デフォルトのポーション タイプが Potion_Health の「PotionType」という名前の新しい変数を作成します。

    image13.png

  9. [Components (コンポーネント)] タブの [Sphere] コリジョンを選択し、[Details (詳細)] パネル、[Events] の下にある [On Component Begin Overlap] オプションの [+] 記号をクリックして、イベント グラフに追加します。

    image17.png

  10. イベント グラフに追加する必要がある最初のノードは、Cast To BP_PlayerCharacter ノードです。これにより、プレイヤーだけがピックアップを使用でき、敵は使用できなくなります。ノードが追加されたら、下の画像と一致するように、On Component Begin Overlap ノードに接続します。

    クリックしてフルサイズで表示。

  11. 次に、プレイヤーがピックアップに当たり通過した時に、プレイヤーの動きが止まらないようにする必要があります。これを実現するには、イベント グラフに Set Collision Enabled ノードを追加し、New Type 入力が No Collision に設定されていることを確認します。完成すると、イベント グラフは次の図のようになります。

    クリックしてフルサイズで表示。

  12. 今度は、ピックアップしたアイテムをプレイヤーのインベントリに追加できるように、イベント グラフに次のノードを追加する必要があります。

    • Add Inventory Item

    • Get Player Controller BP

    • Potion Type Reference

    image10.png

  13. ポーションを現在のインベントリに追加するには、まず Potion Type 変数を Add Inventory Item ノードの New Item 入力に接続し、次に Get Player Controller BP を Add Inventory Item の Target 入力に接続します。接続が完了すると、ブループリントは次の図のようになります。

    クリックしてフルサイズで表示。

  14. 次に、Set Collision Enabled ノードの 出力Add Inventory Item ノードの 入力 に接続します。これにより、正しいアイテムが正しいインベントリ枠に追加されます。完成すると、ブループリントは次の図のようになります。 

    クリックしてフルサイズで表示。

  15. 今度は Set Slotted アイテムと Make RPGItemSlot ノードを イベント グラフに追加します。

    image4.png

  16. 次に、拾ったアイテムが正しいインベントリの場所に収まるようにするロジックを設定する必要があります。これを行うには、次の図のように、Make RPGItemSlot の出力を Set Slotted Item ノードの Item Slot 入力に接続します。

    クリックしてフルサイズで表示。

  17. そして、Add Inventory Item出力Set Slotted Item ノードの入力に接続します。それから、Set Slotted Item[Target] 入力を Player Controller に、Item 入力Potion Type 変数に接続します。こうすることで、拾ったアイテムをインベントリの正しいスロットに追加することができます。これらすべての手順が完了すると、ブループリントのこのポーションは次の図のようになります。

    クリックしてフルサイズで表示。

  18. 次に、Destroy Actor ノードを追加し、Set Slotted Item ノードの**出力Destroy Actor** ノードの入力に接続します。このように接続することで、プレイヤーがアイテムの上を歩いてそれを拾う際に、そのアイテムがワールドから確実に消えるようになります。これが完了すると、ブループリントは次の図のようになります。

    クリックしてフルサイズで表示。

  19. 最後に、[Compile (コンパイル)] ボタンと [Save (保存)] ボタンをクリックして作業内容を保存します。

最終結果

BP_Pickup_Hambone が完成したら、BP_Pickup_Hambone ブループリントをコンテンツ ブラウザから ARPG レベルにドラッグして、[Play (プレイ)] ボタンを押します。ゲームがロードされたら、レベル内のピックアップを探し、プレイヤーをそのアイテムにぶつけて通過させます。プレイヤーが BP_Pickup_Hambone ピックアップと接触するとすぐにピックアップは消え、UI とインベントリが更新されて新しいポーションが追加されたことが表示されます。次のビデオでこの例を実際に見ることができます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる