我正在開發一款多人角色扮演遊戲,(不,它不是mmorpg。;)Smooth MultiPlayer機芯
我目前的設置是這樣的。
客戶端告訴服務器「我想向前移動」/「我想向後移動」,然後服務器更新您的實體,並通知所在地區的所有客戶端有關更改。服務器每隔20ms更新一次實體,每隔100ms向客戶端發送一次更新,這些更新包含位置,速度,旋轉等。
目前爲止還不錯,但我沒有任何資料可以平滑數據包之間的移動在客戶端,我必須說,我無法得到它的工作。我一直在閱讀預測,插值和死鎖,但對我來說這一切都很糟糕。
所以現在我只是做一些像「位置= Packet.Position」,這會導致一個非常口吃的運動。
所以,我想要的幫助是,我如何得到更流暢的運動?一直在看XNA預測樣本,但我無法做到。
謝謝// F
你是否只需要讓玩家的動作更流暢呢?客戶是否知道玩家的當前速度? – ssmir 2011-01-18 22:42:37
那麼,目前我只有球員,這是我最關心的問題。客戶端知道速度,它包含在服務器的狀態包中。其實我在IRC上得到了一個很好的答案,明天會試試,如果成功,我會分享。 – 2011-01-18 22:51:54