Bolt Visual Scripting 紹介

UnityアセットのBoltを購入して使ってみたので、簡単に紹介と、自分の感想を書いてみます。



そもそも何をするものかと言うと

このような、視覚的に表されたプログラムを作ることができます。
どうもこういったプログラムの作り方を Visual Scripting と呼ぶみたいですが、私は初めて知りました😆

Boltの主な機能と思われる、2つの機能を紹介して行きます。



Flow Graph

Flow Graph はプログラムを図で表したものです。
以下実際に Flow Graph を作成してみます。

New Script を追加する時のようなノリで、Add Component から Flow Machine を追加します。
これを専用のウィンドウで開いてみます。


Start と Update の開始ポイントが最初から用意されています。
スクリプトを追加した場合と同じですね。

ここからマウスとキーボードを駆使して、四角やらを線で繋げながらプログラムを書いていきます。
関数呼び出しや、For文などの制御にあたるものが一つの四角で表されます。
基本的にできることはスクリプトと同じで、UnityのAPIも普通に呼ぶことができます。

自作スクリプトのpublic関数もここから呼べる気がするのですが、表示されたりされなかったりしてまだよくわかっていません。



State Graph

State Graph はステートマシンを図で表したものです。
以下実際に State Graph を作成してみます。

こちらも Add Component から State Machine を追加できます。
State Machine を専用のウィンドウで開いてみます。


Start という名前のステートが1つだけぽつんと置かれています。
この Start をさらに開いてみると


先に紹介した、Flow Graph が現れます。
ステートで行う処理を1つの Flow Graph で書くことになります。

State Graph に戻り、新たにステートと状態遷移を追加してみた図。
各種ステートと、遷移する条件を自由に追加することができます。
遷移する条件も Flow Graph で書かれているので、ここには4つの Flow Graph が存在しています。
このように Flow Graph を組み合わせて、ステートマシンを実現します。



雑感

正直なところ、Flow Graph をぽちぽちと作っている時は「普通にコード書いたほうが早いんじゃ…」と思いながらやっていました。しかし出来上がった Flow Graph を見ると、一連の流れが図で表され「おぉ…」というなんとも言えない感慨にふけることができます。
キャスト等も勝手にやってくれたりするので、普通のコードよりもすっきりしているかもしれません。

State Graph については本当に便利そうで、実際にステートマシンをコードで作ると関連がわかりづらかったり、ソースファイルの数も無駄に増えてしまうので、図にまとまっていると非常にありがたい。
なんならこの機能だけをうまく使っても良いかもしれない(既にそういうアセットはあると思うけど)。

あとここでは紹介していないのですが、ゲーム実行中に各種グラフを開くと、実行中のユニットやステートが青く変化したり、エラー箇所は赤く変化したりするので非常に視覚的にわかりやすい。
変数の値や計算中の値も表示されたりするので、デバッグしやすいかもしれません。

更にはアセットストアの紹介画像によると、独自の最適化により reflection performance が劇的に向上しているそうです。すみません、リフレクションってよく分かってません😆

とりあえず全体的に良さそうな印象は持ちました。
実際に1つのゲームで使ってみて、今後も使うか考えてみたいです。


比較

他のこの手のツールを何も持っていないので、比較ができていません。
BoltのWebマニュアルに、アセット毎の機能の比較表が載っているので、参考になるかもしれません。

コメント

このブログの人気の投稿

ミニレギオンの戦い