XR플밍 - 12. UnityEngine3D 네트워크 프로그래밍 - 네트워크 프로젝트 Round5 12일차 (8/6)

이형원·2025년 8월 6일
0

XR플밍

목록 보기
157/215

1. 금일 한 업무 정리

오늘은 전체 팀 회의를 통해 작업물 병합 과정을 거쳤고, 병합 과정 중의 연결 과정 및 버그 픽스 등의 작업을 진행했다.

2. 문제의 발생과 해결 과정

2.1 네트워크에서의 디버깅 관련

throw new aggregateexception("caught " + exception count + " exceptions) in methods called by dispatchincoming commands(). rethrowing first only (see above).", ex);

이와 같은 오류를 겪었다. 이상하게 이 오류는 디버깅을 할 때 중단점으로 잡지 않았음에도 잡히고, 해당 오류가 뜻하는 바가 뭔지 알 수 없었다.

이 오류가 발생했던 원인은, 해당 컴포넌트가 RPC를 사용함에도 PhotonView를 달지 않았을 경우에 발생한다.

2.2 합치기 작업의 시작, 그리고 초기화의 어려움

합치기 작업에서 매우 많은 시행착오를 겪었다. 인게임 매니저 자체를 내가 미리 만든 테스트매니저를 바탕으로 팀장이 다시 짜서 그런 것도 있지만, 세부적으로 달라진 내용 때문에 이를 다시 합치는 작업이 생각보다 어려웠다.
필요한 작업은 이벤트 연결과 변수명 연결이었는데, 해당 부분은 코드를 분석하고 진행해야만 했다. 조금이라도 수틀리면 이상하게 작동했기 때문에 상당히 시간이 많이 걸렸다.

그리고 무엇보다도 어려운 건 게임 재시작 기능, 초기화 기능을 만드는 것이었다.
시도해 본 방법은 다음과 같았다.

  1. 씬을 그냥 재로딩하면 안될까?
    -> 매니저가 파괴되서 그대로 게임이 정지하더라...

  2. 이미 사용한 맵을 파괴하고 다시 생성하면 안 될까?
    -> 지금 로직상 PhotonNetwork.Destroy를 하니까 오브젝트 풀 작동으로 인해서 파괴가 안됨.

  3. 그럼 파괴하는 것을 포기하고 차라리 맵을 새로 누적해서 만들자
    -> 현재 시도하고 있는 방법이며, 계속 오류가 나고 있어서 내일 다시 시도해볼 생각이다.

3. 개선점 및 과제

3.1 연결작업 마무리, 게임 초기화의 방법

3.2 버그 수정

3.3 폴리싱

3.4 리팩토링

profile
게임 만들러 코딩 공부중

0개의 댓글