金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 653959
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內(nèi)容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11016)
2.?SVN中邪惡的replace(10938)
3.?VS2005編譯libevent(10404)
4.?混音算法的學(xué)習(xí)與研究(10183)
5.?C調(diào)用lua腳本的效率測試(9003)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
利用慣性和加速度進行網(wǎng)游位置同步
利用慣性和加速度進行網(wǎng)游位置同步
帶寬限制下的視覺實體屬性傳播
(Propagation of Visual Entity Properties Under Bandwidth Constraints)
(http://blog.csdn.net/lfhfut/archive/2008/03/02/2138512.aspx)
一文中使用滯后補償時間(LCT, Lag Compensation Time)來平滑客戶端的顯示.
在此方法下, 客戶端主角顯示在未來位置, 超前于服務(wù)器時間,
而同伴顯示過去的位置, 滯后于服務(wù)器時間.
所以兩個人一齊跑時, 總是會發(fā)現(xiàn)同伴落后于自己.
為了減弱同伴落后問題, LCT應(yīng)該用于遠方物體的位置同步, 越遠LCT可以越大.
就像我們觀察星星, 我們看到是其實是幾萬年前星星的樣子, 因為星星距離我們有幾萬光年.
對于周圍近距離的物體, LCT應(yīng)該盡量小, 接近0.
所以上文并沒有解決客戶端的平滑問題.
文中所述的導(dǎo)航預(yù)測算法(DR, Dead Reckoning)并不應(yīng)該放棄.
導(dǎo)航預(yù)測算法的原理是推算出未來的位置,LCT是將過去的位置作為現(xiàn)在位置來處理.
對于鄰近物體, 應(yīng)該顯示未來的位置.
因為出于操作感的考慮, 主角的位置是超前于服務(wù)器的, 不可能等服務(wù)器確認后再移動.
所以周圍同伴的位置也應(yīng)該是超前的, 這樣才不會有同伴總是落后于自己的現(xiàn)象.
導(dǎo)航預(yù)測算法不適用的主要原因是, 網(wǎng)游人物的移動是高度隨機的, 狀態(tài)更新太頻繁.
這其實不是問題, 因為有預(yù)測肯定比沒有預(yù)測要好.
在預(yù)測范圍內(nèi), 就不必發(fā)位置更新.
最差情況下, 每個預(yù)測結(jié)果都是錯誤的, 必須修正為實際的位置,
這就退化成為沒有預(yù)測的簡單的位置更新方法.
但是如果網(wǎng)絡(luò)延時50ms, 這50ms的預(yù)測是必須的.
因為客戶端表現(xiàn)的是超前服務(wù)器50ms前的景象.
這就存在同伴掉下懸崖的現(xiàn)象, 因為同伴在懸崖邊上的停止的消息要在50ms后才到.
這種問題在預(yù)測法中是無法解決的, 除非添加行為預(yù)測.
但是可以添加一個加速度來減少這種預(yù)測錯誤.
導(dǎo)航預(yù)測算法適用于飛機飛行模擬這類具有很大慣性的移動.
網(wǎng)游中的移動問題根源就是慣性不足, 有了慣性, 角色將無法任意更改移動狀態(tài),
從而大大減少預(yù)測錯誤.
人物在懸崖邊上停止的動作必須有個減速的過程, 只要在50ms之前減速,
就會正確計算出停止點, 避免了墜崖. 開始移動時也是有個加速過程.
并且, 客戶端主角的慣性可以大于服務(wù)器端, 而周圍物體的慣性可以小于服務(wù)器端.
產(chǎn)生的效果是, 主角的動作變遲鈍, 減少超前時間.
而周圍物體稍稍靈活, 增加了超前時間.
或許我們所處的世界也是虛擬的, 創(chuàng)世者為了位置同步而給我們這個世界加上了慣性和加速度的規(guī)則.
(轉(zhuǎn)載請注明來源于金慶的專欄)
posted on 2009-10-30 15:54
金慶
閱讀(2582)
評論(5)
編輯
收藏
引用
所屬分類:
2. 網(wǎng)游開發(fā)
評論
#
re: 利用慣性和加速度進行網(wǎng)游位置同步
2009-10-30 23:36
陳昱(CY)
學(xué)習(xí)了,目前在嘗試休閑的小游戲,按文章所說的用LCT,但仍然不時會小小延遲,于是也加了點慣性,這樣一來游戲是平滑了,但是操作反應(yīng)和手感.....
回復(fù)
更多評論
#
re: 利用慣性和加速度進行網(wǎng)游位置同步
2009-11-02 10:17
heweitykc
經(jīng)典!!
回復(fù)
更多評論
#
re: 利用慣性和加速度進行網(wǎng)游位置同步
2010-07-27 02:01
yisa
目前 WOW仍然沒有使用航位推演, 而很可能是鑒于"LCT"的復(fù)原;
但是 除了WOW 別的游戲(可以算上tianxia2, 劍w三)的同步實在不敢恭維,
不知道 KOK3用了什么, 結(jié)果怎么樣
回復(fù)
更多評論
#
re: 利用慣性和加速度進行網(wǎng)游位置同步
2010-07-27 10:13
金慶
@yisa
kok3中有導(dǎo)航預(yù)測,也有滯后補償時間,所以有同伴落后問題。網(wǎng)絡(luò)卡時,會有人物被拉回的現(xiàn)象。這一部份一直在改進,現(xiàn)在已經(jīng)很不錯了,正常情況下感覺真實性很好。
回復(fù)
更多評論
#
re: 利用慣性和加速度進行網(wǎng)游位置同步
2010-08-03 17:14
yisa
@金慶
今天讓策劃打開了兩個KOK3(第一次看KOK3)的客戶端
感覺移動速度比較慢
人物一直按住向前走(W按鍵),
外地客戶端表現(xiàn)上: 中間會出現(xiàn)突然一停, 然后繼續(xù)走
是不是 因為心跳包的緣故.
"同伴落后問題", 只要是本地先移動 都這樣.
KOK3的移動操作在外地客戶端的執(zhí)行跟本地客戶端之間的時差很小,
感覺不到0.5s.
其他感受:
上臺階的時候的跳躍: 如果人物在空中, 因為前方地表突然變高, 人物在空中的高度突然被臺高了, 感覺不舒服(這個問題和同步無關(guān))
下落著地的時候, 似乎沒有對如果在繼續(xù)移動還是停止移動沒有分開處理, 感覺不好. 人物表現(xiàn)稍微死板了點.
移動中, 起跳, 然后釋放移動按鍵, 突然在空中把水平移動速度變成0(但是: 原地起跳, 在空中按下移動鍵沒有任何移動), 操作上, 前者感覺太突然.
可能因為2D的移動操作, 單純在位移同步上感覺比天下二和劍三要好, 但是移動操作的本地感覺沒有后兩者舒服.
點擊移動的指示效果, 怎么馬上消失掉了, 狂點擊, 指示效果一連片哈.(怪怪)
怪物的追擊感覺沒有.(可以參考Mangos)
移動能取消太多的行為了: 自動攻擊, NPC對話...(不知道是不是被策劃束縛了)
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應(yīng)答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
国内精品久久久久伊人av
|
久久综合狠狠色综合伊人
|
久久精品亚洲中文字幕无码麻豆
|
青青草原1769久久免费播放
|
亚洲中文精品久久久久久不卡
|
久久久99精品成人片中文字幕
|
久久久久久亚洲AV无码专区
|
99蜜桃臀久久久欧美精品网站
|
久久精品中文字幕一区
|
精品久久一区二区三区
|
精品国产乱码久久久久久郑州公司
|
99蜜桃臀久久久欧美精品网站
|
久久午夜夜伦鲁鲁片免费无码影视
|
久久精品国产精品亚洲人人
|
久久99国产精品久久久
|
国产一级持黄大片99久久
|
国产精品美女久久久久
|
WWW婷婷AV久久久影片
|
精品国产91久久久久久久
|
99久久99这里只有免费费精品
|
久久久噜噜噜久久中文福利
|
久久精品成人免费看
|
国产精品欧美久久久久无广告
|
国产精品久久波多野结衣
|
996久久国产精品线观看
|
亚洲一本综合久久
|
久久综合视频网站
|
久久久久久亚洲AV无码专区
|
久久精品国产亚洲一区二区
|
久久99精品久久久久久噜噜
|
偷偷做久久久久网站
|
久久av无码专区亚洲av桃花岛
|
91超碰碰碰碰久久久久久综合
|
亚洲欧美国产日韩综合久久
|
久久久久人妻精品一区
|
久久久久国产一级毛片高清板
|
久久精品中文字幕一区
|
天天久久狠狠色综合
|
99精品国产免费久久久久久下载
|
97久久超碰国产精品旧版
|
久久er国产精品免费观看8
|