✅ 오늘의 백로그
1. 애니메이션 적용
2. 버그 분석 및 해결
1. 애니메이션 적용

Player Controller 스크립트 내부에 시체 운반 관련된 파라미터 값들이 이미 세팅되어있으니
나는 이 값들을 토대로 애니메이터 변환 조건만 추가해주었다.
이제 이 파라미터 값을 스크립트에서 만져주기만 하면 된다.
[Rpc(RpcSources.InputAuthority, RpcTargets.StateAuthority)]
private void RPC_RequestStartCarry(NetworkObject corpseObject)
{
// 생략...
// 애니메이션 적용
// 시체 업은 사람
var playerController = GetComponent<PlayerController>();
if (playerController != null)
{
// Debug.Log($"[Corpse] 시체 들기 true");
playerController.CarriedPlayerId = corpseObject.Id;
}
// 시체
var corpseController = corpseObject.GetComponent<PlayerController>();
if (corpseController != null)
{
// Debug.Log("$[Corpse] 시체 애니메이션 적용");
corpseController.IsBeingCarried = true;
}
}
네트워크를 통해서 위치/애니메이션이 멀티 플레이어간 동일해야 하므로 RPC 내부에서 조작해주었다.

좀 어색한 감이 있지만 일단 시체 애니메이션이 적용되긴 했다.

carry Pos 값은 흠 일단 얼추 이렇게 설정했다.
2. 버그 분석
하지만 이렇게 간단하게 끝나면 정말 좋았을 텐데 역시나 문제가 많다.
- 클라이언트는 시체 운반이 안되는 현상
- 시체 드랍이 안되는 현상
- 시체 운반 시 타 아이템이 들리는 현상

이건 그냥 시체 들었을 때 인벤토리 상호작용 안되도록 막아주면 될 것 같구
- 관전자 시점 이상해지는 현상

이건 관전자 카메라 스크립트를 한번 확인해봐야할 것 같음...
내 생각엔 카메라 Pos 값이 플레이어 등 쪽 부근에 위치해 있는데
시체를 들어버리면서 생긴 문제로 추측된다.
- 걷는 애니메이션 무시되는 현상 & 위치 동기화 이상한 현상

걷는 애니 무시 -> Carry 애니메이션을 블렌더 트리 안에 넣으면 될 것 같고
위치 동기화 이상 -> 이건 원인을 잘 모르겠다....
1. 클라이언트 상호작용
우선 클라이언트는 시체 운반이 안 되니까 이부분 부터 해결해주겠다.
어디서부터 동작이 안되는지 로그를 다 찍어봤는데
TryRequestCarry까지 잘 호출이되는데도 시체를 들지않는다...
[Rpc(RpcSources.InputAuthority, RpcTargets.StateAuthority)]
private void RPC_RequestStartCarry(NetworkObject corpseObject)
{
// 생략
}
아무래도 RPC 쪽 문제인 것 같다.
지금보면 StateAuthority는 서버가 관리하고 있고 InputAuthority 도 실제로는 클라가 들었지만 서버에서 실행하고 있기 때문에 입력 주인이 서버측이 되어서 무시되는 것 같다.
[참고]
Fusion 2 - 원격 프로시저 호출 | Photon Engine
RPC(원격 프로시저 호출)는 특정 이벤트를 네트워크 클라이언트 간에 공유하기에 이상적입니다. 반면에, [Networked] 속성은 지속적으로 변하는 상태를 공유하는 데 적합한 기본 솔루션입니다. 예를
doc.photonengine.com
그래서 기존에 구현해둔 RPC를 모두 지우고
그냥 TryRequestCarry 메서드 안에서 Object.HasStateAuthority로 서버만 상태를 바꿀 수 있도록 한 다음
그대로 RPC에 구현한 걸 여기에 복붙해주었다

이제 클라이언트도 시체 운반을 잘 한다!!
그런데 지금 보는 것 처럼 시체 운반이 한 프레임?씩 느려서.. 이 문제도 한번 어디서 생긴 문제인지 찾아봐야겠다.
일단 이건 잠시 미뤄두고 기능 안되는거 먼저 고쳐야징
'Unity > 멋쟁이사자처럼 부트캠프' 카테고리의 다른 글
| [천도컴퍼니] 플레이어가 사망했을 때 타 플레이어가 업어가는 로직 구현 (4) (7) | 2025.12.01 |
|---|---|
| [멋쟁이사자처럼 - 유니티 스튜디오 인턴십] 하이퍼캐주얼 게임 기획 및 로직 확인 (0) | 2025.11.28 |
| [천도컴퍼니] 플레이어가 사망했을 때 타 플레이어가 업어가는 로직 구현 (2) (0) | 2025.11.26 |
| [천도컴퍼니] 플레이어가 사망했을 때 타 플레이어가 업어가는 로직 구현 (1) (0) | 2025.11.25 |
| [멋쟁이사자처럼부트캠프] 유니티 게임 개발 5기(116일차/마지막) - 발표 & 수료 (0) | 2025.11.12 |