UE5.1からの新機能にSnapと呼ばれるノードが実験的に追加されたそうです。ちょっと面白いノードだったので取り上げてみようと思います。
プラグイン形式になっているので、まずはプラグインをオンにする必要があります。
スナップコンテナを使ってみる
スナップコンテナは検索メニューから探すして配置することができます。
ノードを配置するとこのような感じで見た目がすこし特殊なノードが出現します。
ノードをみてもらうとわかるように枠内に『ノードをここにドラッグ』というような文言があるので、指示通りにすると…
スナップコンテナ内に、ノードが追加されました。注意が必要なのは現状必ずドラッグ&ドロップでしか追加できないという点です。スナップコンテナに対して直接ノードを検索してノードを追加するということができません。
スナップコンテナ自体を開いて中身を確認すると、
単にCollapse(折り畳み)ノード内にSequeceノードが配置されているだけのようです。
次に引数のあるノードを追加すると、
このような感じでC言語の関数を直接書いたような記述になります。引数名が省略されて表示されないので、引数の詳細はマウスオーバーして確認する必要があります。
また引数にノードのピンを渡したい時は同様に引数の上のドラッグ&ドロップすることで、バインドが行なわれます。
引数が長いとノードが非常に横に長くなるので、以下の画像のようにSetノードを並べて配置するなどに使うと丁度いいかもしれません。
まだまだ実験的
スナップコンテナはプラグイン自体がまだ実験的(Experimental)で機能的にまだまだ足りていないようです。コードの中身を読むとTODOが現在も色々あるようです。例えば以下のような内容です。
1. selfノードを合理的に処理する方法を検討
2. 既存の変数に変数をドラッグ&ドロップすると正しく動作しない
3. ドラッグ&ドロップなしで構築するための規定がない(selfピンのメソッドを選ぶためのドロップダウンなど)
4. 変数ピンの1つに接続をドラッグ&ドロップすると何が起きるのか、そうなる理由を明示的にツールチップで表示するようにする
他にもノードを追加した後にノードを削除しようとすると、直接スナップコンテナ内に入って手動で削除したりする必要があったりで、まだまだ使い勝手はこれからという感じがあります。しかしBPでこのような特殊ノードが追加されるのは非常に久し振りなので、どのようになっていくか少し楽しみですね。