Time.deltaTime

■概要

Time.deltaTimeには1フレーム前からの経過時間が保存されています。
この時間を利用することで、オブジェクトのフレーム経過による変化を
一定に保つことができます。

●Time.deltaTimeの有無による計算量の比較
例:オブジェクトの座標の値1を1mと仮定して1秒で50m進ませる

Time.deltaTimeを使用しない場合の1フレームでの移動量
		・FPSが60の場合
			移動量 = 50m * 1 / 60	// 50 * 0.016
			座標 += 移動量;

		・FPSが30の場合
			移動量 = 50m * 1 / 30	// 50 * 0.032
			座標 += 移動量;

		・FPSが120の場合
			移動量 = 50m * 1 / 120	// 50 * 0.008
			座標 += 移動量;

	Time.deltaTimeを使用した場合の1フレームでの移動量
		・FPSが60の場合
			移動量 = 50m * Time.deltaTime	// 50 * 0.016
			座標 += 移動量;

		・FPSが30の場合
			移動量 = 50m * Time.deltaTime	// 50 * 0.032
			座標 += 移動量;

		・FPSが120の場合
			移動量 = 50m * Time.deltaTime	// 50 * 0.008
			座標 += 移動量;

	上記の例全て1秒後の座標は移動前と比較して約50m進んでいることになります。

●Time.deltaTimeを使用する理由
	deltaTimeを使用する理由は「1秒間の時間の精度の高さ」を保障してくれるからです。
	上の例でTime.deltaTimeを使用した場合と使用しなかった場合の移動量は
	同じになると書きましたが、これは計算上の話です。
	実際のゲーム、特にスマホなどではUnityで作られた本格的な3Dゲームで
	120FPSや60FPSを常に出すことは難しいです。
	この時にTime.deltaTimeを使用しないケースでは目標とするFPSを下回るので
	1秒間に移動する移動量が低下しますが、
	Time.detaTimeを使用した場合は、きちんと1秒間で必要とする移動量になるよう、
	調整された数値が格納されるので、安定した挙動が望めます。

	例:
		移動量:1秒間で50m移動
		本来の設定:60FPS
		実際のFPS:50FPS

		・Time.deltaTime未使用
		1フレームの移動量 = 50m * 1 / 60		// 0.83333
		1秒間で移動する量 = 50FPS * 1フレームの移動量	// 41.66

		・Time.deltaTime使用
		1フレームの移動量 = 50m * 1 / 60		// 0.83333
		1秒間で移動する量 = 
				50FPS * 1フレームの移動量 + 調整値	// 50

		調整値は最後の1フレームで一気に加算されるようです。
		60FPSを目標とした場合の50フレーム目に足らない残りの10フレーム分が入り
		Time.deltaTimeに入り、1秒で50m移動という目標が達成されます。