アセット紹介:ビジュアルスクリプトのBOLT
- BTA(Kelorin Jo)
- 2019年11月22日
- 読了時間: 4分
更新日:2020年3月21日
これまた先日の半額セールで、気になってたBOLTを購入しました
※Entyにも書いたけど、Entyはなんか検索に出ないような・Unityの広告貼れるとこで記事書いた方が理にかなってるのではと判断して、こちらにも書きます 。
https://assetstore.unity.com/detail/tools/visual-scripting/bolt-87491
大きな特徴は、
2019/11/21現在、Unity2017.4でも動作するという点です。
Playmakerは2018以降でしか動かなかったはずで、大抵のアセットが2018以上に移行な中、ひょっとしたらVRチャットに使えるかもしれないと。

実行時にプログラムの流れや変数の変異が見えるのが心強い。
そうかUE4はこういう使い勝手なのか…と勝手に想像します
インストール
インポートしても展開されるのはインストーラで、そこからさらにパッケージ展開します。なぜそんな仕様に…?
上メニュー/Tools/Install Boltで手動でインストールになります
1.セットアップに項目の設定が出ます。

どうも使う機能・使わない機能を選べるみたいですが不明。サードパーティープラグインとか(あるのそんなの) デフォルトで使うものを指定します
2.無事インストールできたら上メニュー/Window/に、3つ追加されます Graph:メイングラフエディター Graph Inspector:ノードおよびその他のグラフ要素のインスペクター Variable:変数を定義および編集するウィンドウコードを書き進めれば勝手に増えます
3.プロジェクトのバックアップ Tools > Ludiq > Backup Project...からプロジェクトをバックアップできるそうです。 zipに詰められて、もしプロジェクトが壊れたら復帰できるようになってます。
4.ドキュメンテーションの作成 プロジェクト作成中にBoltのアップデートが来たら、アップデートとともにドキュメンテーションを作る必要があるそうな。(わからないので飛ばします)Tools > Ludiq >Generate Documentationから
ざっくり使い方説明

オブジェクトにアタッチできるボルトの中核は、2種類あります ・フローマシン 普通なプログラムを作るのに使用 ・ステートマシン AIとか複雑な動きをするものに使用 フローマシンと併用可能 さらに、アタッチストEmbed(埋め込み)とマクロの2つが選べます Embedはオブジェクトに直接コードを書く、マクロは、コードを別ファイルにしてアタッチして使います。他オブジェクトに流用できる、引数と戻り値をつけるとユーザー関数として使える、複製でバックアップできるとメリットがでかいので、マクロがデフォです。
チュートリアルですが、
公式のチュートリアルプロジェクトをダウンロードするには、公式のアカウントが必要です。 1.アカウントを作成 2.UnityアセットストアでBoltを購入したときの請求番号を登録 するとできるようになります 中身はプロジェクトまるごとで、作成したUnityバージョンは2017.1になってるけど動くのは2017.4.28からです。プロジェクトを開いてからアセットストアからBoltをダウンロード・インストールすることで使えるようになります
https://ludiq.io/bolt/tutorials/platformer/2-character-controller

2日ほどチュートリアルしてわかったのは、
最初のうちは普通に文字打つよりストレスです。
私がノードに慣れてないのもありますが、コードユニットががあまりに多すぎる・細かすぎる。+とか*とかの演算子までユニットいっこの扱いで、それがかなり深い階層に入れられてるのです

演算子、mathには入ってなくて見つけるのにすっげー時間かかったしどこだったもう思い出せない。
検索で出せるけど、何もかも奥にしまわれてていちいち文字打ちまくりで、テキストエディタと労力大差ないっていう。
大量の一生使わないユニットが検索妨害してるのはPlaymakerと一緒か…
解決策は
よく使うコードはお気に入りに登録、
コードの組み合わせで必ず使う定型文があったら
スーパーユニット化(引数と戻り値があるマクロ)するなどで、
入力の手間を少しずつ省いていくことで、使いやすくなる…と思われます。
しかし、それとは別に、変数やタグやオブジェクト名が候補で出せない入力欄が多いのは痛くて、そこは擁護できない。
グラフの流れと変数の変動がリアルタイムで動いて、エラーが出たら場所がひと目で分かり、デバッグのストレスが大幅軽減なのはとってもいいんですが
というわけで、使いこなすまでそれなりに時間かかりそう、チュートリアルサイトも少ない、c#より圧倒的便利な独自機能とかあるのかどうか不明
ぶっちゃけplaymakerとどっちがいいか
とかは、またなんとも言えないとこです
あと、これ仕様的にエディタ拡張を作るのはできない?
GameMakerいじりが一区切りつくまでは研究は保留。