inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

랜덤 확률 계산

미해결

[실전 게임 코드 리뷰] 유니티 캐주얼 게임 (엘리스팡)

안녕하세요. 관련 프로젝트 클론 코딩하던 중, 질문이 생겨서 적어봅니다. 목표 : 누적확률(시행마다 가중치 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은 아무것도 발생시키지 않도록 설정)

  • C#
  • unity
lunaciagames 댓글 1 좋아요 0 조회수 1027

sprite가 load되지 않습니다 2

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

6월 15일 같은 질문이 나왔었는데요, 해당 질문글에 답변으로 적어주신 방법을 써서 스프라이트로 변환해서 잘 돌아가긴 하는데요, 아직 이해가 되지 않아 추가질문 드립니다. 강의에서는 texture로 받지 않기 위해 ResourceManager.cs에서 키값을 EXPGem_01.sprite[EXPGem_01]으로 바꾸는 과정을 거쳤는데요, 그럼에도 불구하고 왜 변환이 안된 건가요? 강의에서는 잘 작동하는 것처럼 보입니다만,.. 혹시 유니티 버전에 따라 작동을 안하는 것일까요? 현재 22.3버전으로 쓰고 있습니다. 강의상 10분쯤에 해당내용 있습니다. 감사합니다.

  • C#
  • unity
  • object-pooling
DSK 댓글 1 좋아요 0 조회수 872

ResourceManager를 구현하면서 궁금한점

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

1. Resources.Load 함수를 사용하는 것은 성능상 좋지 않아 잘 안쓴다고 들었었는데 사용할 리소스들을 Inspector창에서 다 받아서 사용하는 방법은 너무 노과다 일거 같고 지금과 같은 구조라면 저걸 사용하는데에 있어선 무리가 있다는 생각이 들어서 궁금합니다. 2. 저런 리소스들을 관리 하는데 Dictionary 말고 List가 성능상으로 훨씬 좋다고 들었습니다. 그런데 List를 사용하면 탐색 시간에서 오래 걸리지 않을까라고 생각 하는데 이 부분은 어떤식으로 관리하나요 ?

  • C#
  • unity
BiN_ 댓글 1 좋아요 0 조회수 746

textRPG1에서 체력이 2배로 까이는 현상

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

안녕하세요 선생님 텍스트 rpg1 강의에서 선생님이 프로그램을 시연하실 때 정상적으로 플레이어의 체력이 까일 때도 있지만 2배로 까이는 경우도 생기던데 이건 왜 그런건지 궁금합니다!

  • C#
한성인 댓글 2 좋아요 0 조회수 485

Fixed Duration 관련해서 질문드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

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#
  • unity
  • fixedduration
정인석 댓글 1 좋아요 0 조회수 361

강의 관련 질문!(화살 파트)

미해결

