五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Unity Update 詳解

2021-09-29 00:28 作者:柯昌弟弟c  | 我要投稿

在unity中常用到函數(shù)

  1. 物理運算應該放在FixedUpdate中

  2. Input檢測應該放在Update中

  3. 相機應該放在LateUpate中

首先來看一下官方的解釋:

Update

Update is called every frame, if the MonoBehaviour is enabled.

Update is the most commonly used function to implement any kind of game script. Not every MonoBehaviour script needs Update.

上面重點說的是Update每幀都會被調(diào)用。

FixedUpdate

Frame-rate independent MonoBehaviour.FixedUpdate message for physics calculations.

????????首先FixedUpdate和幀率是不相關(guān)的。

????????而且在官方的解釋中,F(xiàn)ixedUpdate的更新頻率不是按幀率,而是按一個叫做 fixed frame-rate frame,這里我們稱其為物理幀。而其更新的默認頻率是每秒50次,這個值可以通過項目設(shè)置來更改。

(官方給到建議:如果有用到Rigidbody,并且有施持續(xù)力的情況,就放在FixedUpdate里面。)

LateUpdate

LateUpdate is called every frame, if the Behaviour is enabled.

這里和Update函數(shù)的描述一致,都是每幀調(diào)用一次。

(官方給到建議:Camera最好放在這里,因為LateUpdate是在所有Update函數(shù)運行完以后才開始執(zhí)行的。是所有updata)


在使用FixedUpdata時候,遇到過一個問題:FixedUpdate 函數(shù)中使用Input有可能調(diào)用不到。

當時為了解決這個問題在設(shè)置中更改了時間間隔(固定時間間隔更新,一般為0.02s更新一次,可以放與物理屬性操作相關(guān)代碼。也可以由用戶更改時間間隔,Edit->Project Settings->Time 找到彈出面板的Fixed Timestep設(shè)置。)

設(shè)置Fixed Timestep


但是更改FixedUpdata后會出現(xiàn)兩種情況:

1.幀率較低,也就是Time.deltaTime比較大,那么此時執(zhí)行一次Update函數(shù)就要執(zhí)行很多次FixedUpdate函數(shù)。那么按下一次x就會執(zhí)行很多次DoSth().

這里為什么是很多次,這是因為Input事件是獲取事件而非檢測事件,因為只有執(zhí)行到SetInput,新的按鍵狀態(tài)才會被更新。

2.幀率很高,也就是Time.deltaTime比較小。那么此時執(zhí)行一次Update函數(shù)可能并未執(zhí)行FixedUpdate函數(shù)。那么按鍵就不會被檢測到。

我就是遇到了第二種情況,所以在使用input獲取點擊事件時,要使用updata。


感謝原作者詳細解釋:

原文鏈接:https://blog.csdn.net/lexnewgate/article/details/85015376




Unity Update 詳解的評論 (共 條)

分享到微博請遵守國家法律
安新县| 井陉县| 香河县| 马公市| 池州市| 新疆| 仙桃市| 崇信县| 海兴县| 永登县| 竹溪县| 满城县| 宁波市| 怀宁县| 安陆市| 紫云| 东乌珠穆沁旗| 宁海县| 于都县| 云霄县| 兖州市| 天门市| 阜新市| 伊吾县| 环江| 会理县| 固阳县| 博白县| 娱乐| 海伦市| 赫章县| 通榆县| 绥宁县| 哈巴河县| 龙海市| 水城县| 南投县| 肥东县| 涪陵区| 申扎县| 景谷|