マクロを作成する

マクロは、プレイヤー キャラクターがジャンプするのに十分なエネルギーを持っているか確認するために使用します。

Choose your operating system:

Windows

macOS

Linux

マクロ は実質上、折り畳まれたグラフのノードと同じです。マクロには、トンネル ノードで指定される入口ポイントと出口ポイントがあります。トンネルは、それぞれ任意の数の実行ピンまたはデータピンを持つことができます。こうしたピンは別のブループリントやグラフで使用されるとマクロノード上で見ることができます。

マクロを作成する

この例では、プレイヤー キャラクターがジャンプするのに十分なエネルギーを持っているかをチェックするために使用する マクロ を作成します。ジャンプするのに十分なエネルギーを持っていれば、プレイヤーからエネルギーを差し引き、その現在値を画面に出力し、ジャンプを許可します。十分なエネルギーがなければ、エネルギー不足である旨を画面に出力し、ジャンプさせないようにします。

ここでは スターター コンテンツ を有効にした状態で Blueprint Third Person Project を使います。

  1. Content/ThirdPersonBP/Blueprints 」フォルダで ThirdPersonCharacter ブループリントを開きます。

  2. [My Blueprint] ウィンドウで、 [Add Macro (マクロ追加)] ボタンをクリックします。

    MacroHT1.png

  3. 新しいマクロが作成されます。それを選択して F2 を押して名前を 「 EnergyCheck 」 に変更します。

    MacroHT2.png

  4. マクロを選択した状態で [Details (詳細)] パネルで、 [New] ボタンをクリックして、入力を 1 つと出力を 2 つ作成します。

    MacroHT3.png

    これで、マクロ ノードの入出力ノードが作成されました。入出力ノードは、マクロのデータの受け渡しに利用できます。

  5. [Inputs] のテキスト ボックスに 「BeginCheck」 という名前を入力し、その型を Exec (実行可能ピン) に変更します。

  6. [Outpus] については、ひとつは 「HasEnergy」 、もうひとつは 「NoEnergy」 と名前を付けて、両方とも Exec 型にします。

    MacroHT4.png

    入力については、 BeginCheck と呼ばれる実行ピンを使用してマクロを開始します。プレイヤーがジャンプするのに十分なエネルギーを持っているかをチェックするスクリプトを作成します (十分なエネルギーを持っていれば、 HasEnergy ピンに接続します)。十分なエネルギーを持っていなければ、 NoEnergy ピンに接続します。このマクロを実装すると、 HasEnergy ピンは Jump コマンドに送られます。 NoEnergy ピンは送られません。

  7. [MyBlueprint] ウィンドウ内で、 [Add Variable (変数を追加)] ボタンをクリックします。

    AddVariableButton.png

  8. 変数に 「 Energy 」 と名前を付け、 Float 型に変更し、ツールバーから [Compile] をクリックし、その値を 100 に設定します。

    MacroHT5.png

    これで、100 に初期化されたプレイヤーのエネルギーの変数が用意できました。

  9. Inputs の隣のグラフで、 B キーを押したまま、 左クリック して、 Branch ノードを作成します。

  10. Ctrl を押したまま、 [My Blueprint] ウィンドウから Energy をグラフにドラッグして、それを > ノードに接続し、 Branch に接続します。

    MacroHT6.png

    ここでは、Branch を使用して、エネルギーが > 0 であるかを判定し、 > 0 であれば True が実行されます。そうでなければ False が実行されます。

  11. Alt を押しながら Energy 変数をドラッグして Set ノードを追加します。

  12. Ctrl を押しながら Energy を再度ドラッグして、それを - ノードに接続して 10 に設定し、 Set ノードに接続します。

    MacroHT7.png

    このスクリプトは、エネルギーが > 0 であれば現在のエネルギー値から 10 を差し引くことを表しています。

  13. グラフを 右クリック して Print String ノードを追加し、 Energy In String ピン に接続します。

    MacroHT8.png

    Conversion ノードを追加します。これは、エネルギー値を画面に出力する文字列に変換し、その値を表示します。

  14. Branch False ピンから、 Print String を追加し、ボックスに 「 Out of Energy! 」 というテキストを入力します。

  15. 両方の Print String ノードを HasEnergy ピンと NoEnergy ピンに接続します。

    MacroHT9.png

    これで、マクロは Energy 変数をチェックする (該当する場合はエネルギー変数から差し引く) ようにセットアップされ、プレイヤーが十分なエネルギーを持っているか否かを出力します。これはプレイヤーがジャンプできるか否かを判定するために使用されます。このマクロをジャンプ実行前の Jump キーを押した後に実装する必要があります。

  16. EventGraph で、 InputAction Jump Pressed ピンをドラッグし、 EnergyCheck を検索します。

    MacroHT10.png

    作成したマクロが Utilities の下に一覧表示され、その名前の隣にマクロ アイコンがあるのがわかります。

  17. マクロを追加したら、このジャンプ スクリプトは以下のようになるはずです。

    MacroHT11.png

  18. [Compile (コンパイル)] ボタンと [Save (保存)] ボタンをクリックし、ブループリントを閉じます。

  19. メインツールバーで [Play] ボタンをクリックして、エディタで再生します。

    ジャンプするために スペースバー を押すと、 Energy の値が画面の左上隅に出力されます。 Energy が 0 だと、もうジャンプできません。

    これは、マクロを使用して、スクリプトを実行し、統合して単一ノードにし、イベント グラフとメイン キャラクターのスクリプトの可読性を向上させる基本的な例です。さらに、このマクロを他のインスタンスでも呼び出すことができます。例えば、プレイヤーのエネルギーを減らす他のアクションがあって、そのアクション (例、攻撃) を行うのに十分なエネルギーを持っているかをチェックしたい場合があるとします。このマクロを実行して、Attack キーを押した後に、プレイヤーが十分なエネルギーを持っているかをチェックし、 HasEnergy 実行ピンから攻撃を実行することができます。

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