Language:
Page Info
Skill Level:
Engine Version:

Blueprint Casting の例

このガイドでは、Blueprint Casting を使って異なるブループリントと通信して情報を共有する方法を説明します。プレイヤーはオブジェクトを撃ち、ヒットした分だけオブジェクトを小さくすることができます。そして、オブジェクトはヒットされるたびに Character ブループリントに通知し、プレイヤーの移動速度を加速します。

このガイドでは、スターターコンテンツ を有効にした状態で Blueprint First Person テンプレートを使用します。

  1. ビューポート で、EditorCube メッシュのひとつ選択し、次に [Details (詳細)] パネルの [Blueprint/Add Script (ブループリント/スクリプトを追加)] ボタンをクリックします。

    Casting1.png

  2. 表示された確認ウィンドウで名前を「LargeCube_Blueprint」に変更し、[Ok] をクリックして名前変更を確定してブループリントを作成します。

  3. コンテンツ ブラウザContent/FirstPersonBP/BlueprintsFirstPersonProjectile ブループリントを開きます。

    Casting2.png

    これは、ゲームプレイ中にプレイヤーが武器を発射する際にアクティベートする発射物用のブループリントです。

  4. Event Hit ノードを検索して Other ピンを引き出し、 Cast To LargeCube_Blueprint ノードを追加します。

    Casting3.png

    Event Hit ノード上で、Other ピンはヒットした別のアクタを参照します。Cast To ノードを使うと、実はヒットした別のアクタである LargeCube_Blueprint かどうかを確認します。そうである場合、それにアクセスしてブループリント内のイベントや関数を実行したり、その中にある変数を変更したり、あるいはブループリント内のコンポーネントのプロパティを変更することができます。

  5. As Large Cube Blueprint ピンを引き出して Get Static Mesh Component 、次に Set World Scale 3D に接続します。

    Casting4.png

    Add Impulse at Location に接続したら、Large Cube Blueprint へキャストし、その中の Static Mesh Component (実際の Cube) を取得し、それに対して新しく World Scale 3D の値を設定します。今、New Scale は 0 に設定されていますが、ヒットするたびに Large Cube Blueprint のサイズを小さくしていきます。

  6. Static Mesh Component を引き出して、Get World Scale を使い、Vector * Float ピン (0.5 に設定) へ接続し、次に New Scale へつなぎます。

    Casting5.png

    これにより現在のキューブの現在のワールド スケールを取得し、ヒットするたびに .5 (または現在のサイズの半分) を乗じてサイズダウンしていきます。

  7. グラフを 右クリック して、Get Player Character ノードを追加します。次に Return Value を引き出して Cast To FirstPersonCharacter を追加します。

    Casting6.png

    ここでプレイヤー キャラクターがこのテンプレートのデフォルトである FirstPersonCharacter ブループリントを使用しているかを確認しています。これにより、プレイヤー キャラクターのイベント、関数、変数、プロパティにアクセスして修正することが可能になります。

  8. Set World 3D ノードを Cast To FirstPersonCharacter ノードに接続します。

  9. As First Person Character ピンを引き出して、 Get Character Movement を追加します。

    Casting7.png

    Large Cube にヒットするたびに、キャラクターの速度を調節して、走行速度を速くします。

  10. Character Movement ノードを引き出して、Set Max Walk Speed ノードと Get Max Walk Speed ノードを追加します。

  11. Get Max Walk Speed を引き出して、 Float + Float を使い (200 に設定) 、 Set Max Walk Speed ピンへ接続します。

    Casting8.png

    下図のようにノードが接続されると、キューブがヒットするたびにプレイヤー キャラクターの動きを速くすることができるようになります。

  12. Cast To ノードの両方とも、Cast Failed ピンを Destroy Actor ノードに接続します。

    Casting9.png

    プレイヤーが Large Cube 以外の何かにヒットした場合も、発射物を壊すために Destroy Actor を呼び出します。Large Cube にヒットした場合、キューブにヒットしたのが First Person Character でなければ、やはり発射物を壊します。

  13. Projectile ブループリントの完成したシーケンスは以下のようになるはずです。

    画像をクリックしてフルサイズで表示

    ここでは分かりやすいように Reroute ノード を使ってワイヤーのフローを調整しますが、接続は同じにしてください。

  14. [Compile][Save] をクリックしたら [Play] ボタンをクリックしてエディタで再生します。

    Large Cube ブループリントを撃つたびに小さくなり、キャラクターの移動が速くなります。

    Casting とユースケースの詳細については、以下の Related Topics セクションを参照してください。