ビジュアルスクリプティングができるBoltと個人的な推し音楽アセットの紹介
(2020/05/12追記)
BoltのアセットがUnity社に買収されたらしくパブリッシャーがUnityに変更になりました。
それに伴いアセットストアのURLも変更になったため記事中のアセットのURLも変更しました。
-----
この記事はUnityアセット真夏のアドベントカレンダー2019Summer!の20日目の記事です。
http://assetstore.info/eventandcontest/adventcalendar/eventandcontestadventcalendarasset-adventcalendar2019summer/
来月の今頃は技術書典7ですね。さて、今回は個人的な開発で調べていたビジュアルスクリプティングアセットのBoltについて紹介しようと思います。
ビジュアルスクリプティングとは
ビジュアルプログラミング言語(英: visual programming language)とは、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。グラフィカルプログラミング言語とも言う(Wikipediaより)
Unityで処理を作る時には通常C#を学ぶ必要がありますがビジュアルスクリプティングアセットを使うことでパーツを組み合わせることで処理を作ることができます。
Boltとは
Boltは前述のビジュアルスクリプティングを支援するアセットの一つです。
特色としては処理の流れを作るフローグラフと状態によって内容を変化させるステートグラフの2つをサポートしていることと実行時にノードがアニメーションすることかなと思います。
(公式サイトより引用)
公式サイト
料金
70ドルで販売されています。
教育目的の場合に割引きされて25ドルで利用可能になります
また、Youtuber,GameJamでの利用等特定の条件を満たした場合には無料で利用することも可能です。
実際になにか作ってみる
ここまでは軽く基本情報を紹介しました。
ここからはBoltを使ってちょっとした処理を書いてみましょう。C#のスクリプトは一切出てきません。
また、今回はAssetStoreからダウンロードできるBoltのサンプルも一緒に利用します。
導入
インポートしたらTools/InstallBoltを選んでください。
InstallBoltを押すと次のWindowが出るのでそのままImportを押す
インポートが完了すると上のSetupWizardが立ち上がります。
もし立ち上がらない場合はTools/Bolt/Setup Wizardから立ち上げてください。
SetupWizardが立ち上がったらNextボタンを押してください。
NamingScheme画面ではBolt上で使う命名はどちらが良いか?というのを決めます。自分は今回ProgrammerNamingにしましたが、パット見て好きな方を選んでください。
以降は基本NEXTを押すだけで一先ず良いと思います。
TypeOptions画面に来たらGenerateを押してください。
しばらく必要なものをBoltが生成し始めます。
SetupCompleteが表示されたらインストールは完了です。それではさっそくBoltでかんたんに処理を書いてみましょう
処理をBoltで改変してみる
それでは早速かんたんに処理を作ってみましょう。動画を取りながらやってましたがちょっともたついてしまいました・・・
今回はBoltのサンプルの一部を改造してみます。
サンプルはマリオのような2D アクションゲームサンプルのBoltKitPlatformerを使います
まずPlayerWeaponControllerを開きます。PlayerWeaponControllerを選択してInspectorのEditGraphをクリックしてください
EditGraphをクリックするとFlow GraphのEditorが開きます。
これは武器アイテムを持っている時にFire1ボタンを押すと弾を発射するという処理になります。
今回はこれを2連射できるようにしたいと思います。
繰り返しといえばプログラムでおなじみForLoopですね
ForLoopノードを追加します。
FlowGraph上を右クリックするとノードの追加画面が出てきます。
ForLoopを検索して追加します。
このForloopを使って処理を2回繰り返してみるとこんな感じになります
しかしこのままだと弾が重なってしまって1発に見えてしまいます。
そこで1発撃ったら次の発射に0.2秒ほどのディレイを加えてみようと思います。
WaitForSecondノードを追加します
追加するとこんな感じに。。。
しかし上のままだとエラーになってしまいます。
WaitはCoroutine内でのみ使用可能なノードの為この処理をCoroutineにしてあげる必要があります。
今回はOnButtonInputをのパラメータを変更するだけでどうさするようになります。
OnButtonInputノードを選択してGraphInspectorに表示されてるCoroutineのチェックボックスにチェックをつけてください
ここまでできたらファイルを保存してサンプルを実行してみてください。1発毎の発射だった武器が2連射する武器に変わります!
今回はちょっとした改造ですがこんな感じでBoltでは処理を作ることができます。
その他のビジュアルスクリプティングアセット
Boltの他にもビジュアルスクリプティングをサポートしたアセットはあります。それぞれ特色があると思うので興味を持ったら是非調べてみてください。
例えばArbor3は日本人の作者が開発しておりUIに日本語があったりuScriptはUnrealEngineのブループリント風になってたりします。
Arbor3
https://arbor.caitsithware.com/
PlayMaker
uScript
おまけ:UnityもVisualScriptingに対応…?
UnityのフォーラムにてDOTS Visual Scripting というスレッドが立っています。
この機能はUnity2020にPreviewとして出る可能性があるらしくスレッドの中では実際に使ってみた人が画像を上げたりしています。
おまけ:長年お世話になってる推し音楽アセット3選
最後に自分がGameJamとかで何かとお世話になっている音楽アセットを3つ紹介していきます。
まずはYoutuberの水溜りボンドさんのOPでもおなじみのCatlifeを作曲されてるGT-Kさんのアセットです。BGMに困ったらとりあえず買っておけ!みたいな感じのアセットで収録数もすごい!なんでもUnityAssetStore音楽部門1位になったこともあるらしい。自分も度々使ったりしてます。
こちらもかなり前からある音楽系アセット。様々なシチュエーションに合わせた音楽を大量に収録しておりこちらも何かと便利でオススメです。
今回紹介する中でももっとも収録数が多いのでまずはサンプルをじっくり聞いてみてください
最後に自分が個人的に大好きなShadeさんがリリースしているアセットです。
昔はアリスソフトのゲームの音楽を担当されていたり最近はアズールレーンのBGMを担当していたりしてて作る音楽も本当にかっこいいのでオススメです!名前を見てビビッときたら購入しましょう!
音楽系アセットは必要になった時に買うで良いと思いますがセールのタイミングなどでとりあえず買っておいても良いと思うものを3つ紹介しました。
この3つは今更感もあるんですが何度推しても良いアセットなので今回一緒に紹介しました。
それでは良きUnityライフを送ってみてください