inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Thread의 실행순서를 잘 이해한건지 모르겠어요

해결됨

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

처음에 메인에서 t.Start();가 Console.WriteLine("Hello World!")보다 먼저 와 있어서 제 생각에는 먼저 Hello Thread!가 먼저 찍힐 줄 알았는데, 실행해보면 Hello World!가 먼저 찍히고 Hello Thread!가 찍히더군요. 그렇다는건 이 Thread라는 일꾼은 메인이 끝난 뒤에야 실행된다는 건가요??

  • C#
  • unity
  • network
댓글 1 좋아요 3 조회수 434

Bind 함수 관련 질문 - 이해하기 너무 어렵네요 ㅠ

미해결

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

안녕하세요 Bind 함수를 이해하려고 해도 너무 어려워서 아래와 같이 Bind 함수의 개념도(?)를 그려보았는데 제대로 이해한 것인지요? 아울러 추가적인 두 가지 질문에도 답변해 주시면 감사하겠습니다. 늘 강의 잘 듣고 있습니다. 고맙습니다.

  • bind
  • C#
  • unity
루테닛댄 댓글 1 좋아요 2 조회수 493

이동 동기화 관련 문의

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요. 좋은 강의 잘 보고 있습니다. 이동을 할때 패킷을 한칸 이동하는 애니메이션이 끝날때 보내는 것으로 설명하신거 같은데요. 이동 시작할때 보내는 것과 차이가 있을까요? 예를 들면, 나와 상대의 위치 사이에 한칸의 빈 공간이 있고, 거의 동시에 (상대가 미세하게 먼저 이동) 빈 공간으로 이동한 경우라 하면... 이동 애니메이션이 끝났을 때 패킷을 보내게 되면 나의 캐릭터가 빈공간에 거의 도착을 했을 때 상대 이동 패킷을 서버에서 받게 되므로 내 위치가 원래 위치로 복귀하게 되고 상대가 이동을 시작하게 되는 것 같네요. 만약 이동 시작할 때 패킷을 보내는 경우라면 나의 캐릭터가 이동중에 패킷을 받게 되므로 상대 캐릭터도 이동하여 빈공간에서 겹쳐보이다가 서버 판정으로 내 캐릭터가 원래 위치로 복귀하게 될 거 같네요. 이렇게 생각하는게 맞는건가요?

  • unity
  • C#
굿데이 댓글 1 좋아요 0 조회수 346

RayCasting 관련 질문

미해결

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

안녕하세요 UnityChan이 몬스터를 클릭했을 때 제대로 attack이라는 판정이 안들어가는 것 같아서 확인해봤는데 raycasting이 몬스터에 가까워질수록 하늘을 주시하더라구요 무슨 문제인가요?

  • unity
  • C#
댓글 4 좋아요 0 조회수 351

3D MMORPG 같은 경우 맵 관리를 어떻게 해야하나요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요 현재 2D 관련 피격 판정 강의를 보다가 3D 지형같은 경우 어떻게 처리해야 할지에 대해 궁금해서 글을 남깁니다. 제가 현재 진행중인 프로젝트는 3D 기반의 5x5km ~ 8x8km의 오픈월드 인데요. 3D 지형이라서 언덕과 산과 같은 것들로 인해 굴곡이 져있고 게다가 오픈월드라서 많은 오브젝트들이 배치되어 있는데 이 부분에 대해 어떻게 해야할지 고민스럽습니다. 피격 판정 및 장애물을 지날수 있느냐 없느냐도 결국엔 맵 정보가 서버에 있어야 가능할 텐데 이 부분을 어느정도는 클라이언트 딴에서 처리하는 방식으로 해도 괜찮나요?.. 학부 수준에서 소수의 인원이 모여서 하는 프로젝트라 모든 것을 엄격하게 서버에서 처리할 필요는 없기는 한데 그래도 서버에서 처리를 하는 것이 당연히 맞다고는 생각하지만 방법이 떠오르지가 않습니다 ㅠ 모든 것을 1,0으로 처리하기에는 3D라 z축 기준에서는 또 이게 적용이 되는지 잘 모르겠구 맵도 넓고 오브젝트도 너무 많아서 그렇게 했다가는 엄청난 용량이 발생할 거 같다는 생각도 듭니다. 3D 지형에서는 어떤식으로 맵에 관한 정보를 뽑아오는지 그리고 넓은 오픈월드 안에 있는 모든 오브젝트들 또한 정보를 어떤식으로 뽑아오고 서버에서 이것을 어떻게 관리해야하는지 조언 해주시면 정말 감사하겠습니다!!

  • C#
  • unity
