inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

클라이언트 에러 및 버그들

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

안녕하세요! 강의를 보며 멀티플레이 게임 제작을 공부 중인 학생입니다. 현재까지 나온 강의를 모두 듣고 클론 코딩을 하였는데 종종 클라이언트에서 에러가 발생합니다. 깃허브 코드와 강의를 다시 봐도 해결이 힘들어 질문을 작성하게 되었습니다. client 화면에서 hero 들이 모두 화면 중앙에 배치되는 현상 host는 문제 없이 host와 client영역으로 나뉘어져 있습니다. 이 경우 client에서 host보다 먼저 herospawn을 하면 null에러가 뜹니다. NullReferenceException: Object reference not set to an instance of an object Spawner.HeroSpawn (System.UInt64 clientId, System.String rarity) Spawner 스크립트의 HeroSpawn(ulong clientId, string rarity) 함수의 var existingHolder = GetExistingHolder(temp, data.Name); 이 부분이 문제라고 뜹니다. host에서 herospawn을 먼저 하고 client에서 herospawn을 하면 null 에러 없이 랜덤하게 두 가지 경우가 나옵니다.. 위 사진처럼 client 화면의 중앙에 모든 hero가 배치되는 경우 host, client모두 정상적으로 배치되는 경우 그러나 위 두 가지 경우 모두 client는 host가 마지막으로 생성한 영웅만 생성됩니다. ex) host가 warrior 소환 시 client는 warrior 만 소환, host가 summon 버튼을 눌러 archer 소환 시, client는 그 후로 archer만 소환 client 에서 영웅 클릭 시, NullReferenceException 발생 CameraRay 스크립트의 MouseButtonDown() 함수의 else if (value == 1) Canget = holder.Holder_Part_Name.Contains("CLIENT"); 부분에서 발생합니다. 위 두 문제의 해결법을 알고 싶습니다 ㅠㅠ 게임을 실행하며 찾은 버그들 입니다. 내 진영에서 상대 진영으로 hero 이동 가능 hero 없는 빈 홀더 클릭 및 이동 가능 (ui도 뜸) 빈 홀더 클릭 후, sell 버튼 클릭 시 Sell() 함수 내의 UI_Main.instance.GetNavigation 부분 인덱스 범위 에러 발생 몬스터 클릭 시 CameraRay 스크립트 MouseButtonDown()가 호출되어 heroholder가 null이 되어 에러 발생 버그들은 각 관련된 처리를 하지 않아 발생한 것 같지만, 위의 클라이언트 문제는 해결법을 모르겠습니다

  • C#
  • unity
  • multiplayer
  • game-programming
허지웅 댓글 1 좋아요 0 조회수 199

매니저관리에대해 질문이있습니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

강의를 듣고 제가 느낀 매니저들을 관리하는 방식은 최상위 Managers를 통해 각각의 매니저를 접근하도록 만든 방식인거 같더라고요(저의 해석이 틀렸다면 지적부탁드립니다.) 제가 여기서 궁금한 점은 다른 방식으로 각각의 매니저들을 싱글톤으로 만들어서 하는 방식이 존재하는데, 강의가 만약 게임의 규모가 커진다면을 생각해서 코드를 확장하기시기때문에 저도 좀 더 생각해보아서 후자의 방식이 더 좋은방식이지않을까?라는 생각이 들었습니다. 이 주장의 근거는 1.매니저들이 점점커지면 Managers에게 초기화 부담도 커질것이다. 2.Managers에 문제가생기면 모든 개별 Manager가 작동하지 않는다. 3.각 매니저는 전부 Managers에서 초기화 되기때문에 한 매니저에 의존성이 있는 매니저가 있을때 초기화 순서를 잘 해놓지않으면 오류가 발생한다. 다시 강조하자면 "게임의 규모가 커진다면 개별적으로 매니저들을 관리하는게 더 관리하기 좋은 방식이지 않을까?"에 대한 루키스님에 의견을 듣고싶어 질문을 올립니다.

  • C#
  • unity
박정준 댓글 1 좋아요 0 조회수 229

섹션6 InGame 맵(스테이지) 로드 (InGameManager) 프리팹 질문

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

안녕하세요. 강의 자료 중 리소스 관련 질문 드립니다. 아래와 같이 강의 공지를 인지하고 있으나, 이제 막 게임 개발을 공부중이기에 참고용 리소스 제공이 가능하실지 문의 드립니다. 특정 장르의 게임 플레이 구현을 다루지 않습니다. 즉 RPG, 플랫포머, 퍼즐 등 특정 게임 자체의 구현을 다루는 강의가 아닙니다. 현재 문의중인 강의 마지막 부분 중 Stages/ 부분 구현에 막혀있습니다.

  • C#
  • unity
  • 객체지향
dpravity 댓글 1 좋아요 0 조회수 239

해당 강의 자료를 유니티6로 마이그레이션이 가능할까요?

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

질문1) 유니티6로 해당 강의를 진행해도 문제가 되지 않는 지 궁금합니다. 질문2) 혹시 기존 학습을 진행했던 대상이, 유니티6로 마이그레이션이 가능하다면 방법적인 부분도 추가 안내해주실 계획이 있는 지 문의 드립니다.

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
메딕 댓글 1 좋아요 0 조회수 262

