inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

에셋 분홍색으로 뜰때 해결방법

미해결

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

Shader를 Standard로 바꾸기 이걸로 많은 분들이 해결되기를 바랍니다

  • c#
  • unity
  • C#
박건원 댓글 1 좋아요 5 조회수 4351

Lock과 SpinLock 질문

미해결

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

안녕하세요 이 강의를 수강하기 앞서 학교 강의에서 C++을 통해 멀티쓰레드 개념을 살짝 배운 상태입니다. C#을 대상으로 하는 강의라 조금 동떨어진 느낌이 있지만 언리얼 쪽으로도 강의하시는거 보고 혹시 알고계실까 해서 질문합니다. C#의 lock과 C++의 unique_lock<mutex>가 상당히 흡사해 보이는데 맞나요? 차이점이 있을까요? C++에선 mutex라는 것을 사용했는데 C#에서는 object로 할 수 있는 이유? 그러는 이유? 가 궁금합니다. Spin Lock이 Busy Wait 방식으로 lock이 풀리길 기다리는 방식을 뜻하는 것 같은데, C++에서는 condition_variable와 같은 것으로 CPU를 무의미하게 점유하는 것을 막았던 것으로 기억납니다. lock이나 condition_variable을 사용하지 않고 이런 방식을 사용하는 이유가 있는지 알 수 있을까요.

  • c#
  • C#
  • unity
  • 네트워크
  • network
김병대 댓글 1 좋아요 0 조회수 678

ScoreText 만 fail이 뜨는 이유

미해결

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

코드는 다음과 같이 작성하였는데 ScoreText만 Fail이 왜 뜨는지 모르겠습니다 그리고 제너릭에서 text -> TextMeshProUGUI로 바꾸니까 UI_Button이 한개 생성되다가 실행과 동시에 두 개 생성되는데 코드에서 어디엔가 오류가 있는걸까요?

  • c#
  • unity
  • C#
혜민 채 댓글 1 좋아요 0 조회수 535

모바일 2d 캐쥬얼 게임

해결됨

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

Rookiss 님을 멘토 삼아 게임 개발을 위해 달리고있는 청년입니다 ! 모바일 2d 캐주얼 게임 제작을 목표로 두고있는데 ,결제와 관련된 중요한 장비나 캐릭터 정보같은건 서버에서 처리할까요? 혹시 서버를 따로 공부 해야한다면 루키스님 강의중 게임서버 , 웹서버 둘중 어떤걸 들어야할까요??

  • c#
  • unity
  • C#
kanto00 댓글 1 좋아요 0 조회수 683

로비로 돌아가면 hp정보가 저장되지 않는 이유가 궁금합니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

코드에서 계속 ref player를 이용하여 원본의 값을 이용하였는데 전투를 하다가 로비로 돌아가 다시 직업을 고르면 이전에 남아있는 hp정보가 초기화되는 이유가 궁금합니다. EnterGame(ref Player player) 메소드를 벗어나면서 해당 메소드가 Player값을 반환하지 않기 때문이 맞나요?

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

xor 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

int id = 123; //해킹 당하면 안되는 값 int key = 401; // 그래서 암호화 한 값 int a = id ^ key; // 암호화 하여 뒤바뀐 401의 값이 네트워크에 흘러가야 하는거 아닌가요? int b = a ^ key; // int b 는 원래 값이란건가요? 왜 490이 나오는지도 모르겠고.. ^xor이 그냥 뒤바뀌는거면 int a = id ^ key; 에서 id는 401 key는 123이 되야 하지 않나요..?!!

  • c#
  • C#
re q 댓글 1 좋아요 0 조회수 315

유니티 부모영향 안받고 자식으로 들어가기

미해결

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

체력바를 플레이어의 자식으로 들어가게 하니까 플레이어의 scale에 영향을 받아서 제가 원하던 크기가 나오지가 않아요 ㅠㅠ 일일이 하드 코딩으로 맞춰주기에는 나중에 이런 비슷한 일이 생기면 어떡하지 싶기도 한데... 혹시 하위 자식으로 들어가더라도 들어 가기전의 스케일을 유지하는 방법 있을까요? 아무래도 scale이 비율이다 보니까 자식으로 들어가기 전 크기가 1,1,1 이고 들어가고 나서도 1,1,1 이라고 해도 영향을 받더라구요!ㅠㅠ 위치는 영향을 받지만 크기만 영향을 받지 않게 하고 싶은데 도무지 모르겠네요...

  • c#
  • C#
  • unity
자르트 댓글 1 좋아요 0 조회수 1114

++hp hp++ 질문이요

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

콘솔 라이트라인은 마지막 출력문인가요? 그니까 만약 게임을 만드는데 ++hp랑 hp++랑 구분해서 쓸 때가 있나요? 예를들어 어떤 상황이 있는지 설명해주세요 ㅠ

  • c#
  • C#
re q 댓글 1 좋아요 0 조회수 280

재귀함수

미해결

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

안녕하세요 강의 잘보고있습니다 9분30초 까지 영상을 보고 DFS(3)에 Breakpoint 로 하나하나 보고있다가 3,0,1,2 까지 실행되고 더이상 실행이 안되는게 맞는거같은데 DFS(next) 재귀함수로 돌아오더라고요 이게 이해가 잘안되는데 어떻게 가능한건가요?

  • c#
  • C#
갓건 댓글 1 좋아요 0 조회수 415

소수를 포함한 크기가 다른데 변환할때요

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

게임 제작에 있어 저렇게 프로그래밍 할 이유가 있나요? 그니까 애초에 저렇게 변환을 할 이유가 뭐가 있나요? 정확하지 않고 오버되는 값은 다 분실되는데 저렇게 하면 망하지 않나요..?

  • c#
  • C#
re q 댓글 1 좋아요 0 조회수 313

Render() 부분에 질문있습니다.

미해결

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

이중for문안의 Console.ForegroundColor = GetTileColor(_tile[y, x]); Console.Write(CIRCLE); 의 순서를 바꾸어서 해봤는데 똑같이 나올거라 예상했지만 아니었습니다. Circle을 먼저 위에 적고 하면 Circle을 먼저 그리고 그 위에 색을 입힌다 라고 생각했었지만, 그러면 GetTileColor에서 어떤부분이 아직 wall인지 empty인지 컴퓨터가 몰라서 같은 결과가 안나오는게 맞는지 궁금합니다! ++ 해당 공간에 어떤색인지 미리 지정한다음 도형을 넣어 지정된 색으로 출력하는 방식이 맞는지 궁금합니다.

  • c#
  • C#
김형준 댓글 1 좋아요 0 조회수 354

포톤 공부에 대해서 질문드립니다

미해결

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

안녕하세요 루키스 선생님 선생님 강의를 들을 때마다 느끼지만, 여러 번 듣고, 미리 기본을 다지고 오면 얻어가는 것이 많다고 느꼈습니다. 지금 서버를 공부하고 있는데, 꽤 난이도가 있고 너무 막연한 느낌이 들었습니다. 내가 실제 게임에 연동할 수 있을까? 실제로 사용가능한가? 등등.. (아직 연동까지는 듣지 못했고, 서버 파트만 들었습니다.) 그러다 포톤이라는 서버프로그램을 알게 되어서 포톤을 공부해고 인강을 들을까 생각이 드는데 선생님 생각은 어떠신지 궁금합니다

  • c#
  • C#
  • 네트워크
  • network
  • unity
장재범 댓글 1 좋아요 1 조회수 932

TextRPG2 강의 질문입니다

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

비전공자가 공부중인데 너무 기초적인 질문인것같지만 혼자하다보니 헷갈려 질문남깁니다. static 함수가 아닌경우 함수 호출을하려면 객체를 생성후 호출을 해야한다고 알고있습니다 . 메인함수에서 Game game = new Game(); 으로 game 객체 생성 후 game.Process(); 함수를 호출하는것은 이해가 가는데 Game 클래스 내에서 ProcessField()등 다른 함수들을 호출하는 동안은 game.을 작성하지 않고 호출하는데 같은 클래스에서 함수호출은 game.과 같이 객체 이름을 따로 작성하지 않아도 되는건가요? 그냥 되나보다 생각하려다 확실히 알고싶어 질문남깁니다. 며칠째 강의보고 RPG 혼자 만들보려는데 정말 어렵네요..

  • c#
  • C#
ker0213 댓글 1 좋아요 1 조회수 442

TextRPG EnterField 부분

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

using System; //ref : 기존 변수를 메서드에서 수정할 때 사용 //out : 메서드 내에서 생성된 값을 반환할 때 사용 namespace TextRPG_1 { class Program { enum ClassType { None = 0, Knight = 1, Archer = 2, Mage = 3 } struct Player { public int hp; public int attack; } static ClassType ChooseClass() { Console.WriteLine("직업을 선택하세요"); Console.WriteLine("[1] 기사"); Console.WriteLine("[2] 궁수"); Console.WriteLine("[3] 법사"); ClassType choice = ClassType.None; string input = Console.ReadLine(); switch (input) { case "1": choice = ClassType.Knight; break; case "2": choice = ClassType.Archer; break; case "3": choice = ClassType.Mage; break; } return choice; } static void CreatePlayer(ClassType choice, out Player player) { switch (choice) { case ClassType.Knight: player.hp = 100; player.attack = 10; break; case ClassType.Archer: player.hp = 75; player.attack = 12; break; case ClassType.Mage: player.hp = 50; player.attack = 15; break; default: player.hp = 0; player.attack = 0; break; } } enum MonsterType { None = 0, Slime = 1, Orc = 2, Skeleton = 3 } struct Monster { public int hp; public int attack; } static void CreateRandomMonster(out Monster monster) { Random rand = new Random(); int type = rand.Next(1, 4); switch (type) { case (int)MonsterType.Slime: Console.WriteLine("슬라임이 스폰되었습니다"); monster.hp = 20; monster.attack = 2; break; case (int)MonsterType.Orc: Console.WriteLine("오크가 스폰되었습니다"); monster.hp = 40; monster.attack = 4; break; case (int)MonsterType.Skeleton: Console.WriteLine("스켈레톤이 스폰되었습니다"); monster.hp = 30; monster.attack = 3; break; default: monster.hp = 0; monster.attack = 0; break; } } static void EnterGame(ref Player player) { while (true) { Console.WriteLine("마을에 접속했습니다"); Console.WriteLine("[1] 필드로 간다"); Console.WriteLine("[2] 로비로 돌아가기"); string input = Console.ReadLine(); switch (input) { case "1": EnterField(ref player); break; case "2": return; } } } static void EnterField(ref Player player) { while (true) { Console.WriteLine("필드에 접속했습니다"); Monster monster; CreateRandomMonster(out monster); Console.WriteLine("[1] 전투 모드로 돌입"); Console.WriteLine("[2] 일정 확률로 마을로 돌아가기"); String input = Console.ReadLine(); if (input == "1") { Fight(ref player, ref monster); } else if (input == "2") { Random rand = new Random(); int per = rand.Next(0, 101); if (per > 33) { Console.WriteLine("도망에 실패했습니다. 전투 모드로 돌입합니다."); Fight(ref player, ref monster); } else { Console.WriteLine("도망치는 데 성공했습니다"); EnterGame(ref player); } } } } static void Fight(ref Player player, ref Monster monster) { while (true) { monster.hp -= player.attack; if (monster.hp <= 0) { Console.WriteLine("승리했습니다!"); Console.WriteLine($"hp:{player.hp}"); break; } player.hp -= monster.attack; if (player.hp <= 0) { Console.WriteLine("패배했습니다!"); break; } } } static void Main(string[] args) { while (true) { ClassType choice = ChooseClass(); if(choice != ClassType.None) { Player player; CreatePlayer(choice, out player); EnterGame(ref player); } } } } } 해당 코드를 실행했을 때 처음 직업 선택 후 마을 접속 -> 로비로 돌아가기를 누르면 정상적으로 직업 선택 창으로 이동할 수 있는데, 한번 필드에 접속하면 [2] 일정확률로 마을로 돌아가기 <를 성공해서 EnterGame()에 다시 접속하는 경우에는 로비를 돌아가기를 눌러도 계속해서 몬스터가 생성이 됩니다. 코드에서 어떤 부분을 고쳐야 해결할 수 있을까요? ㅠㅠ

  • c#
  • C#
김민주 댓글 1 좋아요 0 조회수 383

유니티 scene view 격자

미해결

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

어느 순간 부터 scene 에서 격자무늬가 안보이기 시작했습니다 ㅠㅠ 그나마 마우스 휠로 겁나 축소를 해야 이렇게 격자가 보이는 수준인데 해결 방법을 도무지 찾을 수가 없네요ㅠㅠ

  • c#
  • unity
  • C#
자르트 댓글 1 좋아요 0 조회수 1626

10진수에서 15는 어떻게 표기하나요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

그냥 11 12 13 14 15 이렇겐가요? 만약 세자리가 나와도 그냥 100 101... 158 이런식인가요?

  • c#
  • C#
re q 댓글 2 좋아요 0 조회수 365

OnMouseClicked 관련 질문

미해결

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

안녕하세요, 강의 수강 후 혼자 복습하면서 리뷰 하던 중에 궁금한 점이 있어서 문의 드립니다. InputManager에서 KeyAction 과 다르게 Mounse Action은 public Action의 Generic 타입이 사용된 이유가 궁금합니다. unity의 Input에 press와 click이 구분되어있지 않기 때문에, enum을 통해서 구분할 수 있도록 생성해 준게 맞을까요? 그래서 이후에 PlayerController 에서도 함수의 입력에 마우스 상태를 구분지어서 input으로 넣어주게 되고, 반대로 KeyAction은 Input에 GetKey라는 함수가 있어서 iput 없이 delegate를 이용할 수 있다.. 라고 생각하는데, 뭔가 명확하게 이해가 되지는 않고 흐릿해서 질문 드립니다. 감사합니다.

  • c#
  • unity
  • C#
아배고파 댓글 1 좋아요 0 조회수 375

Stack&Heap 질문입니다!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

스택과 힙 관련해서 궁금해서 질문입니다 Windows 레지스트리와 같은 것도 힙 영역에 해당되는 것일까요?

  • c#
  • C#
lma8058 댓글 1 좋아요 0 조회수 944

reference count 관련 질문

미해결

유니티 Addressable 을 이용한 패치 시스템 구현

안녕하세요 좋은 강의 제공해주셔서 감사합니다. reference count 관련해서 궁금한 점이 있습니다. 강의를 듣고 에셋로드시에 reference count가 1증가 인스턴스 생성시 1증가 라고 이해를 했지만 실제로 디버깅해봤을 때에는 에셋로드랑 인스턴스 생성 두 경우 모두 레퍼런스 카운트가 2로 표시되었습니다. 혹시 저 값으로 확인을 하는 게 맞는지 혹은 제가 코드를 잘못 작성했는지.... 설정을 잘못했는지... 제가 이해를 잘못한 것은 아닌지 알고 싶습니다. -에셋 로드시 - 인스턴스 생성시

  • c#
  • C#
  • unity
  • Addressable-Asset-System
히비스커스애플티 댓글 1 좋아요 0 조회수 620

인기 태그

인프런 TOP Writers

주간 인기글