ronaldong7 댓글 1 좋아요 0 조회수 592

Animation 질문

미해결

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

안녕하세요 강의에서 사용하신 Knight가 없어서 다른 애니메이션을 가져왔습니다. attack 애니메이션을 unityChan에 적용하면 왜인지 모르겠지만 땅에 박혀있더라구요 auto로만 사용했을 때는 잘 되는 것 같은데 auto와 Unity model이 정확히 뭐가 다른건가요?..

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

Json 파일 추가시 에러

미해결

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

안녕하세요 Json파일을 추가하고 긁어온 데이터를 Log를 찍는 과정에서 프로젝트가 다음과 같이 에러를 뱉어냅니다. Unity에서 StatData.json을 더블클릭해서 열면 한번 외부에서 수정했다는 문구가 뜨면서 솔루션 탐색기에서 아이콘이 변경되고 이후부터는 UNITY에 연결도 안되고 디버깅도 안됩니다..

  • C#
  • unity
댓글 2 좋아요 0 조회수 695

오류가 떴는데 뭐가 문제인지 모르겠어요

해결됨

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

Assets\Script\Managers\Managers.cs(16,19): error CS0246: The type or namespace name 'UIManager' could not be found (are you missing a using directive or an assembly reference?) 이런 오류가 떴는데요 Managers 스크립트에서 UIManager _ui = new UIManager(); public static UIManager UI { get { return Instance._ui; } } 이 두 줄이 문제라고 떴습니다. 문제를 찾고 싶어서 강사님이 올려놓은 코드+정리와 비교해봤는데 도저히 못찾겠어서 질문적어봅니다.. 아래는 오류난 유니티 파일 링크입니다. https://drive.google.com/file/d/16Ayu9tOwC4CKTQcAKrsrTuPx1Sa3Rh_5/view?usp=sharing

  • C#
  • unity
댓글 2 좋아요 1 조회수 614

FindObjectOfType 질문입니다.

미해결

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

GameObject.FindObjectOfType<BaseScene>(); 해당 함수가 Object를 찾는 기준이 궁금해서 유니티 도큐먼트를 검색해 봤는 데요 Description Returns the first active loaded object of Type type . first active loaded <- 이 말이 참 흥미롭더라구요 BaseScene이라는 컴포넌트는 유니크하기에 잘 찾겠지만 여러 게임 오브젝트가 동일한 컴포넌트를 들고있는 상태에선 어떤 게임오브젝트를 반환하나요?

  • unity
  • C#
댓글 1 좋아요 1 조회수 460

웹서버와 게임서버의 활용에 관하여 질문이 있습니다.

미해결

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

좋은 강의 만들어주셔서 감사합니다. 정말 잘 가르쳐주셔서 너무 익혀나가고 있습니다. 다름이 아니라 혹시 웹서버와 게임서버의 활용에 관하여 질문이 개인적인 질문이 있는데 어디에 문의를 드려야 할지 모르겠어서 여기로 질문드립니다... 친구들과 같이 진행중인 프로젝트가 있는데 서버를 처음 다루다보니 AWS를 활용한 웹서버 + 클라이언트 구조로 활용하여 게임을 개발하려 하였습니다. 그런데 이제 OT에서 웹서버와 게임서버의 활용법을 얘기하셔서 저희 게임의 기획에 맞게 게임서버를 활용하기로 하였습니다. 다만, 웹서버와 게임서버를 병행하여 랭킹시스템, 유저정보 등은 웹서버를 활용하여 매치메이킹을 해주는 등에 활용하고 실제 게임이 매치되어 진행하는 동안에는 게임서버를 사용하는 것으로 구상중에 있습니다. 이제 로딩시 버전체크 등 파일 확인에도 웹 서버를 활용하면 괜찮을거 같아서 이렇게 진행을 하고 싶은데 하나의 게임 안에서 서버를 교체하여 매치를 진행한다는 것이 가능한 것인지가 궁금합니다. 저희가 아직 학생신분을 가진 상태라서 서로가 공부목적으로 진행하는 프로젝트이다 보니 웹서버에 관심을 가지고 있는 친구가 있어 포기할 수는 없는 상태인데 이게 이중연결이 진행이 되는 것인지 아니면 웹서버의 연결을 끊고 게임서버로 다시 연결시켜주는게 괜찮은 방식인가 싶습니다... 강의와는 무관한 질문 정말 죄송합니다 ㅠㅠ

  • network
  • unity
  • C#
ghwls328 댓글 1 좋아요 4 조회수 1867

transform에 대한 질문

