こんにちは、スタジオ長介です。
今回は夏季休暇を利用して、UnityのBoltを触ってみようと思います。

Boltですが、こちらはUnity AssetStoreでダウンロードできる「ビジュアルスクリプティングツール」となります。つい先日、Boltの権利をUnity本体が買収したことにより、BoltがUnityのファミリーツールとなり、どのユーザーに対しても無料でダウンロードできるようになりました。
今回は、Unityの公式チュートリアル『Unity入門チュートリアル 「玉転がし」(Roll-a-Ball) ビジュアルスクリプティング版』で、Boltの使い方をざっくり学ぼうと思います。
https://learn.unity.com/project/bolt-roll-a-ball-tutorial?language=ja
Boltは、AssetStoreでダウンロードすることで利用できるようになります。

ちなみに、公式チュートリアルの順序どおりにやっていれば基本的に迷うことはないと思いますが、AssetStoreでダンロードしただけではBoltは使用できないので注意してください。

Unityのメニューの Toolsを選択し、「 Install Bolt」をクリックすることでインストール用のウィンドウが開きます。AssetStoreでも「Import」というボタンが表示されるので、それを押したらインストールできてるのかな?と思いがちですが、残念、もうひと工程あるのでした。
インストールが完了したので早速Boltを触るか、と逸る気持ちもありますが、まずは必要なオブジェクトを配置しないといけません。

玉を転がすためのステージを作成します。
単なる立方体と板の組み合わせなので、操作に慣れている人であればここまでの作業時間は30分もかからないと思います。
ステージ作成後、プレイヤーとなる「玉」を設置し、物理挙動を追加することで漸く準備OKとなります。ここからがBoltの出番です。

ヒエラルキーにある「Player」に、「Bolt > Flow Maschine」でコンポーネントを追加します。
そして、先程追加したコンポーネントにある「Edit Graph」をクリックすることで、Boltの作業画面である「グラフ」が表示されます。

今回のチュートリアルでは、デフォルトで用意されているユニット(緑色の箱)は使用せずに、新しく物理演算用の「Fixed Updated Event」を使用します。
また、キーボード操作で玉の動きを制御したいので、入力機能のあるユニットを追加します。

次に取得したキーをもとに玉(rigidbody)に力を加えるユニットを追加します。そして、それを線で接続したものがこちらです。

加える力が弱すぎるので微妙な動きになっていますが、一応動いてくれています。

このあと、掛け算するユニットを追加して玉の動きを加速させたり、それをインスペクターに追加した変数から掛け算に使用する数値を自由に変更できるようにしたものが下記となります。(チュートリアルどおりですが)

これで玉転がしゲームの「玉の動作」ができたことになります。
UE4のBlueprintもそうですが、非エンジニア的にこの『何が何に影響しているのか』が視覚的に理解できるビジュアルスクリプティングは、理解までのコストを格段に節約できて、とても効率的な印象を受けました。
次回は、「玉転がしゲーム」のチュートリアルの続きで、カメラの挙動やアイテムの獲得処理などよりゲームらしい部分について触っていきたいと思います!