묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
오브젝트 생성에 관련해 질문이 있습니다.
예를 들어, 지금처럼 화살을 생성할 때, 서버는 화살이 자신의 Owner를 알지만, 클라에서는 자신의 Owner를 모르는데, 만약 알아야 한다면1. 지금처럼 클라의 ObjectManager - Add() 함수에서 생성할 수 있도록 ObjectInfo에 OwnerId를 추가2. 클라의 Packethandler는 playerId를 알 수 있으니 Packethandler에서 오브젝트를 생성3. 아예 클라에서 Owner를 알 필요없게 코드를 수정어느 방법을 추천하시나요?현재 오브젝트 생성을 Onwer 오브젝트가 가지고 있는 스크립트에서 생성을 하던 방식이어서 여쭤봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
연결리스트 구현연습 강의에 질문이있어요
11분 39초에 AddLast함수를 구현하는것중에 궁금한것이 생겨서 질문 남겨요 AddLast함수에 반환값이 왜 newRoom인지를 모르겠어요 AddLast함수는 마지막방만 추가하고 갱신하면 되는 함수라 굳이 어떤것을 반환 할 필요가 있을지 궁금하네요 원래 LinkedList의 AddLast함수를 호출하면 LinkedListnode<T>라는 형으로 반환값이 있기는 했지만 왜 그런지를 모르니 이해가 잘 안되고 외우는 식으로 되어버리네요..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Encoding&Decoding 한글 깨짐 문제 질문 있습니다.
클라<->서버 패킷을 주고받는 과정에서Write를 통해서 패킷을 주고받는 부분을 강의를 참고하여 작성했습니다.여기서 String 타입의 데이터가 영어일 경우에는 데이터가 원활하게 전달이 되어지나 한글의 경우에는 한글이 깨져서 출력되어집니다.. 테스트를 위해 Write에서 인코딩 디코딩을 모두 테스트하여 출력하면 정상적이나 외부로부터 들어온 값을 디코딩할때 깨져버리는데요..현재 개발 환경은 MacOS에서 개발하고있습니다..
-
해결됨[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
선생님 이 강의를 토대로 개발하고 있는데
만약 출시한다면 선생님께서 배포하신 에셋을 일부분 사용해도 괜찮을까요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
하반기 온라인 게임 교육 질문
하반기 온라인 게임 교육은 언리얼만 하시나요?유니티도 따라 해 주시면 좋을 것 같습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Json파일의 정보를 proto의 내용으로 DataContents와 연동하는 것을 Unity에서 하는 것이 가능한지 궁금합니다
9:00분 부분처럼 선생님 말씀대로 진행하여 Server 프로젝트 쪽에서는 Json파일의 내용을 .proto에 구현한 StatInfo로 바로 넣는 것이 문제 없이 작동합니다.-protocol.proto-SkillData.Json-DataContents.cs in Server project 그러나, Unity Client 내에서 위 방식으로 데이터를 읽어들이려고 시도하면 데이터가 전혀 들어오지 않고 인게임내에서 사용도 불가능하여 혹시 무언가 다른 부분이 존재하는지 여쭤보기 위해 질문 남기게 되었습니다.-Unity DataMgr.cs-Unity DataContents.cs 혹시 경로나 Json파일 이름 문제인가 싶어 고민해봤지만, Proto파일의 StatInfo를 쓰는 것이 아닌 원래 방식대로 Data modeling하고 그를 사용하면 문제없이 데이터가 받아지고 해당 데이터 사용이 가능한 상태라 그 문제는 아니라고 판단하고 있습니다.Unity 내에서도 proto로 바로 사용이 가능한지, 가능하다면 혹시 추가적인 주의사항이 있는지 여쭤보고 싶습니다.
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
사운드도 꼭 넣어 주세요.
안녕하세요. 사운드도 꼭 넣어주세요.
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
커스텀타일 오류에 대한 질문입니다.
c s o를 통해 커스텀 타일을 만들면 script가 커스텀 타일이 아닌, 요모양이 됩니다. 강의 에셋에 있는거 그대로 가져오면,이런 식으로 아무것도 안나타나고요.현재 유니티 22.3.6 버전을 쓰고 있어서 그런가 했는데, 맞습니다. 22.3.15 버전을 쓰면 괜찮습니다. 어디선가 문제인가 싶어서 상당한 시간을 투자했지만, 3.6버전에서 문제를 해결할 방법을 찾지 못했습니다. 이럴 때에는 그냥 버전을 바꾸는 것이 최선의 해결책일까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
git, server, client 파일을 어떻게 넣어서 프로젝트를 생성해야하나요?
구름모양을 눌러서 MMO_Game시작.zip파일은 다운로드했는데, 이걸 드래그해서 프로젝트란에 넣으니까 오류가 뜨는데 어떤식으로 유니티에 적용시켜야하는지는 설명에 나와있지 않아서 ..아시는 분 있나요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
13주차 Hero교체 영상 24:20부분에서 퀘스트 완료해도 영웅존재안함 발생에 대해
영상에서 처럼 퀘스트 구현 최종 테스트에서 퀘스트 NPC를 클릭후, 완료를 통해 새로운 영웅을 얻는 과정에서 HeroManager내의 PickHero 함수에서 "영웅존재안함" 로그를 뱉는데테스트 해보니 세이브파일이 존재할 땐, GameManager내의 LoadGame을 통해 HeroManager의 AllHeroInfos에 정보가 담겨 정상 작동하는데세이브파일이 존재 하지 않을 땐, GameManager내의 InitGame을 통해 게임이 시작되는데, 이때는 HeroManager내의 AllHeroInfos에 정보가 하나도 담기지 않습니다.결국 강의 영상과 같이 퀘스트를 완료해도 보상을 통한 영웅 추가가 이루어지지 않고 "영웅존재안함"이 재현됩니다.GameManager의 LoadGame함수처럼 InitGame 함수 마지막 부분에 Managers.HeroManager.AddUnknownHeroes(); 임시 방편으로 추가하여 처리하긴 했는데 올바른 방법인지 잘 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
홀펀칭 질문도 괜찮을까요..?
안녕하세요, 루키스님유익한 강의 제공해주셔서 감사합니다항상 감사한 마음으로 수강하고 열심히 프로젝트를 진행해보고 있습니다.현재 프로젝트에서메인 서버에서는 모든 클라 게임 접속을 받고 로그인 및 방 입장 등을 관리합니다.클라가 게임룸을 생성하면 해당 클라에 Host라는 오브젝트가 생성되고, 해당 오브젝트는 서버 코드를 유니티에 호환되도록 수정을 거친 상황입니다.타 클라(로컬 네트워크 환경에서만 테스트 해보았습니다.)에서 방 목록에서 방을 선택하고 입장하면 중앙 서버에서가 호스트와 클라 사이에서 IP와 포트를 알려주는 중개 역할을 하며 두 클라이언트가 연결됩니다.해당 게임의 사이클이 끝나 게임이 종료되면, 클라이언트들은 로비로 돌아가며 1~3의 단계가 계속해서 반복됩니다.현재 프로젝트의 조건을 위와 같이 설정하였고,3번까지는 테스트를 완료했고, 정상적으로 동작하는 것을 확인했습니다. 하지만 4번에서 문제가 발생하는데,다시 방을 생성하면 클라와 호스트 사이에 패킷 전송이 되지 않는 것 같습니다.디버깅을 통해 확인해볼 때에는 호스트측의 OnConnected 메서드는 호출되는 것으로 보아서는 클라측에서 연결에 문제가 발생하는 것 같은데,구글링과 디버깅을 통해 여러가지 해결책을 시행해봤습니다.연결 종료 시 완전히 소켓이 종료되도록 세션 Disconnect()를 했습니다.소켓이 같은 주소의 포트 번호를 공유할 수 있도록 Connector와 Listener 코드의 소켓 설정 코드에Socket socket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);이렇게 ReuseAddress 설정을 추가했습니다.(중앙 서버 세션과 호스트 세션은 클라에서 개별적으로 다루고 있습니다)호스트 세션의 연결이 종료될 때, 호스트 세션의 _disconnected 변수를 다시 0으로 만들어,다음 연결 시 RegisterRecv등의 코드에서 if(_disconnected == 1) return;의 조건문에 걸리지 않도록 코드를 수정해보았습니다.2번의 방법을 시행해보기 전에는 '같은 주소의 포트를 사용할 수 없습니다?'와 같은 오류가 발생했었는데,2번을 시행한 뒤에는 오류는 발생하지 않지만 연결이 되지 않는 것은 마찬가지인 상태입니다.그 외에도 잡다하게 정말 많은 시도를 해보았는데,전혀 실마리가 보이지 않아 질문합니다..ㅠㅠ
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
3.:43 초 때부터 잘 안되는 것 같습니다...
코드도 정확히 다 따라했는데도 결과랑 다르게 나오네요 3:43초 쯔음에 소문자 대문자 구분 말 나오면서 뭔가 잘 안되고 있습니다 ㅠ
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
DTO 폴더는 BusinessLayer로 옮겼는데, using문은 HelloASP로 계속하나요?
혹시나해서 LoginService 클래스에서 using BusinessLayer.DTO 추가했는데도 인식을 못하네여.. 또한 ILoginService도 인식을 못하던데, 중간에 누겟설치와 참조 관계 때문에 그런건지? 여쭤봅니다. 수정) 다시보니, DTO 클래스에서 네임스페이스 바꾸지 않아서 인식을 못했던거네여.... 강의에서 네임스페이스를 안바꾼 이유가 있나요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
SQL Server Management 연결 불가
서버 이름이 아래와 같이 공란으로 보이며,MSSQLSERVER 로 입력 시 아래 오류창이 뜹니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
복잡한 3D 오브젝트의 움직임은 어떻게 표현해야할까요?
안녕하세요!3d에서 복잡한 오브젝트의 움직임은 어떻게 표현해야 할지 궁금해서 질문드립니다. 예를 들어 자전거체인이 있다고 한다면 페달을 밟을 경우 체인이 움직(체인 돌아가는)이는 모습을 표현하고 싶습니다. 그리고 체인에서 특정 위치에 물체가 닿으면 이벤트를 발생시키려고 합니다. 제가 생각했을 때는 2가지 방법이 있을 거라고 생각됩니다. 이런 방법 말고 어떤 방법이 있을지 너무 궁금합니다.! 보통 이런 복잡한 오브젝트를 자연스럽게 움직이게 할 때 어떻게 해야 할까요?제가생각하는 2가지 방법각각 체인오브젝트를 나누어 포지션과 로케이션을 직접 소스에서 변경하여 움직임을 표현한다.2d의 애니메이션 효과를 주는 것처럼 체인이 변경된 모습을 여러 개의 오브젝트로 만들어 순서대로 visible을 껐다켰다하는 방법으로 애니메이션을 준다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
Razor View 추가시 NuGet 자격증명 무한루프
6:10 에서 진행되는 View 리턴값에Razor 뷰 추가시NuGet 자격증명 하라는 MS로그인팝업이 뜹니다.로그인시 스캐폴딩 진행 조금 하다가 다시 뜨고 무한반복이네요. 창을 닫고 실행해보니,위와같은 에러창이 뜹니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
단일 스레드로 처리할 경우 속도 문제점 있나요?
GameRoom을 하나의 스레드로 jobqueue를 사용해서 공유자원을 관리 하면 lock에서는 자유롭지만 하나의 스레드인 만큼 많은 처리를 해야할 경우 딜레이가 생길수도 있을거라고 생각하는데 lock을 타이트하게 거는 방법보다 하나의 스레드에서 처리하는게 속도가 더 빠른가요?하나의 스레드로 룸을 관리하니 결국 작업을 하나씩처리에 따른 속도 이슈가 없는지 궁굼합니다. 예를들어 갑자기 수많은 이용자가 들어와 엔터패킷을 탄다면 디비도 접근해야될때 이에 따른 실시간 처리 성능이 보장되는지 궁굽합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
3D 위치 동기화에 대한 질문
안녕하세요. 지금 파트 9까지 전부 수강하고 3D 게임을 제작하고 있습니다.현재 목표는 마우스로 우클릭를 하면 해당 좌표로 플레이어를 이동하는 것입니다.질문은 크게 두가지입니다. 현재는 클라이언트에서 마우스를 우클릭하면 Unity에서 제공하는 NavMesh를 통해 이동하고 있습니다. 그런데 서버에선Unity에서 제공하는 기능을 사용할 수 없기 때문에 따로 길 찾기 연산을 해야 할 것 같은데 이 부분이 감이 안 잡힙니다...서버에서 길 찾기를 어떤 방식으로 해야할까요?클라에서 추출된 NavMesh를 서버쪽에서는 활용할 수 없을까요?? 가령 SharpNav등을 통해서요!무지한 질문을 많이 하는데 항상 성심껏 대답해주셔서 감사합니다!
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
앞으로 강의 내용이 궁금합니다
안녕하세요 루키스님 강의 잘보고 있습니다게임 출시를 너무 하고 싶은데 좋은 강의 만들어 주셔서 감사합니다1 ui 핵심내용으로 분석 말고도 루키스님은어떻게 제작 하는지 ui강의 부탁드려도 되나요현재 나와있는 강의로 활용해서 적용하기 어려울거 같아서요 혹시 이번 초반에 바닥에 까는 스킬말고 공격이나 여러가지 구현하는건 없나요??이거 또한 스킬은 어떻게 활용할지 궁금합니다2 이번 강의 듣고 아직 많이 부족하지만싱글게임 만들어서 운영 해보고 싶습니다 이번 1~6월까지 강의 듣고 싱글게임 만들고 운영 하는거 지장없는지 걱정됩니다강의를 보고 있으면 지금 1월-6월 까지 강의 보다는7월부터 온라인 강의를 더 중요시 생각하시는거같아서요 이번 강의를 어느 수준까지 마무리 되는지,강의를 다 듣고 싱글게임 만들고 수입창출 수준까지 배울 수 있는지너무 궁금합니다
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
강의대로 따라했는데 NullReferenceException 에러 발생하시는 분들 (section 2 - 스킬 수정)
강의 내용대로 잘 따라했는데 bear가 공격 애니메이션을 실행하지 않고, 다음과 같이 에러 메세지가 뜨는 분들을 위해 해결방법 공유합니다.NullReferenceException: Object reference not set to an instance of an object Creature.UpdateSkill () (at Assets/@Scripts/Controllers/Creature/Creature.cs:199) Monster.UpdateSkill () (at Assets/@Scripts/Controllers/Creature/Monster.cs:126) Creature+<CoUpdateAI>d__85.MoveNext () (at Assets/@Scripts/Controllers/Creature/Creature.cs:161) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/Coroutines.cs:17)MonsterData.csv에서 '곰'이 있는 마지막 줄에서 10004를 10001로 수정하시고 다시 ParselExcel 실행하신 뒤 실행하면 정상 동작합니다. 나중에 추가될 애니메이션이 이 시점에는 아직 없는 듯 하네요.한참 헤매다가 겨우 해결했습니다 ^^;;