マクロを作成する

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

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 ノードを追加し、 EnergyIn String ピン に接続します。

    MacroHT8.png

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

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

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

    MacroHT9.png

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

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

    MacroHT10.png

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

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

    MacroHT11.png

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

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

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

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

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