Ui 팝업 생성 clone문제, 강의 내용 문의

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

안녕하세요! 영웅소환 부 강의를 듣고 Ui 팝업 생성을 구현했습니다. 하지만 버튼을 누를 때마다, 팝업 clone이 계속 생성됩니다. 요부분 싱글턴 처리라던지, 이미 해당 팝업이 열려있는지 여부를 확인하는 부분과 같은 방어 로직 내용이 있는 강의가 있나요? 있다면 강의가 꽤 길어 제가 못찾고 있는 것 같아요 ㅠㅠ 강의 너무 잘 듣고 있습니다~ 그리고 제가 게임개발 인강에 기대했던 부분이 로딩시에 서버에서 리소스 다운받는 것, 저녁 이벤트 보상 같은 앱 푸시 어떻게 구현했나 궁금했는데요. 뒷 강의에 있는지 또는 추후에 강의하실 예정인지 문의드려요!

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
jjdev 댓글 1 좋아요 0 조회수 124

인터페이스 클래스 사용이유

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

오브젝트 풀링에서 IPool이라는 인터페이스 클래스를 만든 이유가 궁금합니다.

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
pmn06002 댓글 2 좋아요 1 조회수 150

multiplay부분 에러

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

Library\PackageCache\ com.unity.multiplayer.tools \NetVis\Configuration\OwnershipSettings.cs(41,24): error CS0103: The name 'CustomColorSettings' does not exist in the current context multiplay 열심히 보고 있는데요. 시작부터 이런 에러가 나와서 앞으로 나가지를 못 하고 있네요.

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
양승근 댓글 1 좋아요 0 조회수 151

4.10 델리게이트 예문이 이해되지 않습니다.

미해결

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

