こんにちは。スタジオ長介です。
UnityのBoltを使っての『玉転がしチュートリアル』をスキマ時間に進めています。今回は、「残りのアイテム数を表示する」をやっていきます。
BoltはUnityで使えるビジュアルスクリプティングツールです。UE4の「ブループリント」のようなものですね。以前は、UnityのAssetStoreで有料アセットとして販売されていましたが、Unityが製品を買収し、7月22日に無償化が発表されました。
・Unity入門チュートリアル 「玉転がし」(Roll-a-Ball) ビジュアルスクリプティング版
前回はプレイヤーが接触すると消えるオブジェクトを設定しました。
Boltが必要となる作業まではサクサク進めたいと思います。まずは、UIを表示するためのCanvasを追加して、数字を表示するためのテキストも追加します。
残りアイテム数の管理をさせるためのオブジェクトを追加してやります。チュートリアルの内容に沿って、名前を「GameController」とします。
アイテムのカウントですが、Itemオブジェクトに設定した「Item」タグを計測することで行うそうです。この辺のやろうとしていることはだいたい把握しているつもりですが、何故この設定が必要なのかを理解するまでには至っていないので、写経に近いです。
ProjectSettingsを開いて、「Item」タグを追加します。
追加したタグをItemオブジェクトに設定し、同じItem全てに設定を反映させるために、「Apply All」ボタンをプッシュします。(心のなかで、あぷらぁい!と叫びます)
これで漸く準備が整いました。ここからはBoltの出番です。
GameControllerにFlow Maschine(Bolt)を追加します。そして、タグが設定されたGameObjectを検索するためのユニットを追加します。このユニット、「GameObject.FindGameObjectsWithTag」という名前なのですが、複数形ではない「GameObject.FindGameObjectWithTag」というユニットもあるため、普通にコーディングしたら絶対間違う自信があります。
これまでは新しいユニットを追加したいときは、右クリックでメニューを呼び出し、そこから「Add Unit」を選択して追加していたのですが、関連のあるユニットについてはノードを引っ張って何もないところで離すと、選択候補が表示されるようです。便利!
このやり方で「Count Items」ユニットと「ToString」ユニットを追加していきます。
次にGameControllerのVariableに値を設定します。また、Valueに「ScoreLabel」を設定してやります。
最後にグラフの方にテキストを設定するための「Text.text(set)」ユニットを追加して、「Score Label」の変数を送るためのユニットも追加してやり、それらをノードで全てつなげます。
そして、完成したのが下のグラフになります。
今回も実にシンプルなグラフになりました。どちらかと言うと、Bolt以外の前準備が必要なので、その辺の作法を覚えることのほうが大変そうですね。前回に続き「タグの設定」はよく使うみたいなので、ちゃんと覚えねばと思います。
▼アイテムの残数をカウントするようになりました(見切れてますが…)