国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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 詳解的評論 (共 條)

分享到微博請遵守國家法律
樟树市| 宾阳县| 社旗县| 镇雄县| 郸城县| 南华县| 岗巴县| 原平市| 封开县| 芮城县| 彩票| 偃师市| 银川市| 成武县| 沙洋县| 钟祥市| 郓城县| 措美县| 唐山市| 深州市| 鲁甸县| 清原| 临湘市| 仪征市| 北川| 新乡县| 天气| 沅陵县| 乌兰浩特市| 石渠县| 五常市| 北碚区| 麻阳| 宜春市| 腾冲县| 陇西县| 饶河县| 平舆县| 华阴市| 广宗县| 东丰县|