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

게임 렉 백서 › 일부에게만 생기는 문제

퇴장 알림 유실 (유령 개체) Missed despawn (ghost entity)

원인 ID pt-ghost · 주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발

그림과 실험이 있는 원본 카드로 열기 →

“사라졌다”는 알림을 놓치면, 이미 죽었거나 떠난 NPC·플레이어가 내 화면에만 남습니다.

왜 죽음·퇴장·시야 이탈 알림이 손실되거나 순서가 꼬임 → 그러면 클라이언트는 그 개체가 아직 있다고 판단 → 화면에서는 때려도 반응 없는 몬스터, 이미 나간 플레이어가 서 있음

증상
안 보임·유령 개체
요인
손실
누가 겪나
같은 PC의 한쪽 클라만, 나만
언제
가끔 무작위로, 사람이 몰릴 때
담당
주 담당 게임개발팀·서버 개발 · 함께 게임개발팀·클라이언트 개발
게임개발팀 할 일
서버: 주기적으로 “지금 보이는 목록” 보내기. 클라이언트: 목록에 없는 개체는 지우기, 움직여야 할 개체가 오래 갱신이 없으면 숨기기.
그래프에서는
가끔 무작위로 튐 · 클라이언트에만 남은 개체 수
확인할 곳
서버가 보내는 “지금 보이는 목록”과 클라이언트가 가진 개체 목록을 비교해 클라이언트에만 있는 개체를 세고 퇴장 알림의 발송·수신 로그를 개체 ID로 대조
이러면 맞음
유령 개체의 퇴장 알림을 서버는 보냈는데 클라이언트 수신 기록이 없거나, 퇴장이 등장보다 먼저 도착해 순서가 뒤집혀 있음
이러면 아님
서버의 보이는 목록에도 그 개체가 남아 있으면 서버 쪽 개체 정리 누락. 같은 ID로 새 개체가 나타난 직후라면 개체 ID 재사용 혼동
확인 수단
게임 서버·클라이언트의 로그·지표가 필요

출처

  1. Actor Relevancy in Unreal Engine Epic Games
    관련성이 없어진 동적 액터는 클라이언트에서 삭제됨
  2. Object visibility (Netcode for GameObjects 2.5) Unity
    개체를 숨기면 그 클라이언트는 개체를 despawn·삭제

함께 보면 좋은 원인

같은 층: 일부에게만 생기는 문제

같은 증상(안 보임·유령 개체)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기