아래 한줄의 강의 예제문에서 public void GetSonToStudy(Son son) { (Son son) <---- 이 문구가 이해되지 않습니다. Son son (Son son) 이렇게 3개로 나눠 따로 따로 그 의미를 설명해 주시면 감사하겠습니다!

  • C#
  • unity
C#짱 댓글 1 좋아요 0 조회수 153

ui 생성 질문 있습니다.

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

ui 생성할 때 메모리 관련 질문 있습니다. 강의를 쭉 듣는 중입니다. UI 생성시에는 프리팹 제작, Instantiate(Resources.Load<>("UI/xxxx"))로 ui 생성하고 팝업 안에 아이템이 있는 경우에는 전부 생성 사용 종료 후 destroy 하는 방식 으로 이해했습니다. gameObject 생성 때 Object Pool 방식 구현 강의에서 메모리 관련해서 얘기 주셨는데요, 이런 ui 생성,destroy사용방식이 메모리 부하는 따로 없을까요? 방치형 게임에서 유아이도 많이 눌러서 많이 일어날거라 생각이 들어서요. SetActive로 관리하면 어떤지.. 다른 방법이 없나?? 궁금하여 문의드립니다.

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
jjdev 댓글 2 좋아요 1 조회수 176

Create의 GetOrAddComponent

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Poolable Create() { GameObject go = Object.Instantiate<GameObject>(Original); go.name = Original.name ; return go.GetOrAddComponent<Poolable>(); } 유틸에서 만들었던 GetOrAddComponent가 아닌 비쥬얼 스크립팅의 GetOrAddComponent로 연결이 되더라구요. UI 실습때는 Util.GetOrAddComponent<T>(go) 이런식으로 사용했었는데 괜찮을지 모르겠네요

  • C#
  • unity
EFFECT 댓글 1 좋아요 0 조회수 92

빈 게임 오브젝트에서 바인드가 실패하는 케이스

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Text나 Button같은 실체가 있는 오브젝트들은 바인드가 성공이 되는데 빈 게임 오브젝트를 바인드할 경우 바인드 실패가 계속 뜹니다.

  • C#
  • unity
이동현 댓글 1 좋아요 0 조회수 165

vscode에서 원그리기

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

현재 맥으로 강의를 듣고 있어서 비쥬얼스튜디오 대신 vscode로 수업을 따라가고 있습니다. 이런저런 방법으로 고쳐보려해도 터미널 창에 수업과 같이 같은 위치에 동그라미가 재생산(?)되지 않고, 아래줄로 무한정 그려지네요 ㅠ 게시판에 올라온 방법들 다 해봤는데도 안되네요.. code runner 확장도 설치해봤는데 안됩니다.. 저와 같이 vscode로 수업 들으시는 분은 안계신가요?... 이거 해결안되면 파트2 강의는 그냥 눈으로만 봐야할까 합니다..

  • C#
호롤롤로 댓글 1 좋아요 0 조회수 202

환결설정 강의 원 그리기

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

현재 맥으로 강의를 듣고 있어서 비쥬얼스튜디오 대신 vscode로 수업을 따라가고 있습니다. 이런저런 방법으로 고쳐보려해도 터미널 창에 수업과 같이 같은 위치에 동그라미가 재생산(?)되지 않고, 아래줄로 무한정 그려지네요 ㅠ 저와 같이 vscode로 수업 들으시는 분은 안계신가요?... 이거 해결안되면 파트2 강의는 그냥 눈으로만 봐야할까 합니다..

  • C#
호롤롤로 댓글 1 좋아요 0 조회수 154

6강 서버 연결해제 시 NullException

미해결

윈폼C#.NetFramework 0.5년차~3년차(파트2)

Client의 연결해제 시 위 이미지 부분에서 null exception이 발생합니다.

  • C#
  • 네트워크
  • .net
최중권 댓글 2 좋아요 0 조회수 131

영상이 안보입니다.

미해결

Unity 기초 & 실습 통합 강의: 게임 따라 만들기

영상이 보이는 강의도 있지만 대부분 강의의 영상이 안보입니다. 소리만 출력되고 영상이 안나오는 강의가 거의 대부분입니다. 크롬, 브레이브 브라우저 모두 마찬가지인데요, 확인부탁드립니다!

  • C#
  • unity
-J- 댓글 1 좋아요 0 조회수 166

소환위치질문있습니다

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

안녕하세요 선생님 왜 이렇게 한칸씩 밀리는 걸까요..혹시 캐릭터 피벗? 때문에 그런가요?? .. 어디를 수정해야 할지 아무리 찾아도 헷갈려서 질문합니다

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
anhyeokjun 댓글 2 좋아요 0 조회수 116

C++ 버전을 조금 접목해서 Send 관련해서 lock 잡는 부분을 수정해봤습니다!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. 지금 단계에서는 완벽한 테스트가 어려워서 강사님이 보시기에 어떨지 의견 듣고 싶습니다. Send 과정에서 락을 최소화하고 싶어서 C++ 버전을 조금 차용했습니다. ProcessSend()에서 RegisterSend()를 호출하는 식으로, 한 번에 하나의 송신만 담당하면 락을 줄일 수 있을 것 같아서요. public void Send(byte[] sendBuffer) { lock (_lock) { _sendQueue.Enqueue(sendBuffer); } if (0 == Interlocked.Exchange(ref _sendRegistered, 1)) RegisterSend(); } 이렇게 해서 한 번에 하나의 스레드 만 접근하게 하구요. void RegisterSend() { lock (_lock) { while (0 < _sendQueue.Count) { byte[] buffer = _sendQueue.Dequeue(); _pendingList.Add(new ArraySegment<byte>(buffer, 0, buffer.Length)); } _sendEvent.BufferList = _pendingList; } bool pending = _socket.SendAsync(_sendEvent); if (false == pending) { OnSendCompleted(null, _sendEvent); } } 큐에서 데이터를 가져와 _sendEvent.BufferList에 세팅할 때만 락 을 잡습니다. OnSendCompleted 는 전체에 락을 안 잡고 중간에만 락을 잡았습니다. void OnSendCompleted(object sender, SocketAsyncEventArgs sendEvent) { if (0 < sendEvent.BytesTransferred && SocketError.Success == sendEvent.SocketError) { try { Console.WriteLine($"Transferred bytes {sendEvent.BytesTransferred}"); lock(_lock) { _sendEvent.BufferList = null; _pendingList.Clear(); if (0 == _sendQueue.Count) { Interlocked.Exchange(ref _sendRegistered, 0); return; } } RegisterSend(); } catch (Exception e) { Console.WriteLine($"OnSendCompleted Error {e.Message}"); } } else { Disconnect(); } } 답변 부탁드립니다. 감사합니다!

  • C#
  • unity
  • 네트워크
literate_t 댓글 2 좋아요 0 조회수 212

Part2는 계획이 없으신가요?

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

11월에 나온다고 들었었는데 소식이 없네요..

  • C#
  • unity
  • 객체지향
차동민 댓글 2 좋아요 1 조회수 190

싱글톤 매니저와 씬

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

만약에 로딩씬에서 온갖 싱글턴 매니저를 초기화한 후 메인씬으로 넘어가는 로직을 만든 경우, 매니저 오브젝트들이 전부 로딩씬에 배치해서 메인씬에서 개발할때는 Hierarchy 창에 아무것도 안보이고, 개발 모드에 들어가도 로딩씬을 거치지 않으니 아무 매니저도 안생길것 같은데, 이럴때는 어떻게 해결할수 있나요?

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
무자본 댓글 2 좋아요 0 조회수 133

안녕하세요. 저도 4장을 공부 중인데 Cavas가 그려지지 않는 문제가 생겨 문의드립니다.

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

Title 씬에 UIManager를 추가한 뒤에 생긴 문제인데요, 이전 질문을 참고하여 URP인 경우 Camera의 Environment의 BackgroundType값을 Uninitialized로 해줬지만, 여전히 다른 색으로 덮혀 있네요. UIManager의 카메라를 비활성화하면 이렇게 잘 나옵니다. 제 환경이 유니티 6이라서 그런 걸까요?

  • C#
  • unity
  • 객체지향
육포 댓글 5 좋아요 1 조회수 467

인기 태그

인프런 TOP Writers

주간 인기글