묻고 답해요
145만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[실전 게임 코드 리뷰] 유니티 캐주얼 게임 (엘리스팡)
랜덤 확률 계산
안녕하세요. 관련 프로젝트 클론 코딩하던 중, 질문이 생겨서 적어봅니다.목표 : 누적확률(시행마다 가중치 X) 없이 독립시행으로, 확률에 따른 이벤트 발생#과정 1.float _rand = Random(0f,1f)=====#과정2. 0.5f를 기준값으로 계산ex)시행 1: _rand = 0.6f시행 2: _rand : 0.2f=> 시행 1 -> 1 - 0.6 = 0.4f=>시행 2 -> 0.5보다 낮으므로 0.2f=====#과정3.2에서 계산된 _rand값을 기준으로 해당되는 확률 테이블의 데이터를 가져올 때, 시행 1 -> 0.4f이므로, acqPercent 0.4 이하인 요소들을 전부 List로 끌고 온 뒤, 그 List에서 랜덤으로 뽑음=====질문 : 이러면 처음에 rand로 나온 값이 의미가 없어지고 rand 미만의 요소들이 담긴 list에서, 1/list 갯수 만큼의 확률로 계산되는거 같은데 ( 원래 설정한 0.005, 0.1 이런건 무시되고 )아예 확률표를 잘못 작성했다던가 계산법이 잘못된거 같은데 잘 모르겠습니다 ㅠㅠ참고자료 : 엑셀 표 ( 총 확률은 0.7 , 나머지 0.3은 아무것도 발생시키지 않도록 설정)
-
미해결따라하면서 배우는 고박사의 유니티 기초
수업자료 버튼이 안보입니다
리소스는 어디서 다운받나요 버튼이 안보이네용 ㅠ
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
sprite가 load되지 않습니다 2
6월 15일 같은 질문이 나왔었는데요,해당 질문글에 답변으로 적어주신 방법을 써서 스프라이트로 변환해서 잘 돌아가긴 하는데요, 아직 이해가 되지 않아 추가질문 드립니다.강의에서는 texture로 받지 않기 위해 ResourceManager.cs에서 키값을 EXPGem_01.sprite[EXPGem_01]으로 바꾸는 과정을 거쳤는데요, 그럼에도 불구하고 왜 변환이 안된 건가요? 강의에서는 잘 작동하는 것처럼 보입니다만,..혹시 유니티 버전에 따라 작동을 안하는 것일까요? 현재 22.3버전으로 쓰고 있습니다. 강의상 10분쯤에 해당내용 있습니다.감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
ResourceManager를 구현하면서 궁금한점
1. Resources.Load 함수를 사용하는 것은 성능상 좋지 않아 잘 안쓴다고 들었었는데 사용할 리소스들을 Inspector창에서 다 받아서 사용하는 방법은 너무 노과다 일거 같고 지금과 같은 구조라면 저걸 사용하는데에 있어선 무리가 있다는 생각이 들어서 궁금합니다. 2. 저런 리소스들을 관리 하는데 Dictionary 말고 List가 성능상으로 훨씬 좋다고 들었습니다. 그런데 List를 사용하면 탐색 시간에서 오래 걸리지 않을까라고 생각 하는데 이 부분은 어떤식으로 관리하나요 ?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
vs 2019에서 함수들 색상이 강의처럼 안변하는데 어느 설정을 바꾸면 될까요?
원래라면 Getkey랑 TransformDirection같은 함수가주황색으로 나와야하는데 이런식으로 하얗게 나오네요비주얼스튜디오 2019버전입니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Fixed Duration 관련해서 질문드립니다.
State Machine #1 강의 말미에 Fixed Duration의 체크 여부에 따라 Exit Time과 Transition Duration 내에 기입된 수치가 비율에서 초로 변환된다고 말씀하습니다.제가 이것저것 만져본 결과 Exit Time은 Fixed Duration 체크 여부에 상관 없이 무조건 비율인 것 같습니다.반면에 Transition Duration은 Fixed Duration이 체크되었을 때는 초, 그렇지 않을 때는 비율로 적용되는 듯합니다. 확인 부탁드립니다..https://docs.unity3d.com/kr/2018.4/Manual/class-Transition.html
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
강의 관련 질문!(화살 파트)
안녕하세요 루키스님.MMORPG 시리즈 Part7 화살 #1 ~ 화살 #2 를 수강하다가 궁금한 점이 있어서 질문을 올립니다.궁금한 부분은 화살을 생성하는 부분인데요. 제가 이해하기로는 화살 스킬을 사용하는 과정이 클라에서 스킬 사용 패킷을 보냄(C_Skill) -> 서버 C_SkillHandler를 거쳐 GameRoom.HandleSkill 에서 처리 -> 이 때 GameRoom.EnterGame(Arrow)로 화살 입장 -> 본인 클라이언트와 다른 플레이어의 클라이언트에 스폰패킷(S_Spawn)을 보냄 ->각 클라이언트에서 ObjectManager.Add로 화살을 스폰하는 것으로 이해했습니다.강의 코드에서, Gameroom에서 EnterGame(Arrow)를 실행하면 Arrow는 Projectile 타입이므로 if 문에 걸려 본인 클라에 Spawn패킷을 뿌리지 않고 다른 클라에만 뿌리는 것으로 작성이 된것 같은데... Player 타입이 GameRoom의 인자로 들어왔을 때만 본인 클라에 패킷을 전송하는 것 같거든요. 그런데 실행하면 화살이 잘 날아갑니다. 어느 단계에서 화살이 생성되는지 모르겠습니다. 어느 부분을 잘못 이해했을까요? 강의 코드 그대로 입니다.public void EnterGame(GameObject gameObject) { if (gameObject == null) return; GameObjectType type = ObjectManager.GetObjectTypeById(gameObject.Id); lock (_lock) { if (type == GameObjectType.Player) { Player player = gameObject as Player; _players.Add(gameObject.Id, player); player.Room = this; Map.ApplyMove(player, new Vector2Int(player.CellPos.x, player.CellPos.y)); // 본인한테 정보 전송 { S_EnterGame enterPacket = new S_EnterGame(); enterPacket.Player = player.Info; player.Session.Send(enterPacket); S_Spawn spawnPacket = new S_Spawn(); foreach (Player p in _players.Values) { if (player != p) spawnPacket.Objects.Add(p.Info); } foreach (Monster m in _monsters.Values) spawnPacket.Objects.Add(m.Info); foreach (Projectile p in _projectiles.Values) spawnPacket.Objects.Add(p.Info); player.Session.Send(spawnPacket); } } else if (type == GameObjectType.Monster) { Monster monster = gameObject as Monster; _monsters.Add(gameObject.Id, monster); monster.Room = this; Map.ApplyMove(monster, new Vector2Int(monster.CellPos.x, monster.CellPos.y)); } else if (type == GameObjectType.Projectile) { Projectile projectile = gameObject as Projectile; _projectiles.Add(gameObject.Id, projectile); projectile.Room = this; } // 타인한테 정보 전송 { S_Spawn spawnPacket = new S_Spawn(); spawnPacket.Objects.Add(gameObject.Info); foreach (Player p in _players.Values) { if (p.Id != gameObject.Id) p.Session.Send(spawnPacket); } } } }
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
텍스트 UI를 생성했는데 이게 떴는데 어떻게 할까요?
(사진)
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
비주얼스튜디오 솔루션탐색기 관련 질문입니다
안녕하세요, 비주얼스튜디오 툴과 관련하여 질문이 있습니다.강의영상 내 루키스님 비주얼스튜디오를 보면 솔루션에 프로젝트가 1 프로젝트의~라고 뜨는데요, 저는 83개의 프로젝트가 포함되었다고 나옵니다.아래 사진처럼 Assembly-CSharp 이외의 프로젝트들을 언로드하면 빌드에러가 나는 문제가 생기는데요, 강의하시는 화면내 솔루션은 어떻게 프로젝트가 1개만 로드되어있는지 궁금합니다.감사합니다. 그리고, 좋은 강의 만들어주셔서 감사합니다.제가 오랫동안 찾던 이상적인 개발강의이기에, 정말 감사히 생각하며 듣고 있습니다.건강하세요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
널레퍼런스 오류
온드래그 핸들러 부분에서 널 레퍼런스 오류가 뜹니다 44번 줄에서 에러가 난다고 뜨는데 이 부분을 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
뭐가 문제인지 궁금합니다!!
'static이 아닌 필드,메서드 또는 속성 'Object.name'에 개체 참조가 필요합니다'라고 뜨는데 뭘고쳐야 하나요?
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Save 함수에서 스택오버플로우 발생하는문제가 있습니다
foreach문을 들어가는순간 오류가 터집니다.에디터에서 가리키는 오류구문 80번째 내용은Quest 스크립트의public virtual bool IsSavable => IsSavable; 부분입니다.정말 도저히 이유를 못찾겠습니다..
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
소스 자료를 다운받아보니, Addressables group 이 하나도 없습니다.
[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작마지막 올려주신 소스 자료를 다운받아보니,Addressables group 이 하나도 없습니다.버전이 맞지 않아서 발생한 문제인가 생각하여,강의에서 사용한 2021.3.19f1 으로 실행해봐도 동일하게 에러가 발생합니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Category 스크립트 작성할때 Equals에 대해 궁금한게 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. public override bool Equals(object other) => base.Equals(other);이 부분이 왜 추가가 되는건지 궁금합니다. 어짜피 Category 파라미터가 아닌 object형 파라미터는 재정의 안하면 자동으로 base의 Equals를 호출하는게 아닌가요? 이 부분이 헷갈려서... 질문드립니다
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
sprite가 load가 되지않습니다
Managers.Resource._resources 에 아래 동작으로 sprite를 넣었는데 막상 저장된 곳을보면 sprite가 아닌 texture입니다 string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; // 리소스 비동기 로딩 시작. var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); 그래서 젬의 sprite가 변경이되지않습니다..코드는 첨부된걸로 해봐도 동일한데 유니티문제일까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
카메라 플레이어 받는법에 대해 질문 있습니다
포톤을 이용하여 쿼터뷰 게임을 만들고 있는데 프리팹에서 생성되는 플레이어를 어떤식으로 카메라에 받아야할지 감이 잡히지 않아 질문드립니다. 런타임시 찾아와야하는지 아니면 따로 매니저를 만들어 받아야하는지 모르겠어어 질문드립니다.
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
실행시 콘솔창 출력안됨
비주얼코드는 연결되있는데 콘솔창에 출력이안됩니다 검색해서 별짓을 다해봐도 아안됩니다 ㅜㅜ 이틀째 못찾고있어요 답변좀부탁드립니다 콘솔창에 떠야 공부를하는데 콘솔창에 안떠요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Dns.GetHostName()에서 'String conversion error'가 뜹니다.
Unity버전은 동일한데 방법있을까요?파일경로나 PC이름을 영어로 바꿔야할까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티짱의 물리에 관한 문제로 질문했었는데요
제가 살펴본 결과 정말 원인을 찾을수가 없었습니다. 제가 지난번에 제공해드린 스샷과 GIF를 통해서 한번 더 확인해 주실수있을까요? 참고로 제 버전은 2021.3.16버전입니다. 그리고 혹시 또 필요한 스크린샷이 있다면 제공하도록 하겠습니다. 만약 원인이 해결이 안된다면 부자연스럽더라도 y축을 고정시킨상태로 강의를 수강해도 큰 문제는 없을까요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
InputManager 질문
안녕하세요 Manager내의 _input 변수는 static으로 만들지 않으셨는데 Manager가 싱글톤 패턴이라 하나의 Instance만 생성되고 InputManager를 해당 Manager에서만 접근이 가능하다면 InputManager를 static으로 만들어도 무관한지 궁금하여 질문드립니다.