感謝作者分享琐驴,有幾個(gè)疑問:
1错邦、服務(wù)器收到客戶端預(yù)測操作的時(shí)候厅瞎,由于客戶端上行阻塞尊浓,服務(wù)器可能瞬間收到N個(gè)操作包审胚,服務(wù)器是以什么頻率在執(zhí)行操作指令吓揪?
2包帚、客戶端一直預(yù)測镣典,sequence應(yīng)該是早于服務(wù)器的兔毙,為何會(huì)出現(xiàn)localCmd.sequence <= lastFromserver.sequence ?客戶端卡幀了嗎兄春?
3澎剥、“每個(gè)模擬幀,客戶端都把本地已經(jīng)執(zhí)行過而且沒有被服務(wù)確認(rèn)過的指令都執(zhí)行一遍,然后再生成新的指令” 這個(gè)狀態(tài)不一致是客戶端檢查的,服務(wù)器并不知道赶舆,此處為何需要生成新的操作指令哑姚?服務(wù)器此時(shí)可能已經(jīng)收到客戶端后面的舊操作指令了祭饭。
[從零開始的Unity網(wǎng)絡(luò)同步] 6.客戶端本地預(yù)表現(xiàn)在上一篇文章已經(jīng)介紹完在服務(wù)端控制的物體通過把狀態(tài)發(fā)到客戶端,客戶端去"追趕"服務(wù)器的狀態(tài)來實(shí)現(xiàn)同步的,現(xiàn)在來談?wù)勅绾卧诳蛻舳俗霰镜仡A(yù)表現(xiàn). 1.什么要本地預(yù)表現(xiàn)?為什么要本...