미해결

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

안녕하세요 강의 잘 듣고있습니다. 이전 강의를 들으면서 transform이라는 변수를 통해 child에도 접근할 수 있고 gameObject에도 접근할 수 있음을 알게 되었습니다. 궁금한건 아래 코드와 같이 girdPanel.transform을 foreach에 넣어주면 자동으로 자식들의 transform이 child라는 변수에 들어가나요?.. 너무 신기합니다. 어떠한 원리에서 가능한걸까요..? 개발자의 편의를 위해 저런식으로 동작하게 구현해놓은걸까요?

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

AddComponent와 UI_Popup.cs에 대한 질문

미해결

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

안녕하세요 강의 너무 잘 듣고 있습니다. 강의를 들으면 들을수록 기초 개념이 부족하다는 생각이 듭니다. 1. 이미 되게 자연스럽게 쓰고있던 AddComponent 함수에 대한 질문입니다. 를 실행하면 ShowPopupUI에 들어가 GetOrAddComponent<UI_Button>(go) 함수를 호출한 셈이 될테고, 만약 go에 UI_Button 컴포넌트가 없다면 Add를 하게 될텐데 Add될 컴포넌트는 UI_Button.cs인가요? 더 궁금한건 실제 Prefabs/UI/Popup 안에도 UI_Button이란 prefab이 존재하는데 Unity가 이 둘을 잘 알아서 구분하나요? (물론 prefab이 컴포넌트로 붙을 수는 없다고 생각하지만 예를 들어 같은 이름의 스크립트 파일이 다른 파일에도 여러개 존재할 수 도 있을텐데 이럴땐 어떻게 구별하나요?) 2. UI_Popup의 init함수에 들어가는 내용이 Start에서 실행되지 않기에 UI_Button.cs의 Start()->Init()->base.Init()를 통해 간접 실행하게 되는데 UI_Popup에 있는 gameObject가 UI_Button으로 뜨는 이유가 아리송합니다. gameObject가 Component라는 조상클래스의 맴버 변수이며 UI_Button이 UI_Popup을 상속받았기에 가능한 일인가요? 3. ClosePopupUI함수를 virtual 키워드로 작성하신 이유를 알 수 있을까요? UI_Base에서 재정의하여 사용하는 경우가 있나요?

  • unity
  • C#
댓글 8 좋아요 0 조회수 521

바인딩 질문입니다.

미해결

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

바인딩 부분에서 FindChild가 component를 반환하고 실제 그 값을 UnityEngine.Object타입의 objects에 넣고있습니다. 문득 든 의문은 Dictionary<Type,UnityEngine.Object[]> _objects 로 선언하여 componet를 UnityEngine.Object[] 배열에 담는 이유가 다형성을 이용하기 위함인가요?

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

Componet에 대한 질문

미해결

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

안녕하세요 Component에 대한 질문입니다. Utill 코드를 작성하다 든 의문입니다. (지금부터 작성하는 질문에 제가 잘못 생각하고 있는 부분이 있다면 말씀해주시면 감사하겠습니다.) UI_Button PointButton PointText ScoreText 현재 계층도가 이렇게 있다고 했을 때, 자동화 하는 이유가 PointButton, PointText, ScoreText 이 셋을 코드상에서 찾기 위함으로 이해했습니다. 곰곰히 생각해보니 GetComponentsInChildren, GetComponent 이 함수들은 Component를 반환하는 함수이지 UI_Button 산하에 있는 PointButton, PointText, ScoreText와 같은 GameObject를 찾는 함수는 아니라고 생각했습니다. 유니티 공식 문서를 찾아보니 결국 반환값은 GameObject에 부착된 componet를 반환하더군요. 질문1 구현하려는 목적이 GameObject가 아닌 GameObject에 달린 컴포넌트를 찾는 것이 맞나요? 실제로 그런지 확인을 하려고 디버깅을 하는데 두번째 궁금증이 생깁니다. 저 base는 어떤걸 나타내는 건가요? base에 PointText라고 적혀있어서 값이 componet가 아닌 GameObject라는 다소 엉뚱한 생각이 조금 듭니다. 저 base는 컴포넌트가 부착된 GameObject에 대한 정보를 담고있는 건가요? 사적인 질문) 선생님은 호드인가요 얼라이언스인가요

  • C#
  • unity
댓글 2 좋아요 1 조회수 262

캐릭터에 심어진 콜라이더에 대해 재질문 및 추가 질문입니다.

해결됨

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

