😁
VisualScriptingのTimerはいいぞ
概要
みなさんはVisualScripting使ってますか?
私は使ってます。
Unity1Weekという1週間でゲームを作る企画があるのですが
そこで作ったゲームです。
ほとんどVisualScriptingを使って作りました。
さて、本題のTimer
ですが、UnityJapanさんで紹介されています。
このTimer
が使い勝手がいいので私も紹介させて頂きます。
基本機能
このようなノードです。
名称 | 機能 | 備考 |
---|---|---|
Start | ノードの入口 | 必ず使う |
Pause | 一時停止 | 使ってない |
Resume | 再開 | 使ってない |
Toggle | 停止再開制御 | 使ってない |
Duration | タイマーの期間 | 必ず設定する |
Unscaled | TimeScaleを無効にする | 使ってない |
Started | 開始時に呼ばれる | 使ってない |
Tick | 毎フレーム呼ばれる | すごい使う |
Completed | 終了時に呼ばれる。ノードの出口 | ノードが続くなら使う |
Elapsed | 経過時間 | 秒数毎に何かしたい時、Tickの場面で使う |
Elapsed % | 経過時間を0~1の間で返す | 秒数毎に何かしたい時、Tickの場面で使う |
Remaining | 残り時間 | 秒数毎に何かしたい時、Tickの場面で使う |
Remaining % | 残り時間を0~1の間で返す | 秒数毎に何かしたい時、Tickの場面で使う |
各機能はこんな感じですが、半分くらい使ってません。
それでもすごい使い勝手がいいです。
使い方1 Transformの移動
上のUnityJapanさんの動画で説明されているのは、オブジェクトの移動ですね。
Dotween
のようなイメージかと思います。
私が作ったゲームでは
女の人にカメラが近づいていってます。
こんな感じで、シーン遷移の演出のカメラの移動に使用しました。
その時のスクリプトがこちらです。
Tick
毎に、SetPostion
を動かしています。
動かすための変数は、Remaininig %
に定数を乗算しています。
使い方2 ただのウェイト
こちらのスクリプトの真ん中のTimer
がそれです。
左のTimer
から、右のLoadScene
の間にちょっとだけウェイトが欲しいなと思って追加しました。
上の例だと、2秒のウェイトがかかってます。
使い方3 カウントアップ
まずはこちら
ポイントをカウントアップして表現するために使用しました。
Tick
毎にSetText
にポイント設定しています。
この変数は、Elapsed %
を使って経過時間の増加とポイントを比例させています。
まとめ
Timerノードは、他にも可能性のある使い勝手のよさそうなノードですね。
これからも研究していこうと思います。
Discussion