ブループリント内で使える関数とマクロの違いってなんなんですか?
マクロは実行ピンとかローカル変数が使えるので上位互換のように認識しているんですが、関数にしかない用途みたいなのはあるのでしょうか?
マクロは関数の上位互換ではありません
マクロはパターンを収めたテンプレートのようなもので、実行時に中身が展開(置換)されます
マクロにはローカル変数はありますが、実態は匿名変数であり、真の意味でのローカル変数ではありません(マクロの展開位置によっては値が残ります)
マクロは子クラスでオーバーライドすることができず、他のBPから呼び出すことはできません
関数は戻り値があります(マクロの戻り値はRerouteNodeのようなものです)
関数のローカル変数はスコープが限定されており、関数の終了時に破棄されます
関数はオーバーライド可能で、他のBPから呼び出すことができます
3 Likes
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.