【Unity】Bolt、無償化されるってよ【ビジュアルスクリプティング】

【Unity】Bolt、無償化されるってよ【ビジュアルスクリプティング】

UnityのビジュアルスクリプティングアセットであるBoltの無償化が発表されました。

元々アセットストアで販売されていたものでしたが、1, 2ヶ月前に「BoltがUnityファミリーに加わります!」と公式アナウンスがありました。ただ、いつからUnityのパッケージに含まれるかはまだアナウンスされていませんでした。

が、7月22日の夜に無償化の発表があったようです。

普通にC#でコーディングしてもいいし、画面から操作して動きを組み合わせるビジュアルスクリプティングをしてもいいしと、ゲームを作る方法に幅が生まれます。

特にプログラミング未経験でUnityに触る場合、C#を使ってコーディングするのが辛いケースもあるかもしれないので、画面から操作できるのはかなり大きいと思います。もしかしたらデザイナーさんでも自分で画面から操作して修正できるかもしれないので、ワークフローが改善するかもしれません。

この記事ではBoltの無償化について触れ、使っている様子を簡単に紹介します。

 

 

環境

macOS Catalina 10.15

Unity2019.4.4f1

 

参考文献

Unity公式がやっているnoteでアナウンスがされているので、まずはこちらをご覧ください。

 

Boltのインストール方法についてはUnity Learnで公開されている『Roll-A-Ball』のビジュアルスクリプティング版に手順が載っているのでこちらもご覧ください。

 

Boltの使用感について一連のシリーズとして解説をしていらっしゃるサイトです。

 

Boltとは

Boltとは、画面上からパーツを組み合わせて動きを作ることができるビジュアルスクリプティングのツールです。このツールは元々アセットストアで販売されていて、常に上位にいる便利な人気ツールでした。

UnrealEngineを使ったことのある人だと、Blueprint(ブループリント)のようなツール、と言うと分かりやすいかもしれません。

2020年の5月4日、BoltがUnityファミリーに加わることがアナウンスされ、一部界隈では「いずれ無料で使えるんだろうなー」と話題になっていました。というのも、現在Unityでパッケージマネージャーからインストールできる『Pro Builder』は元々アセットストアで売られていたものだからです。私もアセットストアで購入し、しばらく経ったら無料化されていた……というちょっと切ない経験があったので、今回は待ちガイルばりに今か今かと待っていたわけです。

そして2020年の7月22日、Boltが無償化されることがアナウンスされました。

これからビジュアルスクリプティングを使っていきたい人にとっては朗報です。もし既存の購入者の場合は、時期によっては払い戻し、あるいは今後リリース予定のBolt2の無償提供などが考えられているそうで、先行して買った人でも不利にならないようになっている感じですね。

 

ビジュアルスクリプティングとは

ノードを組み合わせて動きを作る
ノードを組み合わせて動きを作る

 

ビジュアルスクリプティングとは、プログラミングのコードを書くことなく画面上で操作して動作を作成していく方法です。多くの場合、ノードと呼ばれるパーツが用意されていて、これを繋いで流れを作っていくことでゲームの動作を作ることができます。

UnityのShader GraphやVisual Effect Graphもビジュアルスクリプティングの一種で、シェーダー言語を自分で書くことなくノードを組み合わせて見た目に影響を与えるシェーダーやキラキラしたエフェクトを作成することができます。

Boltでもノードを組み合わせて動きを作っていきます。この時ノードとしてUnityのオブジェクトやコンポーネントを選択することができるので、C#でコーディングしているかのように画面上で流れを見ながら組み立てていくことができます。

上の写真だと静止画になっていますが、ゲーム実行中は処理の流れや値の流れとして光の球が移動して表示されます。光の球が移動する様子を眺めているだけでもテンション上がっちゃいます。

もちろん、コーディングの経験があれば動きを想像しやすいというのがありますが、経験がなくても処理の流れを絵で見ながら組み立てていくことができるのはメリットです。特にデザイナーさん、アーティストさんが作った3Dオブジェクトやイラストに対して、自分自身で動きを付けることも可能になるかもしれません。視覚的に分かりやすい点がおすすめポイント。

また、ゲーム作成の初学者にとっては処理の流れをイメージする練習としても使えます。この値はどこから来ていて、どう処理されるのか、こうしたイメージ作りにも役立ちます。

