Unity TimeScale 和 deltaTime unscaledDeltaTime用法與原理詳解
最近做了個(gè)通過(guò)update累加進(jìn)度條的自定義觸發(fā)器,被各種deltaTime到底啥意思搞得頭疼,經(jīng)過(guò)一番折騰終于摸明白了原理
參考案例:https://blog.csdn.net/SerenaHaven/article/details/78976628

先放結(jié)論
對(duì)于不同需求,update中的累加值應(yīng)該怎么用deltaTime:
1、累加速度與循環(huán)速度直接相關(guān),且無(wú)平滑:
????????????????直接寫邏輯
2、只與現(xiàn)實(shí)時(shí)間相關(guān),不受timeScale影響:
????????????????累加值需要乘以u(píng)nscaledDeltaTime(在FixedUpdate里會(huì)自動(dòng)取fixedUnscaledDeltaTime的值所以用的時(shí)候可以不用特意區(qū)分)
3、與Unity時(shí)間相關(guān),受timeScale正影響:
????????????????累加值需要乘以deltatime(在FixedUpdate里會(huì)自動(dòng)取fixedDeltaTime的值所以用的時(shí)候可以不用特意區(qū)分)
便于記憶的deltaTime命名特性總結(jié):
基礎(chǔ)共性:將累加值的含義從每次變化這么多變成每秒變化這么多
非unscaled共性:每秒定義——被timeScale修正后的Unity時(shí)間
unscaled共性:每秒定義——現(xiàn)實(shí)時(shí)間
只看怎么用的話結(jié)論其實(shí)比較簡(jiǎn)單,但如果要搞明白背后的原理就很頭疼

以下為頭疼內(nèi)容,太長(zhǎng)不看黨可以走了
先看代碼的執(zhí)行結(jié)果:

邏輯分析:
便于理解考慮,update所在的循環(huán)簡(jiǎn)化稱為渲染循環(huán)
