inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

이중 Job 캡슐화는 오히려 위험한것이 아닌지요??

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

18:25 설명을 보면 HandleSkill 내부에 있는 EnterGame 도 Job 캡슐화해서 push 하는게 좋다고 하셨는데 Job 시리얼라이저 특성상 스레드 1개가 Job을 기준으로 순차적으로 처리할텐데 Job 안에 또 Job캡슐화를 하면 이중 Job 부분은 뒤로 밀려나서 나중에 처리되겠죠 그렇다면 그 사이에 있는 다른 Job을 처리하는 과정에서 뒤로 밀려난 애가 처리할 수 없는 상황이 올 수 도 있지 않을까해서 더 불안정하다는 생각이 듭니다 그래서 결국 이중 job 캡슐화하는 것보다 18:25에 나오는 EnterGame 도 바로 처리하게 push 를 안하는 방향이 더 낫지 않나 싶습니다

  • C#
  • unity
우웅 댓글 1 좋아요 0 조회수 519

프로젝트 생성시 질문

미해결

WPF (.NET Core, C#, 자막제공)

새 프로젝트 만들기에서 WPF 애플리케이션 생성시 .NET Core WPF 프로젝트가 없고 그냥 WPF프로젝트만 나오는데 뭘 더 설치해야하나요??

  • C#
하하하핫 댓글 1 좋아요 0 조회수 382

cpu사용량 100%

해결됨

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

해당 코드를 프로젝트에 맞게 변경 해서 쓰려고 하고 있는데 초보라서 버그를 못 잡고 있습니다. aws에 올려놓으면 특정 시점에 dev, live서버 모두 cpu 100%에 도달하고 cpu크레딧도 다 사용합니다. dev, live모두 같은 시점에 올라갈 때도 있고 아닐 때도 있습니다. 인터넷에서 떠돌면서 공격 포인트를 찾는 해킹봇 때문인가 싶어서 클라에서 바로 연결을 끝내는 try catch쪽이랑 한동안 유의미한 패킷을 보내지 않으면 끊어버리는 timeout도 넣었는데도 발생합니다. wmi provider host문제는 아닌것 같아요 task manager기준으로는 서버 콘솔 프로그램이 많이 사용합니다. 앗 그리고 이렇게 질문하는 이유는 초창기 코드가 많지 않을 때도 cpu 100%를 찍었기 때문입니다. 코드는 강의 최종본을 변경해서 사용했습니다. Jetbrains dotTrace 를 사용해서 프로파일링을 한 경우 다음과 같이 뜹니다.

  • C#
  • unity
  • 네트워크
MUNODevelop 댓글 1 좋아요 1 조회수 576

위치 동기화 검증 위치

미해결

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

전에 만드신 테라의 경우 맵 타일링 정보를 서버에 저장해두고 플레이어의 위치 동기화 로직을 서버에서 처리하셨나요? 아니면 클라이언트가 먼저 이동(자기 기준)하고 그 결괏값을 서버로 보내는 방식으로 처리하셨나요? 케이스 바이 케이스이겠지만 일반적으로 어떻게 하는 지 궁금해서 질문 드립니다.

  • C#
  • unity
  • 네트워크
eom5005 댓글 2 좋아요 0 조회수 339

이전에 PlayerController의 간헐적 버그에 질문 드렸던 사람입니다.

미해결

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

https://www.inflearn.com/questions/1033120/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B3%B5%EA%B2%A9-%EC%A4%91-%EA%B0%84%ED%97%90%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%9D%B4%EB%8F%99%ED%98%84%EC%83%81%EC%9D%B4-%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4 일전에 작성해 답변을 얻었던 게시글 입니다. 일단 몬스터는 계속 플레이어를 피격하고있고, 사운드 재생 등 플레이어의 애니메이션 무한재생을 제외하고는 나머지의 정상동작을 보아 에디터 자체가 무한루프에 걸린것은 아닐것이라 생각하였고 클릭이벤트 발생에 확률적으로 문제가 있을것같다는 것을 생각해보고 코드를 면밀히 확인 해보았는데, ATTACK 애니메이션의 CrossFade 함수에 4번째 인수 (normalizedTimeoffset) 를 0으로 지정하니 순간적으로 광클을 하게되면 Move 애니메이션을 무한재생하면서 아무런 동작도 취할수 없는 버그가 해결되었습니다.< CrossFade("ATTACK", 0.1f, -1 , 0 ); 으로 변경하고, ATTACK 애니메이션 클립의 LoopTime을 해제하였습니다. > 되짚어보니 저는 저 인수를(normalizedTimeoffset) 애니메이션클립의 LoopTime 을 키는것과 같은 효과라고 생각하여 따로 인수를 두지않고 LoopTime을 키는것으로 대체했던 기억이 있었습니다. 저 네번째인수 (NormalizedTimeoffest)을 활성화 한 이후로부터 버그가 해결이 된 이유가 궁금합니다. 저게 활성화 되지않으면 클릭이벤트가 씹힌다던가 그러한 문제가 발생하는건가요?

  • C#
  • unity
이승훈 댓글 1 좋아요 0 조회수 265

인터페이스 상속조합에대해서 질문드립니다.

미해결

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

인터페이스 설명하신거보고 상속을 이용해서 여러가지 타입을 레고처럼 조립해서 새로운 형태의 타입을 만들어낼수도 있겠구나 라는 생각을 하게됐습니다. 그런데 이게 구조적으로 원래이런건지 몰라서 질문을 드려봅니다. 예를 들어서 Iflyable, Ishoutable, Iattackable 이라는 인터페이스를 구현해서 각각 Iflyable에는 fly라는 함수를 Ishoutable에는 shot이라는 함수를 Iattackable에는 attack이라는 함수를 넣고 flyshouter라는 class가 Iflyable과 Ishoutable을 상속받아서 날면서 소리를 지르는 능력을 얻었다고 가정해볼게요. 그리고 두번째로 ShoutAttacker라는 class가 Ishoutable과 IAttackable을 상속받아서 소리지르면서 공격을 하는 능력을 얻었다고 가정해보겠습니다. 그러면 어찌됐던지 인터페이스가 상속이 돼었기때문에 각각 flyshouter => fly와shout라는 함수를 shoutattacker => shout와 attack이라는 함수를 구현해야하잔아요? 그러면 결국엔 구현에서 shout라는 공통의 함수를 구현하게 될텐데 물론 소리를 지르더라도 뭐 캐릭터에따라서 조금 다르게 소리를 낼수도 있긴하지만 기능자체가 완전 똑같다고 했을때 flyshouter와 shoutattacker는 완전 형태가 똑같은 shout 함수를 각각 하나씩 가지고 있어야하는건가요? 제가 이질문을 하는 이유는 저렇게 능력들을 인터페이스로 부여받았을때 상속받은 클래스마다 구현을 다 따로하는데 구현부가 완전 똑같은경우에는 그냥 복사 붙여넣기로 하나씩 들고 있는게 맞나싶어서 질문 드려봤습니다. 뭐 한두개정도는 복붙해서 사용해도 크게 문제는 없을거같은데 지금은 예시로 각각 함수를 하나씩 물고 있는 형태로만 말씀드렸는데 저게 만약에 많아지면 많아지는만큼 늘어나는만큼 계속 복붙을 하는게 맞는지 궁금해서 질문 올렸습니다.

  • C#
술홍 댓글 1 좋아요 0 조회수 246

2019에서 콘솔 앱이 .net framework로 밖에 솔루션 생성이 안됩니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

visual studio 2019 community를 다운로드 하여 설치하였는데요.콘솔앱을 설치하려고 하면 .net Framework버전만 솔루션이 생성이됩니다. 질문글을 보니 콘솔 애플리케이션으로 선택하고 생성하면 될 것 같아서 실행해 보고 있는데요. 이런 식으로 .net 5.0 지원되지 않음으로 뜨면서 콘솔 어플리케이션 자체가 생성이 안되고 있어요.Array.Fill()함수가 생성되지 않아서 알아보다가 결국 질문글 올립니다. 비주얼 스튜디오 2019 커뮤니티 공홈에서 받았구요. 이럴때는 어떻게 해결해야 좋을까요?대안으로 2022 버전으로 사용하는게 좋을지도 문의 드려요.

  • C#
boneoflily 댓글 1 좋아요 0 조회수 540

[2D Pin Circle Game] 회전 질문

미해결

[유니티6] 따라하면서 배우는 하이퍼캐주얼게임 시리즈 01

안녕하세요. 2D Pin Circle Game에서 회전시 유니티 에디터로 실행할 때는 정상적으로 보입니다. 하지만 안드로이드에 연결해서 실행시에는 좀 흐리게 보입니다. 플레이 스토어 앱으로 예를 들면 회전시 선명하게 보임 Pin Circle aa 회전시 흐리게 보임 Pin Circle 테스트에 사용한 폰은 갤럭시 S9 안드로이드 10 입니다. 검색해서 시도해봐도 개선이 되지 않아 질문드립니다. fixedUpdate 사용 Time.deltaTime 대신 Time.smoothDeltaTime 사용 어떻게 개선할 수 있을까요? 감사합니다.

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

실무에서 New Input System은 사용 안하나요??

미해결

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

실무에서 New Input System은 사용 안하나요??

  • C#
  • unity
조준혁 댓글 1 좋아요 0 조회수 543

매니저를 만드는데 이런경우는 어떻게하나요?

미해결

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

기존의 매니저들을 인풋,ui,리소스 등등을 따라서 만들어 봤는데요. 진짜 신세계더라구요.. 그동안에 코드가 막 엉키고 정리도 잘안되고있었는데 저렇게 나눠서쓰니까 코드 분류하기가 너무 편하더라구요.. 그래서 이번에 네트워크 매니저도 하나 만들어서 쓸려고하고있는데요 제가 Pun2를 사용해서 게임을 만들어보려고하는데요.. pun2에서 지원하는 콜백을 네트워크 매니저에 붙일려고 하는데요 다른 매니저처럼 managers에다가 프로퍼티를 만들어서 접근하는식으로 만들었구요.. using UnityEngine; using Photon.Pun; public class NetworkManager: MonoBehaviourPunCallbacks { public override void OnConnectedToMaster() { Debug.Log("complete masterserver connect"); } } 일단 테스트를 위해서 서버에 접속이되면 저 콜백이 작동을 하는지 테스트를 해봤거든요.. 근데 작동을 안하더라구요.. 기존 매니저들은 콜백방식은 아니었고 직접 호출하는 방식이었는데 저런식으로 콜백방식을 연동하려면 어떻게 하야할까요? 참고로 저걸 네트워크 매니저에 할당했을때는 안됐고 따로 게임오브젝트에서 서버접속을하는 코드를 따로 만들어서 접속시도했을때는 성공했습니다. 네트워크 매니저를 사용한방식에서는 로그조차 안뜨더라구요..

  • C#
  • unity
술홍 댓글 1 좋아요 0 조회수 228

서버도 ObjectPool 사용해야하나요?

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

서버도 오브젝트 풀링 써야하는지 궁금합니다. 일단 생각대로라면 장르에 따라 수많은 Projectile이 생성되고 삭제될텐데 아무리사용하지 않는다 하더라도 가지고 있는것과 가지고 있지 않는 상태는 차이가 있잖아요? 그렇지만 또 할당하고 해제하는 단계는 더더욱이 비용이 많이들어가는것도 사실이 이니깐 포톤네트워킹은 사용했던걸로 기억하는걸봐서 사용하는게 맞나요?

  • C#
  • unity
박정현 댓글 1 좋아요 0 조회수 432

17:13 부분 질문드립니다

미해결

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

i<5이기때문에 아무것도 출력되지 못하는게 맞는데 저는 헬로 스레드가 다섯번 나와버립니다..! 무슨 문제일까요?

  • C#
  • unity
  • 네트워크
박소현 댓글 2 좋아요 0 조회수 371

19:04

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

RemoveAt 함수 내에 43번째줄인 _ data[Count-1] 이 부분이 왜 마지막 인덱스인지 잘 이해가 안가네요.. 사소한 부분이긴한데 44번줄에 있는 count-- 가 실행되기 전이니까 _data[Count-1]의 값은 4번째 인덱스여야하지 않나요?혹시 Count는 1부터 시작하는건가요?

  • C#
와황성 댓글 1 좋아요 0 조회수 376

2D에서 navmesh를 사용하는 방법이 궁금합니다.

해결됨

[유니티6] 따라하면서 배우는 하이퍼캐주얼게임 시리즈 01

https://youtu.be/vxCMOPCYeM0?si=-u3zQapZH__F5LZu 우선 본 강의와는 관계없는 질문인 점 양해 부탁드립니다. 고박사 님께서 유튜브에 올리신 RTS 튜토리얼을 보고 2D로 제작하려고 했는데 아무리 찾아봐도 2D에서는 유저들이 만든 사제 플러그인을 활용하는 방법밖에 찾지 못했습니다. 2D에서 navmesh를 적용하고, 고박사님의 튜토리얼을 따라 조작까지 구현하는 방법을 알고싶습니다. 고박사님께서 방법을 알고계신다면 꼭 배우고싶습니다.

  • C#
  • unity
박관우 댓글 1 좋아요 1 조회수 3704

보스와 인공지능에서 질문있습니다.

미해결

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

안녕하세요. 보스와 인공지능에서 보스의 캐릭터가 영상처럼 공격을 하고 다시 찾고 하지 않습니다. 혹시 몰라서 보스와 인공지능의 프로젝트파일로 열어서 확인해보아도 동일한 현상이 발생하였습니다. 그래도 혹시 몰라서 코드와 파일을 복사 붙어넣기해도 동일한 증상이 발생하였습혹시 짐작되는 부분이 있을까요? 추가 정보 MonsterController 의 UpdateController가 작동이 안되는 것을 확인하였습니다. BossController 의 UpdateMoving도 작동안되는 것을 확인했습니다. Play 와 CrossFade 도 같은 증상입니다.

  • C#
  • unity
  • object-pooling
Wind mill 댓글 7 좋아요 0 조회수 860

설정 관련 질문있습니다

미해결

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

언제부턴가 세로 구분선이 나타나지 않는데 이유를 모르겠습니다 텍스트 편집기에서 구조안내선 표시가 되어있는데도 C#에서만 namespace, class, method 에서 구분선이 나타나지 않는데 혹시 나타나게 하는 방법이 있을까요 ??? 재설치를 해봤는데도 그래요...

  • C#
요가인 댓글 1 좋아요 0 조회수 320

같은 네트워크 안에서 다른 컴퓨터와 연결

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요. 강의 들으면서 이것저것 실험 중에 질문 드립니다. 제 컴퓨터(서버)와 노트북(클라이언트)을 같은 와이파이에 연결해서 둘이 통신을 해보려고 하는데 서버쪽 클라이언트쪽 이렇게 ipconfig를 쳐서 서버컴퓨터의 무선 LAN 어댑터 Wi-Fi의 IPv4 주소를 넣어주었습니다. 그런데 노트북에서는 감감 무소식이었습니다. 같은 와이파이에 연결되어 있는건 확인했습니다. 너무 기초적인 문제 같아서 여쭤보기도 부끄럽지만 도저히 모르겠어서 질문드립니다!

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

작동이 안되네요

미해결

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

1.12 플레이어 구현하기-플레이어 게임오브젝트 수강중인데요, 따라서 하고있는데 재생을 누르면 오류가 뜹니다. 왜 이러는지 알려주세요... 스크립트) using UnityEngine; public class PlayerController : MonoBehaviour { void Start( ) { GameObject.setactive(false); 오류내용 All compiler errors have to be fixed before you can enter playmode! UnityEditor.SceneView:ShowCompileErrorNotification () Assets\Scripts\Player\PlayerController.cs(7,16): error CS0117: 'GameObject' does not contain a definition for 'setactive'

  • C#
  • unity
오규태 댓글 1 좋아요 0 조회수 674

Clean함수의 else부분 질문 있습니다

미해결

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

_readPos = 0; _writePos = DataSize; 이렇게 하셨는데 순서가 반대 아닌가요?? readPos가 2이고 writePos가 5였을 때 DataSize는 3 그런데 readPos를 먼저 0으로 하면 DataSize는 5로 변해 writePos는 3이 아닌 5로 초기화가 될것 같습니다 else부분은 남은 데이터가 있는 경우 readPos만큼 Array의 처음 주소를 앞 당기는거니까 초기화된 writePos의 기대값으론 기존 writePos - readPos 아닌가요?? readPos = 0; 이 부분이 먼저 나온 이유가 궁급합니다!

  • C#
  • unity
  • 네트워크
dpcks5959 댓글 3 좋아요 0 조회수 428

Listener Init 함수를 여러번 호출 시킨 뒤 세션을 만들면 예기치 않은 동작을 할 수 있지 않나요??

미해결

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

Init 함수안에는 sessionFactory += sessionFactory; 가 있는데 Init을 여러번 호출 시키면 세션을 만드는 함수들이 _sessionFactory에 들어가서 Invoke 했을 때 여러개의 세션들이 만들어지는 예기치 않은 동작을 하지 않을까요??

  • C#
  • unity
  • 네트워크
dpcks5959 댓글 1 좋아요 0 조회수 459

인기 태그

인프런 TOP Writers

주간 인기글