プログラミングでは、

  1. 流れに沿って処理を行う順次処理
  2. 条件によって分かれる分岐処理
  3. 何回か処理を反復する反復処理

の3つを組み合わせることでなにかの動作を実現しています。この流れが目で見て分かりやすいのがビジュアルスクリプティングですね。

フローチャートを作って、その見た目通りに作っていけばいいというのも分かりやすいポイントです。

 

Boltのインストール

せっかくだし使ってみよう! ということでインストール方法を紹介します。参考文献で紹介したUnity Learnのページでも画面付きで公開されていますが、あちらはWindowsで撮影された画面のため、ここではMacで撮影した画面を載せます。手順に違いはないのでMacの画面で撮影する意味があるかどうかは触れないでください。

 

アセットストアで検索

Unityエディタでアセットストアのタブを開き、「Bolt」と検索します。以下のアセットが表示されたら [Download] をクリックします。

燦然と輝くFREEの文字
燦然と輝くFREEの文字

 

Boltをインポート

ダウンロードが完了したらBoltをインポートします。アセットの画面を開いている場合はそのまま [Import] をクリックします。

早速インポート
早速インポート

 

My Assetの画面からも同様にインポートできます。

My Assetからも
My Assetからも

 

インポートボタンをクリックすると以下のようにインポートする内容が表示されるので [Import] をクリックします。この段階ではインストール用のパッケージがインポートされます。

まずはパッケージをインポート
まずはパッケージをインポート

 

インポートが完了すると以下のようにフォルダが作成されます。

アセットがインポートされた
アセットがインポートされた

 

Boltの初期設定

続いてBoltの初期設定を行っていきます。プロジェクトで使っている.Net Frameworkのバージョンに合わせて、インポートされたパッケージファイルからインストールします。

といってもメニューバーからインストールを行うと自動で選んでくれるのでそちらが簡単です。[Tolls] -> [Install Bolt] を選択します。

メニューバーから
メニューバーから

 

このメニューではインストールするパッケージを選んでくれるので、[Import] をクリックします。

インストールするパッケージを選んでくれる
インストールするパッケージを選んでくれる

 

インポートするパッケージの内容が表示されるので先ほどと同様に [Import] をクリックしてインポートを行います。

ファイルのインポート
ファイルのインポート

 

インポートが完了すると初期設定用のウィザードが表示されます。[Next] をクリックしてウィザードを開始します。

ウィザードが表示される
ウィザードが表示される

 

名前の表示形式

Boltで表示する名前の形式を選択します。こちらは好きな方を選択してください。右側の「Programmer Naming」はC#のコードを書いている時と同じ表示形式なので経験者はこちらが分かりやすいと思います。初心者なら左でしょうか。あとで変えられるので軽いノリで選んでも大丈夫です。

自分で分かりやすい方を選ぶのだポッター
自分で分かりやすい方を選ぶのだポッター

 

アセンブリの追加

続いてアセンブリの追加画面が表示されます。特に理由がなければ何も変更せず [Next] をクリックします。自分で作った別のモジュールと連携させられるのは嬉しいですね。

ライブラリを追加できる
ライブラリを追加できる

 

型の設定

最後にBoltで扱う変数の型を設定します。こちらも特に理由がなければ何も変更せず [Generate] をクリックします。

型の追加
型の追加

 

これでウィザードの設定は完了です。[Close] をクリックしてウィザードのウィンドウを閉じます。

ウィザードの終了
ウィザードの終了

 

Boltを使ってみる

インストールができたので、Boltを使ってどんな感じか確かめてみましょう。

例えばオブジェクトに動きを追加したい場合は、そのオブジェクトに対してコンポーネントを追加します。ここではサンプルとして平面上にある球体オブジェクトにコンポーネントをアタッチしてみます。PlaneとSphereはデフォルトのものです。

よくみるオブジェクト
よくみるオブジェクト

 

ヒエラルキーウィンドウで右クリックまたは二本指タップしてコンテキストメニューを開き、[3D Object] -> [Plane]から平面オブジェクトを作成します。同様に、[3D Object] -> [Sphere] から球体オブジェクトも作成しましょう。

オブジェクトの作成
オブジェクトの作成

 

