한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

遊戲 Lag 白皮書 › 只有部分人遇到的問題

消失通知遺失(幽靈物件) Missed despawn (ghost entity)

原因 ID pt-ghost · 主要負責 遊戲開發團隊(伺服器開發) · 協同 遊戲開發團隊(用戶端開發)

在含圖解與實驗的完整版中開啟卡片 →

反過來,漏掉「已消失」的通知時,早已死亡或離開的 NPC、玩家會只留在自己的畫面上。

為什麼 死亡、離場、離開視野的通知遺失或順序錯亂 → 於是 用戶端認為那個物件還在 → 畫面上 打了也沒反應的怪物、早已離開的玩家還站在原地

症狀
看不見/幽靈物件
因素
遺失
誰會遇到
同一台電腦只有其中一個用戶端, 只有我
何時
偶爾隨機發生, 人潮湧入時
負責單位
主要負責 遊戲開發團隊(伺服器開發) · 協同 遊戲開發團隊(用戶端開發)
遊戲開發團隊要做的事
伺服器:定期送出「目前可見清單」。用戶端:刪除清單上沒有的物件,應該在移動的物件若長時間沒有更新就隱藏。
圖表上
偶爾隨機飆高 · 只留在用戶端的物件數
查看位置
比較伺服器送來的「目前可見清單」與用戶端持有的物件清單,計算只存在於用戶端的物件,並以物件 ID 對照消失通知的發送與接收 log
符合的跡象
幽靈物件的消失通知伺服器有送,用戶端卻沒有接收紀錄,或消失通知比出現通知先到、順序顛倒
不符合的跡象
伺服器的可見清單裡也還留著那個物件時,是伺服器端漏了物件清理。剛有新物件以同一個 ID 出現時,是物件 ID 重複使用造成誤認
確認方式
需要遊戲伺服器/用戶端的 log 與指標

出處

  1. Actor Relevancy in Unreal Engine Epic Games
    不再相關的動態 actor 會從用戶端刪除
  2. Object visibility (Netcode for GameObjects 2.5) Unity
    隱藏物件後,該用戶端會將物件 despawn 並刪除

相關原因

同一層:只有部分人遇到的問題

同一症狀(看不見/幽靈物件)在其他層的原因

查看含圖解與實驗的完整版卡片