묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
유니티 게임 개발 첫 발걸음을 이 강의와 함께하겠습니다
좋은 강의 제공해주셔서 감사합니다.1주차의 UI까지밖에 안해봤지만 상당히 즐겁게 따라가고 있는데요.주차별 강의를 따라가고 나서 각 코드들이나 시스템의 흐름을 파악하면서 강의를 따라가면 될까요?? 이런 질문을 드리기에 좀 쑥스럽지만.. 알려주시면 이정표 삼아 열심히 해보겠습니다.감사합니다!
-
미해결유니티 강좌 [쯔꾸르풍 게임 제작하기]
맵이 어두워지는 현상
Tiled2unity는 현재 지원을 안한다고 해서 SuperTiled2unity 로 tiled을 갖고왔는데 계속 맵이 어두워진 채로 가져와지는데 이런 현상을 어떻게 하면 고칠 수 있을까요?
-
해결됨[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
강의에서 리워드 관련 언급은 없으셔서 질문드립니다.
아직 유니티와 C#을 다루는데 초기단계라서 강의는 다 수강하고 개인 프로젝트에 적용했는데 강의 내용에 없는 리워드 관련 작업이 능동적으로 만들기가 힘드네요. 혹시 리워드 스크립트에 존재하는 Give() 메소드 안에 보상 아이템 갯수를 늘려준다거나 하는 코드를 작성해놓으면 되는건가요??
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Subclass Selector Odin inspector 사용 관련
안녕하세요 저는 현재 Odin inspector를 에셋스토어에서 구매하여 쓰고 있습니다. 강의에서 subclassSelector를 odin 내장 기능으로 쓸 수 있다고 하셨는데 어떤 네임스페이스를 써야 사용이 가능한지 여쭤봐도 될까요? 번역기 돌려가며 열심히 찾아보고 매뉴얼 봐도 모르겠네요 ㅠㅠ
-
미해결SignalR + ASP.NET Core [+MAUI +WPF +JWT]
unity에서는 signalR을 사용 할 수 있는 방법이 있을까요?
혹시 unity에서는 signalR을 사용 할 수 있는 방법이 있을까요?unity에 maui를 붙이는 건 힘들 거 같습니다.
-
미해결유니티 AR로 만드는 FPS 게임
indicator image
indicator image 가 없는 것 같습니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Category[] 직렬화
[SerializeField] 를 통해 IdentifiedObject에서 Category를 직렬화해주고 있는데요.직렬화를 위해서는 다시 Category의 부모인 IdentifiedObject의 직렬화 가능한 멤버변수를 알아야 하는데 그렇다면이론상 재귀 호출이 무한히 일어날 것 같은데 잘 작동이 되는 이유가 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
패킷 관련 질문이 있습니다!
패킷 보내시는 부분을 보고 있는데 쪼개서 보낼 때 결국엔 그 정해진 길이에 맞춰서 여러번 보내게 될텐데(예시: 1024 바이트를 최대로 하여 보냄)그렇게 되면 데이터가 채워져있는 부분을 제외하고 나머지는 0 바이트로 채워져서 보내지는걸로 알고 있습니다.근데 이게 가끔씩은 패킷에서의 데이터 자체가 0 바이트인 경우도 있을거같은데 이런 경우는 어떻게 판별해주는 방법이 따로 존재할까요?
-
해결됨[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Time Sync 문제 관련 질문
Time Sync 문제로 인해 currentApplyCycle를 0으로 초기화 할 것이 아니라 오차 값(영상에서는 0.0012)으로 초기화 해야 된다는 설명 잘 들었습니다! 여기서, currentApplyCycle %= ApplyCycle; 로 초기화를 하는 부분에서, currentApplyCycle 변수의 경우, public float CurrentApplyCycle{ get => currentApplyCycle; set => currentApplyCycle = Mathf.Clamp(value, 0f, ApplyCycle);}위 코드의 Mathf.Clamp 함수로 인해 값이 0 ~ ApplyCycle(0.5) 사이에 머물게 되는데 이러면 0.5012 값이 0.5로 조정되어서 결국에는 0.5 % 0.5가 되어 0이라는 값으로 초기화 되는 게 아닌가 하여 질문합니다!
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
멀티 게임에서의 State Machine에 대해서 궁금한 점있습니다.
멀티 게임에서 StateMachine을 사용한다면 모든 컴퓨터에서 현재 State가 같도록 통일해 주는 작업하여 State의 흐름을 공유하나요?아니면 한 컴퓨터에서만 State를 다루고 다른 컴퓨터들에게는 따로 State를 통일하지 않고 그때 그때 필요한 작업들의 처리만 요청하나요?멀티 게임에서 StateMachine이 일반적으로 어떻게 사용되는지 궁금해서 질문드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
PushAfter 사용 질문
JonTimer 강의에서 학습한 PushAfter에 관한 질문 Arrow 실습 코드에 적용해 보았는데 제가 이해한 것이 맞는 지 궁금하여 질문 드립니다. GameRoom 클래스 코드 일부// 누군가가 주기적으로 호출해줘야 한다 public void Update() { foreach (Monster monster in _monsters.Values) { monster.Update(); } //foreach (Projectile projectile in _projectiles.Values) //{ // projectile.Update(); //} Flush(); }Arrow arrow = ObjectManager.Instance.Add<Arrow>(); if (arrow == null) return; arrow.Owner = player; arrow.Data = skillData; arrow.PosInfo.State = CreatureState.Moving; arrow.PosInfo.MoveDir = player.PosInfo.MoveDir; arrow.PosInfo.PosX = player.PosInfo.PosX; arrow.PosInfo.PosY = player.PosInfo.PosY; arrow.Speed = skillData.projectile.speed; Push(EnterGame, arrow); arrow.Test();Arrow 클래스 코드 일부bool check; public void Test() { // TODO : Room is null while (!check) { Update(); } } //long _nextMoveTick = 0; public override void Update() { if (Data == null || Data.projectile == null || Owner == null || Room == null) { return; } check = true; //if (_nextMoveTick >= Environment.TickCount64) // return; //long tick = (long)(1000 / Data.projectile.speed); //_nextMoveTick = Environment.TickCount64 + tick; Vector2Int destPos = GetFrontCellPos(); if (Room.Map.CanGo(destPos)) { CellPos = destPos; S_Move movePacket = new S_Move(); movePacket.ObjectId = Id; movePacket.PosInfo = PosInfo; Room.Broadcast(movePacket); Console.WriteLine("Move Arrow"); } else { GameObject target = Room.Map.Find(destPos); if (target != null) { target.OnDamaged(this, Data.damage + Owner.Stat.Attack); } // 소멸 Room.Push(Room.LeaveGame, Id); } Room.PushAfter((int)(1000 / Data.projectile.speed), Update); }GameRoom 클래스에서 Update를 계속 실행하는 것이 아니라 Arrow를 EnterGame한 후 Test를 한 번만 실행시키면 되는 거 맞을까요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
M1 콘텐츠 폴리싱 부분에서 다뤄질 예정이었던
M1 콘텐츠 폴리싱 부분에서 다뤄질 예정이었던 부분중에 인벤토리 관련하여 궁금한점이 있습니다. 우루루 용병단과는 달리 개개인의 히어로가 서로 다른 장비를 각각 착용하는 시스템으로 만들거라고 하셨는데요 제가 구현한다면히어로에 리스트나 딕셔너리로 작은 인벤토리를 각각 들고있게끔 하고히어로가 아이템의 고유번호를 가지고 있던가 아이템이 히어로의 고유번호를 가지고 있어 해당 번호를 세이브 데이터로 저장하고불러올때는 착용상태인 아이템 중에서 그 번호를 이용하여 다시 착용하는 방식으로 불러온다 이정도 방법밖에는 딱히 떠오르지 않네요. 루키스님 강의를 보다보면 스킬을 구현하는것은 정답이 없지만 장비관련은 어느정도 현업에서 자주 사용되는 방식이 있다고 들었는데요 선생님께서 생각하시는 정답이 무엇인지, M1 폴리싱 파트에서 구현하실때는 어떤 방식으로 구현하실 예정이셨는지 궁금합니다! 그리고 한가지 더 T2 강의에 대해서 궁금한 점이 있습니다. T2 강의에서는 M1에서 다뤄지지 못했던 결제 우편 어드레서블 관리 등등 기능들에 대한 강의부터 시작하는지 아니면 다시 게임의 토대부터 쌓아가는 작업부터 시작하는 것인지도 궁금합니다.
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
M1 최종코드 질문드립니다
M1 중단되면 최종적으로 17주차가 마지막코드인가요?스터디용으로 보고있는데 혹시 추후에라도 M1 완성되면 코드를 올려주시나요?
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
하반기 일정에 대해 궁금합니다
T2 진행과 관계없이 하반기에 M2는 진행하시는것 같은데, 언리얼 데디도 같이 진행이 되는건가요?그리구 서버는 뒤끝말고 직접구현하는 방식으로 갔으면 좋을 것 같아요.. 그냥 제 희망사항입니다 ㅎㅎ감사합니당
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
변경된 프로젝트에서 한번쯤 다뤄주셨으면 좋겠을법한 내용
안녕하세요. Rookiss님. 강의 정말 잘듣고있고 여러모로 도움이 많이 되고 있습니다~!!감사합니다. :) 다름이 아니오라 새로 진행될 프로젝트 T2 에서 한번 다뤄주셨으면 하는 바람에서 적어봅니다. 1) 방치형 혹은 디펜스 게임에서 유독히 Int32 범위를 넘어서는 큰 수들을 자주 볼수있는데 이 큰 수를 어떤 방식으로 처리하시는지 Rookiss 님의 노하우가 있으신지 궁금합니다. 2) 소규모 개발사들이 서버를 쓴다고 하면 뒤끝을 많이 이용하는 것같습니다. 서버 강좌도 좋지만 개인적으로는 뒤끝을 이용한 서버 운영 노하우(?) 를 배우는것도 실제 프로젝트에 바로 접목 해볼수 있을것 같아 뒤끝 연동으로 진행해주셨으면 하는 바람입니다. 이상입니다~!! 여러모로 고퀄리티의 강의 다시한번 감사드립니다~!!그리고 T2도 함께 화이팅하겠습니다~!!
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
M1에서 못한 강의 내용이 T2에 반영이 되나요?
안녕하세요 이 강의의 특징은 다른 여타 강의와 달리 컨텐츠 폴리싱, BM, 출시 운영 준비가 특징이라 여타 강의보다 강의료가 비싸도 인정한 커리큘럼이었습니다만 처음에는 7월까지 마무리해서 자료을 올려주신다고 하셨다가이제는 UI 문제가 생겨 중단이 되고 T2 를 이어 하신다 하셨습니다. 문제는 생길 수 있고 계획은 변경이 될 수 있습니다. 궁금한건 T2에서 m1 때 못한 컨텐츠 폴리싱, BM, 출시 운영에 관한 강의가 포함이 되나요? 답변이 필요합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
게임 실행하자마자 애니메이션 실행되지 않게 만들기
애니메이터에서 Entry와 처음으로 이어지는 애니메이션이게임 실행을 하면 바로 실행이 되는데 그것이 아니고 제가 원하는 때에 애니메이션을 실행하고 싶다면 먼저 Entry에서 바로 이어지는 애니메이션의 Motion 부분을 비워두고(None) 트랜지션으로 이어지는 다음 애니메이션부터 제가 원하는 애니메이션을 넣으면 될까요?(예를 들어 영상에서 예시로 박스가 움직이는 애니메이션을 만드신 것처럼 게임을 시작하자마자 바로 애니메이션이 재생되는 것이 아니라 재생되지 않게 만드는 방법 중 어느 방법이 제일 좋은 방법인지 궁금합니다)
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
궁금한게있습니다
강의와는 별개로 아무리 찾아봐도 해결이되지않아서 혹시나 싶어서 질문남깁니다 ㅜㅜ. 비동기로 씬을 전환하는데, main씬-> loading씬(빈공간) -> 던전씬 으로 이동을 하려할때 main씬에서 로딩씬으로 이동 실행하면 에디터가 멈추고 10 ~ 15초 정도 뒤에 로딩씬으로 이동하고 또다시 10~ 15초 뒤에 던전씬으로 이동이 됩니다. 원인은 하이어라키에 맵이 좀 큰거같다고 생각합니다. 그래서 던전에 있는 오브젝트를 비활성화 or 삭제를 했는데도 loading 에서 -> 던전까지 멈춤이 5초정도 걸립니다. ㅜㅜ. 보통 게임같은거보면 맵이 아무리 커도 로딩씬까지 이동이 바로되고 그러던데 어떤방식인지, 어떤식으로 접근해야할지 궁금합니다 ㅜㅜㅜ.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
사소한 질문이 있습니다
큰 문제는 아니고 영어로 하면 되긴하는데코드를 그대로 사용하니 게임씬에 뜨는 플레이어 스탯이 한글이면 깨지는 문제가 있습니다.따로 저장되있는 폰트가 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
OnRecvCompleted 내 RegisterRecv를 다시하는 이유가 먼가요?
좋은 강의 우선 너무 감사드립니다. ㅜㅜ 23:34 이후 부터 Recv 관련 내용을 듣다가 궁금한 부분이 있어서 질문드립니다. (1)OnAcceptHandler의 전체 코드를 살펴보면 클라이언트와 접속이 된 이후 수신 / 송신 이후 클라와의 연결을 끊어버리는데 (session.Disconnect() -> Shutdown, Close), OnRecvCompleted 내 RegisterRecv를 다시하더라도 클라쪽에서 보내는 데이터를 미처 다 수신받기 전에 끊겨질수 있지 않나요? 서버가 클라와의 연결을 끊을려고 할때 (Shutdown, Close) 클라쪽에서 보낸 데이터가 남아 있을 경우 바로 끊지 않고 비동기 수신 함수로 등록된 결과를 모두 처리하고 끊는걸로 이해하면 될까요? (2) 다시 낚시대를 던지는 행위 ? 가 결국은 클라와 연결이 된 이후클라쪽에서 한번에 여러개의 패킷을 send를 하기 때문으로 이해가 되는데, 만약 클라가 연결이 된 이후 한 개의 패킷만 전달한다는 정책이라면 따로 OnRecvCompleted 내 RegisterRecv를 하지 않아도 될까요?