最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
历史| 深水埗区| 奉化市| 岗巴县| 象山县| 英德市| 光泽县| 永胜县| 阿城市| 蓬莱市| 油尖旺区| 延吉市| 沾化县| 乐平市| 湛江市| 松桃| 洪洞县| 忻州市| 遂溪县| 德化县| 青岛市| 黄石市| 乌审旗| 盈江县| 瑞丽市| 芷江| 巴楚县| 安阳市| 云龙县| 兴隆县| 河北省| 张家港市| 高碑店市| 海安县| 江北区| 会宁县| 阿尔山市| 盱眙县| 澄城县| 威信县| 湟源县|