作成された『Sphere』オブジェクトを選択し、インスペクターウィンドウの [Add Component] ボタンをクリックします。表示されたコンポーネント一覧から [Bolt] -> [Flow Machine] を選択してアタッチします。

コンポーネントの追加
コンポーネントの追加

 

追加された『Flow Machine』コンポーネントは以下のように表示されます。『Flow Machine』コンポーネントではMacro(マクロ)という単位で動作を制御してくれます。C#のスクリプトをひとつくっつけるようなイメージです。

インスペクターウィンドウから新しくマクロを追加することができるので、[New] ボタンをクリックしましょう。

マクロを作成する
マクロを作成する

 

表示されたダイアログでは作成するマクロの名前を設定します。任意のフォルダを作成しておくと管理しやすいと思うのでお好みでフォルダを作成すると良いと思います。名前が入力できたら [Save] ボタンをクリックします。

フォルダを作成してからファイル名をつけよう
フォルダを作成してからファイル名をつけよう

 

マクロを新規作成すると以下のように作ったマクロがセットされます。この時、マクロの名前や説明を記入できる項目が表示されるので、お好みで入力しておきましょう。なんのためのマクロなのか説明を残しておくと気配りのできるイケメンになれます。

そしていよいよBoltの醍醐味、グラフエディタを開く時がきました。コンポーネントに表示されている [Edit Graph] のボタンをクリックしましょう。

待望のグラフエディタを開く
待望のグラフエディタを開く

 

すると以下のようなウィンドウが表示されます。StartとUpdateが用意されているのはC#のスクリプトを作った時からのお馴染みですね。Boltではこのグラフエディタを使って画面上でオブジェクトの動きを作っていくことができます。

念願のグラフエディタを表示したぞ!
念願のグラフエディタを表示したぞ!

 

シンプルなサンプル

動きを確認するため、簡単なサンプルを作ってみます。ここではStartのタイミングで『Sphere』オブジェクトの位置をY=10くらいの上空にセットして、自由落下を確認します。

事前準備として、『Sphere』オブジェクトに『Rigidbody』コンポーネントをアタッチしました。これで自由落下してくれるようになります。

Rigidbodyのアタッチ
Rigidbodyのアタッチ

 

グラフエディタを開いたら、右クリックまたは二本指タップでコンテキストメニューを開きます。今回やりたいのは、『Sphere』オブジェクトの『Transform』コンポーネントで位置を設定することなので、このメニューの中から [Sphere] -> [Transform] -> [position (set)] を選択します。

操作したい項目を選択していく
操作したい項目を選択していく

 

メニューを選択すると以下のようにノードが作成されます。Startの右側にある白抜きの三角形からノードに対してドラッグすることで線をつなげることができます。この線でつながった順番に処理を行っていくので、見た目にも分かりやすいですね。

Transformのノードでは一番下のボックスが3つ並んでいる真ん中を [10] に変更します。これは『Transform』コンポーネントのpositionの項目でYを10にセットする、という意味です。

ノードを繋ごう
ノードを繋ごう

 

ノードを繋いだらゲームを実行してみます。実行前は『Sphere』の高さは0.5で、ゲームを実行すると位置がY=10となって自由落下するようになりました。めでてぇ。

位置の変更ができた
位置の変更ができた

 

ノードを組み合わせていくことで様々な動きをつけていくことができます。まずはチュートリアルに沿って進めていくのが一番簡単だと思うので、Unity公式がおすすめしている『Roll-A-Ball』と『Boltで簡単な2Dゲームを作る』をチェックしてみてください。

 

Roll-A-Ball

 

Boltで簡単な2Dゲームを作る(Youtubeの動画です)

 

まとめ

ビジュアルスクリプティングのツール『Bolt』が無償化されたので、どんどんチャレンジしてみましょう。

特にデザイナーさんなどのアーティストさんにも触れて欲しいです。また、初学者とっても処理の流れを知る上で役に立つと思います。

チームでゲームを開発している場合は、プログラマさんがある程度触って感覚を確かめつつ、アーティストさんに技術展開していくとチーム内でのワークフローが向上するのではと思います。「これ動かして欲しいからコード書いて」なんてセリフがもう聞けなくなる日が来ると言っても過言ではありません(過言)

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!