묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결유니티 2D RPG 게임 만들기
MemberShip 계정 개수를 늘리고 싶어요
강의 내용대로 하면 하나의 계정은 잘 만들어져요근데 두 번째 계정을 만들면 처음 계정이 삭제되는 듯 하네요계정을 두 개 만들고 싶으면 어떻게 하나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
이중 Job 캡슐화는 오히려 위험한것이 아닌지요??
18:25 설명을 보면 HandleSkill 내부에 있는 EnterGame 도Job 캡슐화해서 push 하는게 좋다고 하셨는데Job 시리얼라이저 특성상 스레드 1개가 Job을 기준으로 순차적으로 처리할텐데 Job 안에 또 Job캡슐화를 하면 이중 Job 부분은 뒤로 밀려나서 나중에 처리되겠죠 그렇다면 그 사이에 있는 다른 Job을 처리하는 과정에서 뒤로 밀려난 애가 처리할 수 없는 상황이 올 수 도 있지 않을까해서 더 불안정하다는 생각이 듭니다그래서 결국 이중 job 캡슐화하는 것보다 18:25에 나오는EnterGame 도 바로 처리하게 push 를 안하는 방향이 더 낫지 않나 싶습니다
-
미해결따라하면서 배우는 고박사의 유니티 기초
사다리 밑으로 이동이 안 돼요
강의 다 따라하고 스크립트도 똑같이 작성했는데 사다리 타고 올라가는 건 되지만 내려오는 것이 안 돼요. 사다리 앞에서 멈춥니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
cpu사용량 100%
해당 코드를 프로젝트에 맞게 변경 해서 쓰려고 하고 있는데 초보라서 버그를 못 잡고 있습니다. aws에 올려놓으면 특정 시점에 dev, live서버 모두 cpu 100%에 도달하고 cpu크레딧도 다 사용합니다.dev, live모두 같은 시점에 올라갈 때도 있고 아닐 때도 있습니다.인터넷에서 떠돌면서 공격 포인트를 찾는 해킹봇 때문인가 싶어서 클라에서 바로 연결을 끝내는 try catch쪽이랑 한동안 유의미한 패킷을 보내지 않으면 끊어버리는 timeout도 넣었는데도 발생합니다.wmi provider host문제는 아닌것 같아요 task manager기준으로는 서버 콘솔 프로그램이 많이 사용합니다.앗 그리고 이렇게 질문하는 이유는 초창기 코드가 많지 않을 때도 cpu 100%를 찍었기 때문입니다.코드는 강의 최종본을 변경해서 사용했습니다.Jetbrains dotTrace 를 사용해서 프로파일링을 한 경우 다음과 같이 뜹니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
위치 동기화 검증 위치
전에 만드신 테라의 경우 맵 타일링 정보를 서버에 저장해두고 플레이어의 위치 동기화 로직을 서버에서 처리하셨나요?아니면 클라이언트가 먼저 이동(자기 기준)하고 그 결괏값을 서버로 보내는 방식으로 처리하셨나요?케이스 바이 케이스이겠지만 일반적으로 어떻게 하는 지 궁금해서 질문 드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이전에 PlayerController의 간헐적 버그에 질문 드렸던 사람입니다.
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)을 활성화 한 이후로부터 버그가 해결이 된 이유가 궁금합니다.저게 활성화 되지않으면 클릭이벤트가 씹힌다던가 그러한 문제가 발생하는건가요?
-
미해결따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01
[2D Pin Circle Game] 회전 질문
안녕하세요. 2D Pin Circle Game에서 회전시 유니티 에디터로 실행할 때는 정상적으로 보입니다.하지만 안드로이드에 연결해서 실행시에는 좀 흐리게 보입니다. 플레이 스토어 앱으로 예를 들면회전시 선명하게 보임Pin Circleaa회전시 흐리게 보임Pin Circle 테스트에 사용한 폰은갤럭시 S9안드로이드 10입니다. 검색해서 시도해봐도 개선이 되지 않아 질문드립니다.fixedUpdate 사용Time.deltaTime 대신 Time.smoothDeltaTime 사용 어떻게 개선할 수 있을까요? 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
실무에서 New Input System은 사용 안하나요??
실무에서 New Input System은 사용 안하나요??
-
미해결[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#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
서버도 ObjectPool 사용해야하나요?
서버도 오브젝트 풀링 써야하는지 궁금합니다. 일단 생각대로라면 장르에 따라 수많은 Projectile이 생성되고 삭제될텐데 아무리사용하지 않는다 하더라도 가지고 있는것과 가지고 있지 않는 상태는 차이가 있잖아요? 그렇지만 또 할당하고 해제하는 단계는 더더욱이 비용이 많이들어가는것도 사실이 이니깐포톤네트워킹은 사용했던걸로 기억하는걸봐서 사용하는게 맞나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
17:13 부분 질문드립니다
i<5이기때문에 아무것도 출력되지 못하는게 맞는데 저는 헬로 스레드가 다섯번 나와버립니다..! 무슨 문제일까요?
-
해결됨따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01
2D에서 navmesh를 사용하는 방법이 궁금합니다.
https://youtu.be/vxCMOPCYeM0?si=-u3zQapZH__F5LZu우선 본 강의와는 관계없는 질문인 점 양해 부탁드립니다.고박사 님께서 유튜브에 올리신 RTS 튜토리얼을 보고 2D로 제작하려고 했는데아무리 찾아봐도 2D에서는 유저들이 만든 사제 플러그인을 활용하는 방법밖에 찾지 못했습니다.2D에서 navmesh를 적용하고, 고박사님의 튜토리얼을 따라 조작까지 구현하는 방법을 알고싶습니다.고박사님께서 방법을 알고계신다면 꼭 배우고싶습니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
보스와 인공지능에서 질문있습니다.
안녕하세요.보스와 인공지능에서 보스의 캐릭터가 영상처럼 공격을 하고 다시 찾고 하지 않습니다.혹시 몰라서 보스와 인공지능의 프로젝트파일로 열어서 확인해보아도 동일한 현상이 발생하였습니다.그래도 혹시 몰라서 코드와 파일을 복사 붙어넣기해도 동일한 증상이 발생하였습혹시 짐작되는 부분이 있을까요? 추가 정보MonsterController 의 UpdateController가 작동이 안되는 것을 확인하였습니다.BossController 의 UpdateMoving도 작동안되는 것을 확인했습니다.Play 와 CrossFade 도 같은 증상입니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
같은 네트워크 안에서 다른 컴퓨터와 연결
안녕하세요. 강의 들으면서 이것저것 실험 중에 질문 드립니다.제 컴퓨터(서버)와 노트북(클라이언트)을 같은 와이파이에 연결해서 둘이 통신을 해보려고 하는데서버쪽클라이언트쪽 이렇게 ipconfig를 쳐서 서버컴퓨터의 무선 LAN 어댑터 Wi-Fi의 IPv4 주소를 넣어주었습니다.그런데 노트북에서는 감감 무소식이었습니다. 같은 와이파이에 연결되어 있는건 확인했습니다.너무 기초적인 문제 같아서 여쭤보기도 부끄럽지만 도저히 모르겠어서 질문드립니다!
-
미해결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#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Clean함수의 else부분 질문 있습니다
_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#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Listener Init 함수를 여러번 호출 시킨 뒤 세션을 만들면 예기치 않은 동작을 할 수 있지 않나요??
Init 함수안에는 sessionFactory += sessionFactory;가 있는데Init을 여러번 호출 시키면 세션을 만드는 함수들이 _sessionFactory에 들어가서 Invoke 했을 때 여러개의 세션들이 만들어지는 예기치 않은 동작을 하지 않을까요??
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
버튼 조작을 해주는 스크립트 위치
강의 내용중에 UI_TitlePopup에서 GetButton으로 버튼 조작을 해주신다고 하셨는데 UI_Base에서 만든거를 상속상속 받아서 사용되는거라고 저는 그렇게 이해했는데 제가 이해한게 맞는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
RegisterRecv를 if 문에 넣는 이유
OnRecvCompleted함수에서 Listener와 다르게 Register 함수를 if문에 넣는 이유는 exception에 걸렸을 때를 생각해서 일부러 if문 안에 넣으신건가요??
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadLock 질문 드립니다!
ReadLock은 어떤 쓰레드도 write를 하고 있지 않을 때 ReadCount를 1 늘리는데 왜 while문 안에는 해당 조건문이 없는건가요??