[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#
  • unity
정우영 댓글 1 좋아요 0 조회수 432

혹시 이 강의랑 같이 볼만한 책 추천해주실 수 있으실까요?

미해결

C# 프로그래밍 기초

안녕하십니까? 현재는 For문 실습 2탄을 보고 있는 사람입니다. 다름이 아니라 회사에서 유니티를 하고자 C#을 같이 공부하고 있는데, 지금까지 강의를 중간에 빼먹는것 없이 다 보고 있습니다만, 솔직히 저의 실력으로는 강의만 보고는 이해하지 못하고 따라가기만 하는 것 같아서 책이랑 같이 공부하면 좋을 것 같습니다. 다행히 이 강의가 기간제가 아니라서 얼마든지 다시 공부할 수는 있지만, 이왕이면 책이랑 같이 봐야 머릿속에 더 잘 들어올 것 같아서 이런 질문을 남깁니다. 혹시 같이 볼만한 책을 추천해주실 수 있으신가요? 그리고 저술하신 책이 있는지도 궁금합니다.

  • C#
dev zipida 댓글 2 좋아요 0 조회수 520

비주얼스튜디오 솔루션탐색기 관련 질문입니다

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

안녕하세요, 비주얼스튜디오 툴과 관련하여 질문이 있습니다. 강의영상 내 루키스님 비주얼스튜디오를 보면 솔루션에 프로젝트가 1 프로젝트의~라고 뜨는데요, 저는 83개의 프로젝트가 포함되었다고 나옵니다. 아래 사진처럼 Assembly-CSharp 이외의 프로젝트들을 언로드하면 빌드에러가 나는 문제가 생기는데요, 강의하시는 화면내 솔루션은 어떻게 프로젝트가 1개만 로드되어있는지 궁금합니다. 감사합니다. 그리고, 좋은 강의 만들어주셔서 감사합니다. 제가 오랫동안 찾던 이상적인 개발강의이기에, 정말 감사히 생각하며 듣고 있습니다. 건강하세요.

  • C#
  • unity
  • object-pooling
  • visualstudio
DSK 댓글 2 좋아요 0 조회수 593

널레퍼런스 오류

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

온드래그 핸들러 부분에서 널 레퍼런스 오류가 뜹니다 44번 줄에서 에러가 난다고 뜨는데 이 부분을 모르겠습니다.

  • C#
  • unity
acocmaster 댓글 2 좋아요 0 조회수 665

cw+<tab>+<tab> 이 안되는데 해결했네요

미해결

C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기

동영상 중에 cw+<tab>+<tab> 이렇게 탭을 두번 누르면 Console.WriteLine(); 이 나오는 기능이 있는데, 저는 cw+<tab> 이렇게 탭을 한번 누르면 나옵니다. 왜 그런가 하고 검색해 봤더니, 옵션 중에 실험적 기능이 자동으로 체크가 되어 있네요. 도구>옵션>텍스트 편집기>C#>IntelliSense 들어가서, "새 코드 조각 환경 표시(실험적)" 의 체크를 해제하니 강사님처럼 cw+<tab>+<tab> 단축키를 사용할 수 있었습니다. 출처: https://stackoverflow.com/questions/75167487/code-snippets-dont-work-every-time-after-new-vs-2022-update

  • C#
  • gui
  • Xamarin
KB WOO 댓글 1 좋아요 0 조회수 576

뭐가 문제인지 궁금합니다!!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

'static이 아닌 필드,메서드 또는 속성 ' Object.name '에 개체 참조가 필요합니다'라고 뜨는데 뭘고쳐야 하나요?

  • C#
  • unity
댓글 1 좋아요 0 조회수 650

소스 자료를 다운받아보니, Addressables group 이 하나도 없습니다.

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작 마지막 올려주신 소스 자료를 다운받아보니, Addressables group 이 하나도 없습니다. 버전이 맞지 않아서 발생한 문제인가 생각하여, 강의에서 사용한 2021.3.19f1 으로 실행해봐도 동일하게 에러가 발생합니다.

  • C#
  • unity
  • object-pooling
chris PD 댓글 1 좋아요 0 조회수 698

라인복제 단축키 Ctrl+D 가 안되는데 해결했네요

미해결

C# 입문부터 Xamarin Forms(자마린 폼즈) + Maui(마우이) 안드로이드, 윈도우 앱(UWP) 동시에 만들기

위와 같이 나오면서, 라인 복제가 안됩니다. 아래와 같이 키보드 리셋을 했더니 됩니다. 도구>옵션>환경>키보드>다시 설정 출처: https://stackoverflow.com/questions/71609825/duplicate-line-visual-studio-2022

  • C#
  • gui
  • Xamarin
KB WOO 댓글 1 좋아요 0 조회수 2760

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#
  • unity
  • object-pooling
당근농부 댓글 1 좋아요 2 조회수 856

디렉토리를 처음부터 잘못해서 쭉 잘못 해오고 있었습니다.

미해결

C# 프로그래밍 기초

디렉토리를 처음부터 잘못해서 쭉 잘못 해오고 있었습니다. 솔직히 너무 어려워서 강의 따라가기에 바빠서 그런 걸까요? 이렇게 디렉터리가 잘못되는걸 간과한 채로 쭉 수업을 들어왔는데, 나중에 한번에 파일들을 옮겨도 상관 없을까요?

  • C#
dev zipida 댓글 3 좋아요 0 조회수 545

카메라 플레이어 받는법에 대해 질문 있습니다

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

포톤을 이용하여 쿼터뷰 게임을 만들고 있는데 프리팹에서 생성되는 플레이어를 어떤식으로 카메라에 받아야할지 감이 잡히지 않아 질문드립니다. 런타임시 찾아와야하는지 아니면 따로 매니저를 만들어 받아야하는지 모르겠어어 질문드립니다.

  • C#
  • unity
코드주니어 댓글 1 좋아요 0 조회수 385

실행시 콘솔창 출력안됨

미해결

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

비주얼코드는 연결되있는데 콘솔창에 출력이안됩니다 검색해서 별짓을 다해봐도 아안됩니다 ㅜㅜ 이틀째 못찾고있어요 답변좀부탁드립니다 콘솔창에 떠야 공부를하는데 콘솔창에 안떠요

  • C#
  • unity
쿠킥 댓글 1 좋아요 0 조회수 2207

Dns.GetHostName()에서 'String conversion error'가 뜹니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Unity버전은 동일한데 방법있을까요? 파일경로나 PC이름을 영어로 바꿔야할까요?

  • C#
  • unity
  • 네트워크
권오범 댓글 1 좋아요 1 조회수 694

인기 태그

인프런 TOP Writers

주간 인기글