LoginSignup
1
3

More than 3 years have passed since last update.

【Unity(C#),Bolt】Boltでタイマーの実装

Posted at

Bolt

ノードベースのビジュアルスクリプティングツールです。
最近?無料で使えるようになったそうですね。

アセットストアから落としてくれば使えます。

Bolt:ストアページ

今回はBoltでタイマーを実装しようと思います。

バージョン情報

Unity 2019.4.8f1
Bolt Version 1.4.13

下準備

Boltをアセットストアからインポートしたら
Install Boltというフォルダの配下にPackageが配置されます。

2つあるのでBolt_1_4_13_NET4を選択しインポートします。

この辺りの手順はバージョンによっては
PackageManager経由でインポートするようになってたりするので
手元のUnityのバージョンに合わせて対応必要かもです。

BoltForQiita0.PNG

成功すれば下記画面に進みます。Nextを押します。
BoltForQiita1.PNG

次に表示の設定です。右がプログラマーにわかりやすいような表記になっています。
今回は右の設定で進みます。
BoltForQiita2.PNG

次にAssemblyの設定です。
自作ノードなどもここで追加することができるようです。
今回は特に変更しないのでNextでそのまま進みます。
BoltForQiita3.PNG

次にTypeの設定です。
ここも自作ノードなど追加時に設定します。
Generateで完了です。
BoltForQiita4.PNG

最後にHierarchy上にEmptyなオブジェクトを追加し、
Flow Machineを追加しておきます。自動でVariablesコンポーネントも付与されます。

BoltForQiita6.PNG

Variables

Variablesは文字通り変数です。
Inspectorで設定しておけばノードで参照できます。

下記はObject Variableの設定です。

BoltForQiita5.PNG

Graph内で完結する変数はGraph Variableと呼ばれます。

Graph Variableを設定するには下記のようにWindowからVariablesを追加します。
BoltForQiita11.PNG

今回用意したGraph Variableは下記です。
BoltForQiita10.PNG

ノード全容

まずはボタン押下でタイマー開始のフラグを立てます。
"どのボタンを押したか"というのはObjectGet Variables
変数名を指定して取得します。

BoltForQiita7.PNG

次にフラグのチェックです。
Updateからノードを繋いで毎フレームボタン押下のフラグをチェックします。
また、秒数が0になったときにはタイマーを止めたいのでそのチェックも行っています。

BoltForQiita13.PNG

次のブロックでは用意した変数の値からDeltaTimeを毎フレーム引いて、
その値の小数点以下をCeilで切り上げています。
これでカウントダウンのロジックは完成です。

BoltForQiita9.PNG

最後にカウントダウンをViewに反映します。
テキストとなるゲームオブジェクトの変数名を指定して参照し、
先ほど算出したカウントを文字列としてテキストにセットします。

BoltForQiita12.PNG

できたもの

アリが食べ物運んでるみたいでおもしろいですね。
BoltForQiita1.gif

参考リンク

UGUI Toggle Button - Bolt Visual Scripting

Unity Bolt Tips1.FlowGraph編集画面の使い方

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3