묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
드래그가 안되는데 어디서 잘못된건지 도저히 모르겠습니다
EventHandler를 자동으로 만드는 과정에서 여러 스크립트가 관여하다보니 헷갈립니다. 드래그하려는 이미지들을 포함한 캔버스에 스크립트 파일을 넣어야하는거 맞나요?스크립트 파일은 MonoBehavior을 상속받는 애들이라면 다 넣어야하는건지..? 넣는 기준이 헷갈려요. 그리고 뭔가 잘못했는지 한 이미지는 드래그 하면 움직이고 다른 이미지는 안움직였는데, 뭐가 다른지 확인해보려고 움직이는 이미지를 복붙해서 확인해보니 갑자기 다 안 움직입니다..ㅇㅁㅇ ㅎㅎ.....너무 모르겠어서 이메일 보내보겠습니다 ㅠㅠ 감사합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SocketAsyncEventArgs 가 연속된 패킷을 모으는 역할을 하나요?
[테스트1]아래 처럼 클라이언트에서 Send를 5번 하는데for (int i = 0; i < 5; i++) { byte[] sendBuffer = Encoding.UTF8.GetBytes($"Hello World! {i} "); int sendByte = socket.Send(sendBuffer); } 강의 결과 화면처럼 서버에서는 5번의 Send 패킷을 모았다가 출력하는 모습을 볼 수 있습니다. [테스트2]아래에서도 마찬가지로 Send를 5번 하는데,1초 딜레이를 주고 실행했습니다.for (int i = 0; i < 5; i++) { byte[] sendBuffer = Encoding.UTF8.GetBytes($"{i} "); int sendByte = socket.Send(sendBuffer); Thread.Sleep(1000); } 이때는 서버에서 패킷을 모을 시간이 없었던건지,Send 패킷을 안모으고 출력하는 모습을 볼 수 있습니다. [질문]서버에서 패킷을 모으는 역할을 하는 것이 무엇인가요?SocketAsyncEventArgs 인가요?그리고 패킷을 모으는 기준이 무엇인지 궁금합니다.시간인가요? 아니면 끊임 없이 연속적으로 보내지는 패킷인가요? 아니면 다른 무엇인가요?SocketAsyncEventArgs recvArgs = new SocketAsyncEventArgs(); recvArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnRecvCompleted); recvArgs.SetBuffer(new byte[1024], 0, 1024);
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
not exist in the namespace 에러가 납니다
error CS0234: The type or namespace name 'AddressableAssets' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?) error CS0234: The type or namespace name 'ResourceManagement' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?) 이 두 부분에서 에러가 뜨는데 어떻게 해결해야 하나요?
-
해결됨무작정 따라하기! TPS 게임 만들기.
27:46 4강) 콘솔 에러가 발생했습니다
NullReferenceException: Object reference not set to an instance of an objectGameManager.Update () (at Assets/_My/Scripts/GameManager.cs:50) 콘솔에 출력된 에러 내용입니다.cs:50 은 bulletText.text = currentBullet + " / " + maxBullet; 부분입니다. 오브젝트를 못찾는거같은데 어떻게 해결할 수 있을까요
-
해결됨[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
강의 내용에 대해서 궁금한점이 있습니다.
안녕하세요. 질문이 있어서 글을 남기게 되었습니다.루키스님의 지난 강의 유니티로 MMORPG만들기에서 데이터베이스를 mssql, entity framework로 만드셨는데 이번에도 같은 것으로 진행 하는것인지 궁금합니다.인디, 또는 개인개발자를 대상으로 진행하는 교육인 만큼 리눅스 서버에서 돌아가는 mysql, 또는 mariaDB와 같은 비용이 최소화되는 환경으로 진행되었으면 하는데 여기에 대해서 답변 주실 수 있을까요?이미 강의를 구입하였는데 저 또 한 개인개발을 목표로 하고 있어서 강의내용에 대해서 궁금합니다.!!
-
해결됨무작정 따라하기! TPS 게임 만들기.
3강 31:42 private Rig 를 사용하기 위해서 using 구문을 추가해야 합니다
영상에 using 구문이 적용되는 장면은 나오지 않았지만using UnityEngine.Animations.Rigging;을 추가해주셔야 private Rig handRig;가 에러없이 작동합니다. 5분동안 헤매다가 해결법을 찾아서 올립니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
onAcceptHandle 추가 위치 질문 드립니다.
_listenSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _onAcceptHandler += onAcceptHandler; _listenSocket.Bind(endPoint); _listenSocket.Listen(10)위 코드에서 new Socket() 한 뒤에_onAcceptHandler += onAcceptHandler; 로 핸들러를 추가 했는데,아래 코드처럼 Listen() 뒤에 추가 해도 문제 없을까요?_listenSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _listenSocket.Bind(endPoint); _listenSocket.Listen(10); _onAcceptHandler += onAcceptHandler;
-
해결됨무작정 따라하기! TPS 게임 만들기.
2강 주의)2:49 에셋과 3:36 에셋이 다릅니다
반드시 3:36 에셋으로 다운로드/임포트 해야합니다2:49에 나오는 에셋은 잘못된 에셋이에요. 그리고 2022.3.15 유니티로 하면 에셋 몇가지가 누락되어 다운로드되니 2022.3.12로 무조건 하셔야합니다
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
byte[] -> ArraySegment 변환 중 생략 된 부분
더미클라와 서버의 Program.cs에서byte가 arraysegment 부분으로 변환되는게 생략되었습니다.어려운 작업은 아니지만, 뒤에 듣는사람 참고하라고 올립니다. 아닌가.. 내가 잘못한 부분이 있었네 public override void OnConnected(EndPoint endPoint){Console.WriteLine($"OnConnected bytes : {endPoint}");byte[] tempBuff = Encoding.UTF8.GetBytes("Welcome to MMORPG Server!");ArraySegment<byte> sendBuff = new ArraySegment<byte>(tempBuff);Send(sendBuff);Thread.Sleep(1000);Disconnect();} public override void OnConnected(EndPoint endPoint){Console.WriteLine($"OnConnected bytes : {endPoint}");//데이터를 보낸다for (int i = 0; i < 5; i++){byte[] tempBuff = Encoding.UTF8.GetBytes($"Hello World {i}");ArraySegment<byte> sendBuff = new ArraySegment<byte>(tempBuff);Send(sendBuff);}}
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
상업적출시를 위한 에셋 사용범위 문의
우선 좋은 강의 감사합니다.강의해주신 내용 토대로, 좀 더 디벨럽한뒤에 마켓에 출시하고자 합니다. 커뮤니티 게시판에 일부 에셋은 사용해도된다고 하였는데, 확인 차 문의드립니다.캐릭터와 UI/ UX 수정은 하지만, 몬스터 디자인이 맘에 들어 그대로 사용하려고 합니다. 사용해도 되는지 여부와, 몬스터 이미지 에셋 판매 계획이 있으신지 문의드립니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
싱글톤 및 인스턴스, C#파일간의 호출관계 질문
static Managers s_Instance; //유일성이 보장된다 public static Managers instance { get { Init(); return s_Instance; } } // 유일한 매니저를 갖고온다 InputManager _input = new InputManager(); ResourceManager _resource = new ResourceManager(); public static InputManager input { get { return instance._input; } } public static ResourceManager resource { get { return instance._resource; } } c#파일간에 어떤식으로 호출되고 연관되는지 이해가 어렵습니다 질문이 모호해서 죄송합니다. 순서가 어떻게 되는지 잘모르겠습니다. 제일처음 start로 시작하는게 playerController.cs에서 시작해서 void start()안에 Managers.input.KeyAction += OnKeyboard; 로 inputManager.cs에 public Action KeyAction = null; 널로 되어있는 이 값에 OnKeyboard 가 저장되게하고 이 뒤부터 순서를 잘모르겠습니다. Managers.cs InputManager _input = new InputManager();public static InputManager input { get { return instance._input; } } _input 생성자 input메서드 이거 두개가 어떻게 사용되는지 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
GetComponentInChildren<T>() 메소드 오류
UI 자동화 #1 강의 중 FIndChild 유틸함수를 만드는 과정에서 SC1579 오류가 발생합니다. "T에는 'GetEnumerator'의 공개 인스턴스 또는 확장 정의가 없다"라고 하면서 실행이 되지 않는데 이 부분이 이해가 되지 않아 질문글을 작성하게 되었습니다..
-
해결됨[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
타 장르의 게임을 개발하는데 있어서도 도움이 될수있는 강의인지요?
저는 앞으로 마블스냅 같은 게임을 1인개발로 만들어 출시해서 운영해보고 싶습니다.그 목표를 이루는데에 있어서, 지금 이 강의가 도움이 될수있을까요?게임 장르가 다르면 사용되는 기술이나 방법들이 많이 달라질수도 있는건가요?이 강의를 들으면 오직 방치형, 리니지라이크 같은 종류의 게임들만을 만드는데만 도움이 되고타 장르의 게임을 개발하는데는 별로 도움이 되지않는것인지 궁금합니다. 알려주세요.
-
해결됨두고두고 써먹는 유니티 VR
데모 실행- collider 연결 문의드립니다.
https://www.inflearn.com/questions/857162/gun-grab%EA%B4%80%EB%A0%A8-%EB%AC%B8%EC%9D%98%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4#256807 위 링크따라서 해보려고 했는데 xr interactable snap volume 이 어디에 있는지 어떤 탭으로 어디에 들어가서 수동으로 연결해야하는지 모르겠습니다. gun 이랑 bomb, grab 제일 중요한 방향키가 안먹는데 거기에도 collide를 연결하라시는 건지 어떻게 해야하는건지 모르겠습니다. 본격적으로 자세히 수강하기전에 게임을 한번 실행해보고 vr 기기와 연결해 봐서 플레이 해보고 싶어서 그렀습니다. 한번만 이해해주시고 첨부해주신 링크 조작키 작동하게 수정하는 방법 좀 초심자 눈높이에서 순서대로 알려주실 수 있을까요? 부탁드리겠습니다.
-
해결됨두고두고 써먹는 유니티 VR
데모 게임 실행 방법 (시뮬레이터 / vr 기기) 문의 드립니다!
complete tutorial 파일을 unity hub에서 열어서 Scene 열어서 tutorial 파일로 들어가서 게임 화면은 떴는데 simulator key 단축키나 마우스가 안먹어서 슈팅이 되지 않고 게임이 시작되지 않는데 어떻게 해야 게임이 실행되는지 알려주실 수 있을까요? 다른 파일 경로로 들어가야 하나요 아님 어떤 셋업을 해야 게임이 실행되는건가요? 지금 강의에서 완성해주신 게임을 한번 시뮬레이터와 vr 기기로 플레이해보는게 목적이어서요. 시뮬레이터랑 vr 기기(오큘러스 퀘스트 2)에서 바로 게임을 실행해볼 수 있는 방법, 메뉴얼이 있으면 좀 자세히 공유해주시면 감사드리겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문있습니다@!!
안녕하세요 강의를 듣다 enum으로 하나씩 넣는게 제 개인적인 생각으로는 귀찮다라는 생각을 받았어요 그래서 이걸 오브젝트의 이름만 받아서 사용할 수 있게 해보자 해서 짜봤는데 강의에서 소개해주신 enum으로 관리하는 것과 제 코드와 비교해서 enum으로 관리할 때의 장점이 있을까요? 그리고 아래 코드에서 개선할만한 부분도 있다면 알려주시면 감사하겠습니다private Dictionary<Type, UnityEngine.Object[]> _componentDictionary = new Dictionary<Type, UnityEngine.Object[]>(); private void Start() { Bind<Button>(); Bind<TextMeshProUGUI>(); Bind<Image>(); Bind<GameObject>(); Debug.Log(Get<GameObject>("ddd").transform.position.x); } void Bind<T>() where T : UnityEngine.Object { //필터 해줄 타입 추가 if (typeof(T) != typeof(Button) && typeof(T) != typeof(TextMeshProUGUI) && typeof(T) != typeof(Image) && typeof(T) != typeof(GameObject)) return; if (typeof(T) == typeof(GameObject)) { Transform[] transforms = Util.FindChild<Transform>(transform, true); GameObject[] gameObjects = new GameObject[transforms.Length]; for (int i = 0; i < transforms.Length; i++) { gameObjects[i] = transforms[i].gameObject; } _componentDictionary.Add(typeof(GameObject), gameObjects); return; } T[] objects = Util.FindChild<T>(transform, true); _componentDictionary.Add(typeof(T), objects); } T Get<T>(string name) where T : UnityEngine.Object { UnityEngine.Object[] objects = null; if (_componentDictionary.TryGetValue(typeof(T), out objects) == false) return null; foreach (UnityEngine.Object obj in objects) { if (obj.name == name) return obj as T; } return null; } public static T[] FindChild<T>(UnityEngine.Transform transform, bool recursive = false) where T : UnityEngine.Object { if (transform == null) return null; if (recursive == false) { T[] dd = new T[transform.childCount]; for (int i = 0; i < transform.childCount; i++) { dd[i] = transform.GetChild(i).GetComponent<T>(); } return dd; } else { return transform.GetComponentsInChildren<T>(); } }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
FindChild 사용시 원치 않은 것에 대한 컴포넌트 반환
안녕하세요 Util에서 FindChild를 정의하는 부분의 recursive가 true일 때 최상위 계층 gameobject 안에이름과 컴포넌트 타입은 같지만 계층이 다른? gameobject가 있다면ex)최상위 부모ㄴTest(name) - Text(컴포넌트) (1)ㄴTest2ㄴㄴTest(name) - Text(컴포넌트) (2)내가 찾고자 하는 오브젝트의 컴포넌트는 예제에서의 2번인데GetComponentsInChilderen에서 1번이 반환 될 수 있지 않나요?만약 그렇다면 해당 구조를 사용할때의 제약조건이같은 이름이면서 같은 컴포넌트를 갖는 오브젝트는 사용할 수 없다 정도일까요?(물론 같은이름이면서 같은 컴포넌트를 갖어야만하는 경우는 없을테지만요)
-
해결됨두고두고 써먹는 유니티 VR
게임 프로젝트 파일 실행방법 문의드립니다!
chapter 4에 주신 게임 프로젝트 파일을 어떻게 unity web editor에 붙여넣거나 실행해야 완성된 게임프로젝트를 실행시킬 수 있는건가요? 제 프로젝트 파일의 assets packages projects setting user setting에 각각 붙여넣어야 하나요? 어떤 파일들을 어떻게 어디에 붙여넣어야 바로 시뮬레이터로 완성된 게임을 실행하고 볼 수 있는지 알려주시면 감사하겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
VS 툴팁 이전/다음 단축키 질문드립니다.
루키스님 안녕하세요?VS 단축키가 궁금해서 질문 올립니다.강의 10:56초툴팁 확인할 때 다음/이전 단축키가 무엇인가요?tab은 될때 있고 안될 때 있는 것 같아서요위아래 화살표는 자동완성 따라가서 잘 안되는 것 같아요.
-
해결됨두고두고 써먹는 유니티 VR
소스 코드/ VR 기기 질문
강사님 강의 중에 사용하신 소스코드는 4-1 디펜스 게임 실습 프로젝트 코드만 있는건가요? 그 코드를 unity editor로 열면 바로 vr 기기에서 실행해볼 수 있는 건가요? 그리고 이 프로젝트를 열고 실행해 보기 위해서는 oculus 2 만 가능한가요(현재 모델로는 meta quest 2인가요 )아니면 다른 vr 기기들도 실행 가능한가요? 감사합니다.