✅ 오늘의 백로그
1. 무당 방울 멀티 연동
2. 게임 모여서 플레이 & 버그 찾기
1. 무당방울 멀티 연동
무당 방울은 기존 구현했었던 아이템들과 다르게 설치형이 아니어서 Use()라는 메서드 안에서 멀티플레이 동기화가 되도록 수정해 주어야 한다.
public class MudangBell : NetworkBehaviour, IUsable
{
// 생략 ...
public void Use()
{
// 서버, 클라 따로 동작되도록
if (Object.HasStateAuthority)
{
RpcBell();
}
else
{
RpcRequestBell(); // 서버에게 요청
}
}
[Rpc(RpcSources.All, RpcTargets.StateAuthority)]
void RpcRequestBell()
{
RpcBell();
}
[Rpc(RpcSources.StateAuthority, RpcTargets.All)]
void RpcBell()
{
if (_isShaking) return; // 이미 흔들리고 있으면 또 흔들지 않음
StartCoroutine(bellShake());
if (audioSource && audioSource.clip)
{
float vol = DistanceCalcul();
audioSource.PlayOneShot(audioSource.clip, vol);
}
}
}
어려운 점은 없고
[Rpc(Sources, Targets)] 를 달아줘서 설정해주면 된다.
RpcSources = 이 RPC를 보낼 수 있는 대상
RpcTargets = 이 RPC를 실행할 대상
- All : 아무나
- InputAuthority : 그 오브젝트의 입력 권한 가진 놈만
- StateAuthority : 그 오브젝트의 상태 권한 가진 놈만 (대부분 호스트/서버)
그래서 클라이언트가 무당방울을 흔들 때에는
RpcTargets을 StateAuthority로 설정해서 호스트에서 이 액션이 실행되도록 해주면 된다.

하지만 에러가 뜬다..


현재 InventoryManager를 확인해보면
- E로 키보드 입력을 받으면
현재 슬롯 아이템 확인 후
램프 제외 RPC_OnItemUsed를 호출해서
각 아이템들의 Use() 함수를 호출하고 있다.
_viewModelInstances는 Runner.Spawn이 아니라 Instantiate로 만들어졌기 때문에
무당방울 입장에서는 NetworkBehaviour를 상속받고 있으니 Runner로 스폰되어야 하는데 instantiate로 접근하니 null이 뜬 거 같다.

똑같이 Use()를 사용하는 다른 아이템을 확인해보니
Inventory Manager에서 어쩔 수 없이 이렇게 기능을 확장하신 게 보였다.
흠........ 그러면 Use 아이템이 확장될 때마다 이렇게 계속 추가를 해야한다는 뜻일 텐데.. 어떻게 해줘야 할까...?
2. 플레이 & 버그 발견
오늘은 주말에 있는 시험때문에 잠깐 타지역에 온 상황이라 노트북으로 작업을 해주고 있었는데
두개의 에디터를 열어서 테스트 하려고하니 많이 버벅여서 많은 진도를 나가지 못했다..
오후 마지막 시간에는 팀원끼리 모여서 직접 게임을 플레이 해보고 버그가 없는지 확인하기로 했기에
우선 나도 멀티플레이로 참가하였다.

처음으로 다른분들이 구현하신 걸 본 상황이라 너무 신기했다..!!
내가 구현한 것 중에 나타난 버그는
- 천우인이 벽이 아닌 공중에 스폰되는 현상
- 가이드북이 열리지 않는 현상
- 꽃신이 장애물 안에 박히고 이상하게 움직이는 현상
- 꽃신을 2층에 설치했는데 1층에 생성되는 현상
- 흑기가 공중에 떠 있어서 이상현상 중복 체크가 null > 똑같은 자리에 2개의 이상현상이 스폰되는 현상
그리고 참 이상하게도 무당방울이 왜인지 멀티가 된다.. ^^..... 이상하다...
우선 주말에 시험 잘 보고 시험 끝나는대로 위 버그들을 수정해주겠다.
'Unity > 멋쟁이사자처럼 부트캠프' 카테고리의 다른 글
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(115일차/Final Project) - 마감 전 최종 수정 및 발표 준비 (0) | 2025.11.11 |
|---|---|
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(114일차/Final Project) - 버그 수정 (0) | 2025.11.10 |
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(112일차/Final Project) - 탐지 아이템 멀티 연동 (0) | 2025.11.06 |
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(111일차/Final Project) - 부적 연동 & 스포너 로직 수정 (0) | 2025.11.05 |
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(110일차/Final Project) - 오브젝트풀 멀티 연동 (0) | 2025.11.04 |