Visual Scripting(BOLT)

プログラミングに不慣れな人はUnityのスクリプト(C#言語のプログラム)の作成が難しいと感じるかもしれません。そのような場合にはBOLTを試してください。BOLTはビジュアルにプログラムを作成するツールです。

インストール(バージョン2020.〜まで)

Unityのバージョン2021.〜以降では、BOLTは “Visual Scripting” という名称でUnityに付属するようになり、インストール不要で使えるようになりました。2020.〜までのバージョンでBOLTを使用する場合は以下の手順を参考にしてください。

BOLTはアセットストアからパッケージをダウンロードし、Unityにインポートすると使えるようになります。アセットストアの扱いが変更になった影響で、インストール手順も少し変わりました。また、今後も変わる可能性があります。

アセットストアにログインします。Unity内部の [Windows] > [Asset Store] の画面からブラウザを開くこともできます。

“BOLT” を検索し、[マイアセットに追加する] をクリックします。

そのまま [Unityで開く] を実行しても構いませんが、今後は Package Manager 経由でアセットの管理を行う手順が正式になるようなので、その手順で行います。ここから後の手順は、Unityのプロジェクト毎にセットアップが必要です。

Unityプロジェクトの [Window] > [Package Manager] を開きます。”Packages” のプルダウンメニューから “My Assets” を選択すると BOLT が登録されているはずなので、”Download” ボタンをクリックします。

ダウンロードが終わると [Download] ボタンが [Import] ボタンに変化するのでクリックします。すると次のような表示になり、ここにも [Import] ボタンがあるのでクリックします。

Bolt Setup Wizard が起動します。

[Next] をクリックし、次の画面では [Human Naming] と [Programmer Naming] のどちらかを選びます。どちらでもかまいませんが、説明の都合上、[Programmer Naming] を選んで進めます。Assembly Options の画面は下までスクロールして [Next]、Type Options の画面は下までスクロールして [Genarate] をクリックします。次のような画面が出ればインストールは完了ですので [Close] をクリックしてください。

玉転がし

BOLTで簡単な機能を作ってみます。

HierarchyからPlaneとSphereを追加します。SphereがPlaneの上で静止するように、両方のInspecterで [Add Component]>[Physics]>[Rigidbody] をそれぞれ追加して位置調整します。カメラと照明の位置関係を調整して次のように見えるようにしてください。

次にSphereのInspectorで、[Add Component]>[BOLT]>[Flow Machine] を追加すると、Sphereに対してBOLTの機能が使えるようになります。Unityバージョン2021.〜以降を使っている場合は [Add Component]>[Visual Scripting]>[Script Machine] を選択してください。Flow Machine(Script Machine)の項目内にある [New] ボタンを押してください。”Save Macro” という画面が出てマクロを保存するように誘導されますので、適当な名前で保存してください。ここではAssetsフォルダに “RollTheBall” という名前で保存することにします。

保存したら、Flow Machine(Script Machine)の [Edit Graph] を押すとBOLTの編集画面である “グラフ” が表示されます。Unityバージョン2021.〜以降では少し見え方が異なります。

デフォルトで2つのユニット(緑のブロック)が配置されていますが、今回は使いませんので右クリック [Delete] で消してください。

画面上を右クリックして [Events] > [Lifecycle] > [Fixed Update] を追加します。さらに右クリックして [Codebase] > [UnityEngine] > [Input] > [GetAxis] を追加してください。あるいは “Fixed Update”、”GetAxis” 等で検索してもメニューに辿りつけます。GetAxisは2つ使いますので右クリックして複写してください。2つのGetAxisは前後と左右の制御に使います。axisNameに、ひとつは “Horizontal”、もうひとつは “Vertical” と名前をつけます。動作を実現するために、最後に右クリック [Sphere] > [Rigidbody] > [AddForce (x,y,z)] を追加します。

次は、配置したユニットを繋いでいきます。Fixed Updateの出力をAddForceの入力に、GetAxis(Horizontal)の出力をAddForceの “x” 入力へ、GetAxis(Vertical)の出力をAddForceの “z” 入力へ接続します。

ゲームを開始すると、カーソルキーまたはW/A/S/Dキーでボールが移動するはずです。

コメント