묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send, lock 부분에서 질문 있습니다.
public void Send(byte[] sendBuff){lock (locked){sendQueue.Enqueue(sendBuff);if (pendingList.Count == 0)RegisterSend();}}이 부분에서 lock이 걸려있으면, 먼저 들어간 스레드가 작업을 완료할 때 까지 다른 스레드가 접근을 못하잖아요?근데, 먼저 작업을 하는 스레드가 pendingList에 있는 값을 다 처리하기 전까지는 lock이 안 풀리고, 다 처리를 했다면 pendingList.Clear();를 통해 Count는 항상 0을 반환할텐데 if(pendingList.Count == 0) 부분을 체크할 필요가 있는지 궁금합니다.
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
우선순위큐 관련
PriorityQueue.cs 파일을 chat gpt 돌려가며 공부하던 중최대힙과 최소힙이 있다는 것을 알게 되었습니다.해당 스크립트에서 사용하는 힙은 최대힙인것 같은데우선순위큐를 힙으로 구현할 수 있다고 알고 있습니다.이 강의서 사용하게 된 소스에서 최대힙을 사용하는 이유가 처리해야할 작업의 우선순위가 가장 높은것부터 작업시키기 위해 그런것 같은데 최소힙을 사용하게 되면 어떤 문제가 발생하는지 궁금합니다~
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
xml 에
xml 관련 코드 추가이후에 실행이 되지않는 현상이 발생합니다.구글링해본결과설정창에서 adaptive perfomance 탭의 설정을 수정해보았고패키지 매니저에서의 패키지를 삭제하였지만문제 해결이 안되어 질문 남깁니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Broadcast에서 질문 있습니다.
Broadcast에서 lock을 거는 이유가 공유하는 자원이기 때문이라고 말씀하셨는데, _sessions를 공유하기는 하지만 _sessions를 순회하는 용도로만 사용하니까 딱히 lock을 걸지 않아도 되는 거 아닌가요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
질문있습니다.
안녕하세요 M2 1주차 강의(섹션 1. 클라/서버 프레임워크와 이동 동기화)를 들어봤는데 서버와 클라 강의가 너무 문외한이라 환불하고 M1강의를 살려고 했는데 이미 자료를 다운받아서 환불이 불가능 하더라고요.질문1. 2주차부터는 전투, AI, 자동사냥등 유니티 게임 기능구현이 주된 내용같은데 2주차부터 제대로 들으면 될까요? 질문2. 1주차 내용이 설명이 없어 이해가 안되는데 이에 맞는 강의추천이나 문서 알려주실 수 있나요?
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
패킷모아보내기 관련 해서 질문 있습니다.
안녕하세요 루키스님^^루키스님 덕분에 고퀄 강의를 또 듣게 되어 정말 무궁한 영광입니다.프로젝트가 어떻게 완성되어 갈지 흥미진진하고 너무 기대됩니다. ㅎㅎ들뜬 마음을 부여잡고 복습을 하다가 문득 라이브에서는 캐치를 못한 부분이 있어서 바쁘신 와중에 질문을 올리게 되었습니다ㅜ다름이 아니고 기존 강의에서는 서버 프로젝트에서 패킷모아보내기 관련 코드가 있던 것으로 기억합니다.이번에는 해당 부분이 보이질 않는 것을 보니 일부러 해당 부분을 빼놓으신 것 같은데 혹시 이번 프로젝트에서는 패킷 모아보내기 작업은 따로 안하실 예정이신가요?
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
캐릭터 변경에 관해
위와 같이 스프라이트를 불러오도록 했는데 메뉴에서 선택한 플레이어가 아닌 기본 플레이어만 계속 나옵니다.선택후 시작하면이렇게 기본 캐릭터만 로드가 됩니다..이유를 모르겠습니다..
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
비주얼 스튜디오 솔루션 탐색기 구조 짜는법
완전 초보입니다.압축 파일 해제해놓고 강의에서 설명하시는거 따라가려고 솔루션 탐색기에 나와있는 모습 그대로 만들려고 하는데 평소에 유니티랑 rider만 사용해왔던 터라 어떻게 해야하는지 잘 모르겠습니다. 글로 설명된 내용이라도 좋으니 알려주시면 안될까요? ㅠㅠ
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
완전초보 질문 죄송합니다 ㅠ
C#게임서버 part4 도 보고 유니티연동 part7도 보고 이것저것 띄엄띄엄 보느라 제대로 정리도 안되고 그러고 있는데요 M2 이번에 수강신청후 코드다운받아서 비주얼 2019로 켰는데위와같이 오류가 뜹니다...이걸 어떻게 해결할수있나요?잘 안보이는데 현재.NET SDK에서는 .NET 8.0을 대상으로 하는것을 지원하지 않습니다 .NET 6.0 이하를 대상으로 하거나 .NET8.0을 지원하는 .NET SDK버전을 사용하세요 이렇게 프로젝트들 마다 뜨네요...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 4분 48초 디버깅 부분
똑같이 디버깅을 실행을 하는데 mg 값에 Managers를 찾지 못하고 null 값으로만 출력이 됩니다 실행 전에도 불필요한 값 할당이라는 경고가 뜨는데 어떤 문제가 있을까요?앞 부분에서 실수가 있을까 해서 unity 설정부터 다시 따라했음에도 똑같이 Managers를 찾지 못하고 null 값만 나오네요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
world 좌표계, local 좌표계
transform.rotation = Quaternion.LookRotation(Vector3.forward); transform.position = transform.TransformDirection(Vector3.foward * Time.deltaTime * _speed);강의를 듣고, 질문글들을 읽어보았을때위의 코드에서 rotation일때 Vector3.forward는 world 좌표계에서의 (0, 0, 1) 이고, position일때의 Vector3.foward는 local 좌표계에서의 (0, 0, 1)이라고 이해했는데 Vector3가 어느경우에 world 혹은 local 좌표계에서 사용되는건지 이해가 잘 가지 않습니다.
-
해결됨[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
적 스킬 관련 질문
진행중인 프로젝트에 강의의 시스템을 수정하며 이용하고 있는 중에 고민거리가 생겨 질문 드립니다. 기존 Projectile에서 Setup해줄 때 Skill 정보를 받아와서 명중시 해당 Skill의 Effect를 작동시켜 데미지 이펙트를 통해 데미지를 주는 방식이잖아요? 근데 원거리 적의 공격을 구현하는 중에 적의 공격도 스킬 방식으로 처리하는 것이 맞을까에 대한 고민이 생겼습니다. 기존 투사체 코드를 이용하려면 스킬을 만들어서 처리하는 것이 맞는데, 적 하나하나마다 스킬을 다 만들어주면 관리하기가 너무 힘들 것 같다는 생각이 들어서 현재는 일단 EnemyProjectile 코드를 따로 파서 카테고리가 다른 엔티티에 명중하면 적(공격자)의 AttackDamage 스탯만큼 데미지를 주는 방식으로 임시로 구현을 해두었습니다. 물론 데미지 이펙트 이외에도 CC기와 같은 다양한 이펙트를 주고 싶으면 기존 스킬 방식으로 처리하는 것이 나아보이긴 하는데요, 이런 경우 강사님은 어떤 식으로 구현하고 계신지 궁금해서 여쭤보고 싶습니다.
-
미해결
unity 에디터 버전
어떤 버전을 사용해도 3d urp core 템플릿이 안나와요 ㅠㅠ계속 sample scene 저거 아니면 built-in-render pipeline으로 계속 뜨는데 어떤 버전 설치해야 되나요?
-
해결됨새싹부터 시작하는 Unity 게임 개발
화면 설정 문의의 건
안녕하세요~강의 잘 듣고 있습니다^^제 화면에는 카메라(?) 모양하고 가이드라인 그런게 표시가 안되서 불편해서요어떻게 나오게 하는건지 잘 모르겠습니다.확인 부탁드립니다~ 감사합니다.
-
해결됨새싹부터 시작하는 Unity 게임 개발
anim.SetBool
강의 듣고 활용 중에 도저히 스스로도 해결 못하겠는 부분이 생겨 질문합니다!Animator anim; <을 붙히지 않으면 the name 'anim' does not exist in the current context 오류가 발생하고 앞에 Animator anim;을 붙혀주면 NullReferenceException: Object reference not set to an instance of an object 오류가 발생합니다 해결 방법을 꼭 알고 싶습니다 ㅠㅠ anim.SetBool을 지워주면 정상적으로 작동하는 것으로 보아 위 코드가 문제는 맞는 것 같습니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ThreadLocal을 사용했는데 왜 여러 스레드에서 접근이 가능한걸까요?
ThreadLocal을 사용하는 이유ThreadLocal을 사용해서 전송작업중인 스레드마다. 독립적인 버퍼를 보장해주었는데 , 강의 마지막에 왜 여러 스레드에서 인스턴스에 접근이 가능하다는건지 이해가 되지 않습니다.세션에서 스레드 버퍼를 참조하고 있을 가능성 때문인가요? 스레드 로컬을 이용해 공간 독립성을 보장해준 것이 아닌가요?또한 실제 SendBuffer를 이용하는 부분은 스레드별로 보장되어 있는것이 아닌가요?이해가 되지 않습니다 ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
각 파트별 연관성이 있나요?
특정 파트를 들을 때 그 이전 파트를 안 들어도 진행하는 데 문제없을지 알고 싶어요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
prefab호출이 되지 않습니다..
(사진)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이벤트핸들러를 이용하지 않는 이유
SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.Completed += OnConnectedCompleted; args.RemoteEndPoint = endPoint; args.UserToken = socket;이벤트 핸들러를 이용하지 않고 바로 대입한 이유가 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TCP 수신시 순서보장에 질문있습니다!
안녕하세요.루키스님 1회독마치고 2회독을 하는중 궁금한점이 생겨 글남기게되었습니다.만약 클라가 패킷을 보내는 순서를 A -> B 라고 했을때, 서버에서 패킷을 수신해보니 A, B둘다 패킷이 부족하여 다음 패킷을 대기중이라 했을때두번째 패킷을 받아보니 B는 부족한 패킷을 채워 완전체가 되고 A는 아직 부족하다고 했을때클라에서는 A -> B 순으로 명령하여 패킷을 전송했지만 A의패킷은 아직 수신대기중이고 B의 패킷은 전부 수신되었을때B의 패킷을 컨텐츠영역으로 보내 클라에게 전송하는걸까요?그럼 클라에서의 명령이 A->B가 아닌 B->A로 실행되는것일까요..?만약, B->A 로 클라가 실행된다면 정상적으로 A->B로 실행하게끔 하는방법이 있을까요..?문뜩 궁금해서 여쭤보게되었습니다. 답변해주신다면 감사하겠습니다!