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

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

關(guān)于跳躍手感的解決

2023-02-22 18:39 作者:WonderFF1  | 我要投稿

角色跳躍功能一直是RPG游戲的核心玩法,不同機(jī)器每秒的執(zhí)行幀數(shù)是不相同的,配置越高的機(jī)器每秒執(zhí)行的幀數(shù)越高。在Unity中,為了兼容不同配置的機(jī)器,提供了兩個(gè)函數(shù)UpdataFixedUpdataUpdata函數(shù)每一幀被調(diào)用一次,這也就導(dǎo)致了低配機(jī)器每秒的調(diào)用次數(shù)不足,使得操作不靈敏。FixedUpdata固定每0.02秒執(zhí)行一次,可以很好的兼顧各種配置的機(jī)器。這樣就引出了一個(gè)常用的解決辦法,雖然低配機(jī)器Updata執(zhí)行次數(shù)不足,但是不是固定執(zhí)行,所以Updata函數(shù)中可以馬上獲得玩家按下按鍵的操作。Unity手冊(cè)中也明確指出了Input.GetButtonInput.GetButtonDown這類有關(guān)于按鍵檢測(cè)的函數(shù)需要放在Updata中去執(zhí)行,這樣能夠得到實(shí)時(shí)的反饋。而所有與物理效果有關(guān)的仿真模擬需要放在FixedUpdata中執(zhí)行,因?yàn)槲矬w移動(dòng)需要持續(xù)穩(wěn)定的推力,對(duì)執(zhí)行頻率更加敏感,所以在這個(gè)項(xiàng)目中,需要先在Updata中獲得按鍵信息,再去FixedUpdata中執(zhí)行代碼,以此獲得較好的跳躍手感。例如:

Update()

{

????? if(Input.GetButtonDown("Jump"))

????????????jumpPressed = true;

}

FixedUpdate()

{

???????if(jumpPressed = true)

????????????DoubleJump();

}

這樣當(dāng)玩家按下跳躍鍵時(shí),先會(huì)執(zhí)行Updata獲取已經(jīng)按下跳躍鍵的信息,然后固定執(zhí)行FixedUpdata,達(dá)到幾乎無(wú)延遲的跳躍效果。這也是實(shí)現(xiàn)幀同步的關(guān)鍵步驟。但是這個(gè)方案也并不完美,因接收頻率過高或者過低時(shí),固定執(zhí)行的FixedUpdata可能會(huì)出現(xiàn)響應(yīng)多次或者響應(yīng)過少的情況,本人做到這一步已經(jīng)完美解決跳躍手感問題,故沒有進(jìn)行下一步研究改進(jìn)。

關(guān)于跳躍手感的解決的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大丰市| 招远市| 荆门市| 大姚县| 磐安县| 天峻县| 潮安县| 肃南| 通化市| 崇明县| 宣汉县| 禄丰县| 台州市| 西藏| 米林县| 正阳县| 佳木斯市| 芦溪县| 平邑县| 四子王旗| 鹤庆县| 连州市| 吕梁市| 十堰市| 富源县| 青阳县| 无为县| 萨迦县| 沁阳市| 苍南县| 衡阳市| 陆良县| 吴堡县| 桂阳县| 偃师市| 湖北省| 大庆市| 娄烦县| 治县。| 陵川县| 南溪县|