カウントアップダウンはよく使うコードで主にTime.deltaTimeを使用します。
ではどうやって作るのかと言うとfloatを宣言しそこに代入し続けるというもの。
サンプルコード:
float timeSpeed=0;
void Update()
{
timeSpeed+=Time.deltaTime;
}
こうするこでtimeSpeedが時間とともに増加するようになります。
簡単ですね。
カウントダウンも同じくやるだけなので+=の部分を-=に変えるだけで簡単にカウントダウンが出来るようになります。
ではこのTime.deltaTimeというのはなんなのかというと実時間経過という認識でいいです。
なぜこれを使うとなるとお使いの機器自体が千差万別であり性能を一定にするために使用します。
例えばあるA機材だと性能がとてもよいものとB機材だとそこそこのものだと機材の性能依存になってしまうので思わぬバグが出てきたりします。
なのでTime.deltaTimeを使うことで時間を一定にしどの機材でも同じ挙動をするように調整することができるようになります。
私の主に使いどころはタイマーの他にTransform移動での一定距離を保つために使用しています。
以前にも書いたと思うのですがUpdate関数で使わないと物体が毎フレーム呼ばれてすんごいスピードを動いてしまいます。
それを防止するために使用しています。
また似たようなTime.Timeと言うものがありますがこちらは実時間ではなくクライアントの起動時間を参照していること。
主な使いどころがよくわからないので他の人のサンプルコードを見てもなんのこっちゃと思ってたり。
どういうところで使うのかよくわからないのでまずはTime.deltaTimeを理解するのを優先してしまいましょう。