너무 궁금해서 질문올립니다. 구글 검색해보니 PlayerController를 쓰는 예제도 있고 뭐 여러가지가 있는데 캡슐 콜라이더를 붙이고 정상적으로 이동이 되는 걸 보고 싶어서요. 강사님께서는 키네마틱이 꺼져있어서 물리 적용을 받아서 그런거 같다고 하는데 제 생각도 같습니다. 다만 키네마틱을 켜는 순간 다른 오브젝트들과 물리 상호 작용을 하지 않는 것으로 알고 있어서 물리 상호 작용하면서 정상적으로 구현하고 싶네요. 예전에도 만들다가 결국 PlayerController써서 중력 적용 시켜서 만들었는데 뭔가 안되서 포기하고 만들었던거라 찜찜한게 남아있거든요. 부탁드립니다 ㅠㅠ 아 그리고 강의 중반부터 섹션 5부터 섹션 6으로 넘어갈때 캡슐콜라이더가 꺼져있고 메쉬콜라이더가 켜져서 움직이던데 스킨메쉬렌더러라서 메쉬정보 없어서 convex가 안되는 것으로 알고 있는데 어떻게 plane위에 서있는지도 궁금합니다.

  • unity
  • C#
MJ 댓글 2 좋아요 0 조회수 328

Raycast 질문

미해결

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

안녕하세요 강의 너무나 잘 듣고있습니다. 강의에서 CameraController의 Raycast에서 origin(플레이어) direction(카메라 방향)으로 구현하셨습니다. origin을 카메라로 direction을 플레이어 방향으로 구현하지 않으신 특별한 이유가 있을까요? 몇 가지 이유를 생각해봤는데 계산이 어렵다는 생각이 들더군요 (벽이 두껍다던지 다수의 오브젝트가 카메라를 막고있다던지..의 상황에서요) 다른 이유가 또 있을까요?

  • C#
  • unity
댓글 1 좋아요 1 조회수 321

캐릭터 마우스 클릭 이동시 질문입니다.

해결됨

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

검색해보니 후반에 추가 수정하셨다는 답변글이 있는거 같은데... 아직 거기까지 진도는 못빼서요. 키보드 입력받고 캐릭터를 돌릴땐 아무 문제가 없습니다. freeze Rotation을하니 회전이 안먹더라구요. 근데 마우스 입력 부분 집어 넣으니 땅을 찍고 이동하면 꼭 도착할때쯤 마지막에 가서 x축이나 z축의 회전이 먹네요. freeze Rotation을 했음에도 불구하고... 후반부에 이 내용에 대한 수정 부분이 나온다면 계속 보면 되겠지만 현재로선 궁금해서 질문 올려봅니다. 제 생각에는 마지막 도착할 즈음에 bool 변수를 false로 바꿔서 더 움직임을 갖고 가지 않도록 막는거 같던데 거기에서 로테이션 값을 리셋시켜주는 방법으로 풀어나가야하나 생각하고 있었습니다.

  • unity
  • C#
MJ 댓글 1 좋아요 0 조회수 140

디버깅 시작 시 오류가 뜹니다

미해결

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

처음부터 안된게 아니라 잘 되다가 vs를 껐다 킨 후 부터 계속 디버그 자체가 실행이 안됩니다. 코드상 문제는 아닌거같은데.. 이유를 잘 모르겠습니다 ㅠ

  • network
  • C#
  • unity
댓글 1 좋아요 0 조회수 470

anchor 질문이요

미해결

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

anchor가 안보이는데 다른걸 클릭해야 보이는 건가요? 간단한거 같은데 아무리 찾아봐도 안보여서 질문 드립니다

  • C#
  • unity
정상훈 댓글 6 좋아요 0 조회수 592

마우스 클릭 후 물리현상

미해결

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

마우스 클릭해서 캐릭터가 이동하는거까지 잘되는데요. 이동한 후 캐릭터가 조금씩 뜨면서 천천히 날아갑니다. Use Gravity켜면 날아가지는 않는데 어떤 힘을 받는지 천천히 앞으로 쓰러져요. Is Kinematic켜면 물리현상이 없어져서 이런게 다 괜찮아지기는하는데, 강사님 영상에서는 UnityChan이 Use Gravity랑 Is Kinematic이 체크가 안되어 있더라고요. 영상이랑 똑같이 gravity랑 kinematic 체크푼 상태에서 잘 잘작동했으면 좋겠는데. 마우스 이동 후 공중으로 천천히 올라가는걸 고치고 싶은데 어떻게 해야하나요? 코드는 다 살펴봤는데 다른 점은 없었던 것 같아요.

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

인기 태그

인프런 TOP Writers

주간 인기글