ブループリント マクロ ライブラリ

他のブループリントで再利用するマクロを宣言および定義するブループリント

Windows
MacOS
Linux

ブループリント マクロ ライブラリ (Blueprint Macro Library)マクロ または内蔵グラフのコレクションを保持するコンテナで、 別のブループリントにノードとして配置することができます。実行とデータ移行のための入出力の両方が付いていて、 よく使うノードのシーケンスを格納できるため、時間を短縮できます。

マクロは参照されるすべてのグラフで共有されますが、 コンパイル時の折りたたまれたノードのように、グラフへ自動的に展開されます。つまり、ブループリント マクロ ライブラリではコンパイルが必要ありません。ただし、マクロへの変更は、 これらのグラフを含んだブループリントが再コンパイルされた時に そのマクロを参照するグラフのみに反映されます。

ブループリント マクロ ライブラリの作成

ブループリント マクロ ライブラリはパッケージに格納されており、他のアセットと同様にコンテンツ ブラウザで作成することができます。

  1. コンテンツブラウザ New Asset button ボタンをクリックします。

  2. メニューが表示されたら、 [Create Advanced Asset (詳細なアセットを作成)] から [Blueprints] > [Blueprint Macro Library] を選択します。

    new_asset_macrolib.png

  3. ブループリント マクロ ライブラリから [Parent Clasee (親クラス)] を選択します。

    Choose a Parent Class

  4. コンテンツブラウザ にマクロ ライブラリが表示されます。コンテンツブラウザ のアイコンの下に、ブループリント ライブラリの名前を入力します。

    name_macro_library.png

    ブループリント マクロ ライブラリを初めて作成、もしくは ブループリント エディタ で変更を加えると、コンテンツブラウザの [Blueprint Macro Library] のアイコンにアスタリスクが追加されます。これは、ブループリント マクロ ライブラリが保存されていないことを意味します。

    unsaved_macro_library.png

コンテンツ ブラウザ からブループリント マクロ ライブラリの作成メニューにアクセスする方法はあと 2 種類あります。

  1. コンテンツ ブラウザ の [Asset Tree (アセット ツリー)] パネル (右側)、あるいは、 コンテンツ ブラウザ の [Asset Tree] パネル (左側) のフォルダを 右クリック します。

  2. メニューが表示されたら、 [Create Advanced Asset (詳細なアセットを作成)] から [Blueprints] > [Blueprint Macro Library] を選択します。

    rt_click_content_browser_macrolib.png

  3. [Pick Parent Class (親クラスを選択)] ウィンドウが表示されたら、ここからは [New Asset (新規アセット)] ボタンを使う作成プロセスと同じになります。

ブループリント マクロ

ブループリン トマクロ または マクロ は、本質的にノードの折り畳まれたグラフと同一です。トンネルノードで指定される エントリーポイントと出口点があります。それぞれのトンネルは、別のブループリントやグラフに使用されるとマクロノード上で可視化できる 実行またはデータピンがいくつもあります。

ブループリント マクロの作成

ブループリントマクロは Blueprint 関数と同様に、Blueprint クラスまたは Level ブループリント内で作成することができます。これらをブループリント マクロ ライブラリとしてまとめることもできます。

以下の方法でブループリント クラス、Level ブループリント、ブループリント マクロ ライブラリ内にブループリント マクロを作成します。

  1. 関数リストヘッダー myblueprint_macro.png [Add (追加)] ボタン plus_Button.png をクリックして、[My Blueprint] タブで新規マクロを作成します。

  2. ブループリント マクロの名前を入力します。

    name_macro_blueprint.png

ブループリント エディタの [Graph] タブで、ブループリント マクロが新規のタブとして開きます。

ブループリント マクロは、[My Blueprint] タブを右クリックして、[Macro] を選択して作成することも出来ます。

add_macro_rtclick.png

マクロ ライブラリの構築

ブループリント マクロを初めて作成すると、 Inputs トンネルノードと Outputs トンネルノードが格納された新規のグラフが開きます。

input_output_macro.png

ブループリント マクロの [Details] ペインで、実行およびデータの入出力ピンを追加することができます。ブループリント マクロの [Description (説明)][Category (カテゴリ)][Instance Color (インスタンス カラー)] を設定することもできます。

new_macro_details.png

以下の手順で、入力または出力パラメータを追加します。

  1. [Details (詳細)] ペインの [Inputs (入力)] または [Outputs (出力)] セクションのいずれかの[New (新規)] ボタンをクリックします。

  2. 新パラメータに名前をつけて、ドロップダウン メニューを使用してタイプを設定します。この例では、 Score という Integer データの入力パラメータ、Test という入力実行ピン、Win および Lose という名前の 2 つの出力実行ピンがあります。

    macro_details.png

    ブループリント マクロ グラフのトンネルノードは、自動的に正確なピンで更新されます。

    macro_tunnels_with_pins.png

  3. パラメータの入力を拡大することによって、デフォルト値を設定することも出来ます。

    macro_details_expanded.png

ノード端にあるパラメータのピンの位置を変更したい場合、[Details] ペイン入力を展開して上下の矢印キーを使用します。

ブループリント マクロに機能性を持たせるには、データと実行ワイヤーを InputsOutputs トンネルノードのピンと接続して、間にネットワークを作成します。

score_comparison_example_macro.png

この例のブループリント マクロは、Macro に入力されるスコアが勝つために必要なスコアを上回る大きさであるかをチェックし、 比較結果に基づいて、別の出力実行フローをトリガーします。TestScore ピンは、ブループリント マクロ グラフでワイヤーが交差するのを防ぐために [Details (詳細)] ペインで上下矢印キーを使用してフリップされることに留意してください。

move_pin_arrows.png

関数と違ってマクロは 1 つ以上の実行ピンを持つことができます。つまり、別の出力実行ピンを、グラフロジックの結果に基づいてアクティベートするという 実行フローを使用することができます。また、Macro 内のノードが実行ノードではない限り、単にデータを操作する実行ピンを持たない Macro を持つことができます。

data_macro.png

ブループリント マクロ ライブラリに格納されたマクロの使用

ブループリント マクロ ライブラリにマクロを格納すると、プロジェクトの期間中ずっと Blueprint クラスと Level ブループリントを使用することができます。

Macro ノードを別のブループリント グラフへ追加する方法はいくつかあります。Function ノードや Custom Event Call ノードのように、ブループリントのグラフから 複数の Macro ノードのコピーを追加することができます。

マクロを追加するには、グラフを 右クリック して表示されるコンテキストメニューで [Macro] を選択します。

right_click_add_macro.png

または、別のノードのピンをドラッグ、ドロップします。対応する変数タイプとフロー方向のパラメータピンがある場合、コンテクストメニューにマクロが表示されます。

pin_macro_summon.png

Macro ノードがグラフへ追加されると、その他のノード同様に動作して入出力ピンは状況に応じてワイヤー接続されます。いずれかの Blueprint グラフのマクロを ダブルクリック すると そのマクロのグラフが開きます。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback