묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
A star알고리즘 closed부분
여기서 continue; 부분에 브레이크를 걸고 계속 실행시켰는데 멈추지 않습니다 어떤 상황에 걸리는지 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadOnlySpan 버전 문제
ReadOnlySpan<byte> s = new ReadOnlySpan<byte>(segment.Array, segment.Offset, segment.Count); 이 질이 오류가 난다고 강의에는 나오는데유니티 2021.3.4 버전을 쓰고 있는데 오류가 나지않는건 유니티에서 사용하고 있는 C# 버전때문인가요?ReadOnlySpan 은 C# 버전 몇부터 유니티에서 지원하는건지 설명이 잘 안나오는것 같은데 어디서 알수 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
int count
안녕하세요int count를 for문 내부가 아닌 바깥쪽(rand 바로아래)에 선언하면 왜 오버플로 오류가 뜨는지 모르겠습니다. 똑같이 나눠지면 오른쪽으로 뚫리고 그게 아니면 아래로 뚫고나서 1로 초기화가 될거라고 생각을 했는데 도대체 뭐가 문제인지 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의에서 뜨는 에러가 뜨지 않습니다.
강의에선 GenPackets.cs의 Span계열에 오류가 뜨는데 저는 Span계열에 오류가 뜨지 않습니다. 그럴경우 그냥 진행해도 될까요???
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
패킷 모아보내기 개수와 flushed 개수가 다른데 왜이런걸까요?
상황.1listen register 는 10, backlog 는 100 으로 해놨고connector 에서 Connect 할대도 100 으로 해놨습니다SendBuffer 의 크기는 public static int ChunkSize { get; set; } = 65535 * 100; 이고RecvBuffer _recvBuffer = new RecvBuffer(65535); 인데 어떤 부분이 문제일까요?.. 원본 jobTimer 코드 까지 실행하면 강의와 결과는 거의 같게 나옵니다만.. 상황 2 위 상황에서 서버 클라가 보내고 받는 데이터가Hello Server!Hello Server! I am 1 가 되고 서버 클라 간의 패킷 또한 정상적으로 받아지는건 확인했습니다그런데 리슨서버에서 register = 1, backlog = 1로 해놓고더미 클라이언트 쪽에선 Connector 로 2개의 클라가 접속하게 했을때 결과가 아래 처럼 나오고 있습니다,connector.Connect(endPoint, () => { return SessionManager.Instance.Generate(); } , 2 );코드를 수기로 처서 그런것 같기도 한데 어떤 부분에 문제를 의심해 볼 수 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
(오류정정요청) Awake 설명
강의 타임라인 중 13:55 부터 Awake를 설명하는 부분에서 " 꺼놓은 상태에서 적용되는 애가 더 있어요""게임 신 현재 들고 있는 컴포넌트를 끈 상태에서도 잘 작동하길 원한다면 Awake로 만드는 것도 하나의 방법이 되겠구요"라고 언급하고 있습니다. 그런데, Unity Documentation에 따르면 active(켜놓은 상태) 할 때 Awake가 작동된다고 나와있습니다. 실제로 제가 @Scene을 끄고 Awake가 동작하는 지 디버깅을 했을 때 Awake가 호출되지 않았으며 EventSystem Null Reference Error가 로그로 찍혔습니다. 강의에서는 @Scene을 킨 상태에서(체크 박스를 체크한 상태) 테스트를 하고 있기도 합니다. Awake는 active한 상태 + 컴포넌트가 disabled 된 경우일 때 Start와 달리 호출된다고 정정해야 할 것으로 보입니다. https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html
-
해결됨14일만에 배우는 ASP.NET CORE
두번째 강의 의존성주입에서 startup 클래스가 없습니다.
마지막 startup.cs파일에 IUser에 service를 주입 해줘야되는 부분에서 vs2022에서는 해당 파일이 없는데요.확인부탁드리고 중간중간에 버전차이로 흐름이 끊기는 부분이 있는데요. 신규 버전으로 재업로드가 안될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
프로퍼티 관련 질문입니다
프로퍼티를 사용하는 것과 사용하지 않는 것의 차이점은 조건을 설정할 수 있다와 설정할수 없다 이외에 차이점이 있나요? 그러한 차이점이 없다면 성능상 비효율적인 프로퍼티인 public int Hp { get; set; };대신 public int hp; 로 구현하는게 더 효과적일거라고 생각했는데 이때에도 프로퍼티를 사용할만한 이유가 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
심리스에 관하여..
11:51 분심리스관련해서 아이디어가 생각나서 혹시..아이디어.1(가정 : 몬스터라면 애초에 서버에서만 클라로 뿌려주면 되긴 하겠지만, 클라에서 몬스터 정보를 준다 가정할때..)몬스터, 스킬, 유저, 모든 사물에 잡큐를 하나씩 배치를 해주어서 심리스를 해결한다고 했는데즉 이 말은 동기화 되야 하는 데이터가 있을때 심리스라서 맵 단위로 잡큐가 존재 할수 없으니예를 들자면 플레이어가 있고 플레이어 근방에, A 라는 몬스터가 있는데 이 몬스터의 동작을 그 주변에 있는 몬스터들도 알아야 하는 정보라 할때 몬스터의 정보(어떤 변경사항이 있고 다른 유저가 알아야 하는정보)를 서버에 보내고플레이어 근방에 있는(대략 일정 변경의 반지름 또는 시야에 들어오는 공간분할 처리내에 있는 유저) 정도의 유저들(동기화 대상들)에게만해당 몬스터 정보를 뿌려주어 해서 몬스터,사물 기반으로 데이터를 전송하는 방식일까요?아이디어.2(서버에서 처리 되는 기준)서버기준으로 , 사물, 몬스터 등에 개별 잡큐가 존재1. 몬스터가 왔다갔다 하는 동작이 몬스터 개별 잡큐에 넣기만 하고 실행 하진 않는다2. 플레이어가 몬스터나 사물등 일정 거리 안의 시야뷰에 보인다면 해당 오브젝트 동기화 대상들간의 잡들을 실행 하면서 동기화 처리를 한다용어는 들어 보긴 했는데 설명을 듣다가 갑자기 생각이 떠올라서 적어 봅니다
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Awake 함수에 대해서
유니티 강의에서 씬 매니저 부분을 듣다가 질문이 생겨서 드립니다게임 오브젝트 @Scene에 들어있는 스크립트는 GameScene 이고, GameScene은 BaseScene 을 상속받고 있고,BaseScene 은 이러한데,이 상태에서 유니티를 실행하면이렇게 표시 됩니다.GameScene 은 BaseScene 을 상속받고 있기는 하지만,BaseScene은 게임 오브젝트내(Hierachy) 에 존재하지 않은데, BaseScene 에서 Start 함수는 실행되지 않으면서, Awake 함수는 어떻게 실행되는건지 설명해주시면 감사하겠습니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
강의 해상도 문의 합니다.
파트1 강의 중간부터 최대 해상도가 720P 입니다. 1080은 올리실 계획이 없나요?인프런 측에서는 지식제공자가 설정하는 것이라고 답변하네요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 4:42에 디버깅이 안됩니다
강의 내용 똑같이 따라했고, 다른 질문들 참고해서 디버깅 모드, 다 추가한 상태입니다. visual studio에서 unity에 연결이라고도 되어있는데 디버깅이 안 이루어지고 그냥 끝나요ㅜㅜ. 2019 버전으로 내리는 수밖에 없을까요?
-
미해결WPF (.NET Core, C#, 자막제공)
소스코드 제공해주세요
mvvm으로 리스트뷰에 오브젝트컬렉션뷰 속성으로 바인딩을 해도 죽어도 리스트에 자료가 안뜹니다 소스코드좀 제공해주세요 DB랑요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
자동화코드 정렬
강사님 안녕하세요!다름이 아니라 주석들이 많아서인지 강의에 나온것처럼 자동화로 GenPackets.cs를 만들면 코드 정렬이 깔끔하게 되지 않아서요.. 이 경우는 제가 막판에 다시 정리해주면 상관없는건지, 아니면 무조건적으로 자동화로 생성되었을 때부터 깔끔하게 정렬되게 해야하는건지 궁금합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 소스 다운로드
안녕하세요 유니티 에셋이나 기타 강의 자료를 다운 받아서 학습해보고 싶은데 강의 자료가 어디에정리가 되어 있는지를 알수가 없습니다.Rookiss 님 강의 자료가 어딨는지 링크 좀 부탁드립니다.감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
접근제어자 질문
조금 뜬금없는 질문일 수도 있지만 .NET6.0 이상에서 콘솔앱 탬플릿을 생성할 때 Program 클래스 앞에 internal 접근제어자가 붙는 것을 봤습니다.internal 접근제어자가 무엇이고 어떤이유로 Program 클래스 앞에 붙는지 알 수 있을까요??무의미한 궁금증일지도 모르지만 너무 궁금합니다 ㅠㅠ
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
팩토리얼 연습문제중에
말로풀어서설명하면팩토리얼함수에 3을넣어줬을때3이 1보다작거나같지않으니3 * factorial(2)가되고factorial(2)는 2 * factorial(1)이되어서 factorial(1)은 결국 if문안으로 들어가고여기서 return 1;이니까 1이반환되는거같은데그아래에있는 retrun n * factorial(0)은 그냥 지나가는건가요?return이 함수내에 2개가있어도 되는건지도 잘모르겠고 너무 스무스하게지나가셔가지고 내가 전에 있던강의를 제대로안들은건가 싶기도하고 불안해서 질문드립니다 ㅠㅠ
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
씬 관리 질문이 있습니다.
안녕하세요!로드맵 강의를 수강하고 현재 게임을 직접 만들고 있습니다.캐릭터를 선택창이나 로그인화면 아이템샵 메인로비 등이 있는 로비 화면을 현재 만들고 있는데요현재는 기능별로 Scene을 새로 계속 생성하여 만들고 있습니다.근데 UI 데모파일들을 몇개 보면 모두 한 씬에 레이아웃들을 만들어놓고 SetActive 함수로 UI를 제어하는 경우가 많았습니다.그래서 Scene을 계속 만드는 방식과 하나의 Scene에 레이아웃을 각각 만들어놓고 SetActive함수로 제어하는 방식 두 방식중에 어느 것이 더 효율적인가요? 각각에 장단점이 있을까요?실제로 현업에서는 어떤 방식을 주로 쓰는지도 궁금합니다!바쁘시겠지만 답변 부탁드리겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
IPAdress관련 질문입니다.
안녕하세요. 양질의 수업 잘 듣고 있습니다!string host = Dns.GetHostName(); IPHostEntry ipHost = Dns.GetHostEntry(host); IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);Unity 클라이언트의 위 코드를 IPAddress ipAddr = IPAddress.Parse("45.157.574.15"); IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);이렇게 제 외부 IP 주소를 넣고 서버를 켠 후 클라이언트를 다른 컴퓨터에서 실행시켜 봤는데 연결이 안되더라고요... (포트 포워딩도 했고 예제 샘플로도 시도해봤습니다.)구글링을 해봐도 IP주소를 저렇게 지정하면 된다고만 나와있어서 어떤 식으로 더 찾아봐야할지 감이 안잡히네요... 코드 자체에는 문제가 없고 공유기 설정과 같은 외부 문제 코드 자체가 문제강사님이 보시기에는 어느 부분이 문제일 거 같은지 단서라도 주시면 더 열심히 찾아보겠습니다.더 찾아보다가 너무 오래걸려서 작은 힌트라도 얻고자 질문드립니다..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Action 중복으로 등록되는 문제
안녕하세요. 지금까지 강의를 통해 배운 내용을 바탕으로 간단한 게임을 제작하고 있는 학생입니다. 어떤 파트에 질문을 달아야 할까 고민하다 마무리 부분에 올립니다.GameManagerEx에 SkillLevelUp이라는 Action을 만들어놓고 UI_SkillPopup을 열면 아래의 코드를 통해 LevelUp 함수를 취소/등록합니다. 그런데 ClosePopupUI를 통해 UI_SkillPopup을 닫고 해당 팝업을 다시 켜게 되면 기존에 등록해놓았던 LevelUp 함수가 취소되지 않아 버그가 발생합니다. 제 생각으로는 처음 등록한 LevelUp 함수와 두번째로 등록한 함수의 이름은 같지만 다른 함수로 인식하여 중복으로 등록이 되는 것 같았습니다.일단은 아래의 코드와 같이 Init 에서는 LevelUp 함수를 추가만 하고 UI_SkillPopup을 닫을 때 LevelUp 함수를 제거하는 방식을 사용하여 해결을 하긴 했습니다만 썩 우아한 방법이 아닌 것 같아 질문드리게 되었습니다.먼저 제가 인식한 버그가 Action이 중복으로 등록되는 문제가 맞는지, 만약 그렇다고 한다면 이와 같은 상황에서는 Init에서 Managers.Game.SkillLevelUp에 LevelUp 함수를 취소/등록하는 과정을 통해 초기화를 할 수 없는지 궁금합니다.부족한 질문 봐주셔서 감사합니다.