월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 수강 방법론에 대하여
안녕하세요. 수강생 김준한 입니다. 다름아니라, 즐거이 유니티와 서버를 선생님의 강의를 통해 학습하고 있습니다. 한 가지 어려움이 있습니다. 1. 강의 중 수업이 바뀔때마다 수정되고 다시 수정되니 어떤 것을 익히고 습득을 해야할지 모르겠습니다. 코드 정리가 안되서 복습하기 매우 까다롭습니다. 결론적으론, 마지막 최종 수정된 코드내용만이라도 이해하고 실제 설계할 수 있으면 되는지요? 감사합니다. 김준한 드림.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문 드립니다.
1. 매니저를 이용하는 이유가 반복되는 작업들을(ex 리소스 불러오기 등)을 매번 코드로 작성해주기 불편해서인가요? 2. 구조가 Managers는 매니저들을 관리해주는 매니저인거고 내부에서 각 매니저들을 불러오는거고??즉 Managers-> 불러오고 싶은 매니저들 인게 맞나요?? 3. 코드 질문 public T Load<T>(string path) where T: Object public GameObject Instantiate(string path) 이 부분이 헷갈리는데 프리팹테스트 클래스에서 tank = Managers.Resource.Instantiate("Tank"); 이렇게 먼저 호출을 해주면?? Instantiate이 함수 내부에서 GameObject prefab = Load<GameObject>($"Prefabs/{path}"); 여기서 또 Load를 호출 해주고 Load는 Resources.Load<T>(path);이걸 리턴해주는데 리턴해주는 위에 구문이 경로상에 있는 프리팹을 불러오는게 맞는건가요? 그래서 경로상에 프리팹을 긁어오고 Instantiate로 인스턴스를 생성해주는?? 이렇게 이해해도 괜찮을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Stack에 왜 UI_Popup을 들고있어야 하는지 이해가 가지 않습니다.
사실 Instantiate하는 것과 Destroy 하는 것 전부 GameObject로 이루어지는데 굳이 UI_Popup을 들고 있어야만 하는지 이해가 잘 가지 않습니다. UI_Popup을 해서 얻는 이점은 Popup Component를 상속받는 Component 인 것만 Stack에 넣는다 이정도인거 같은데 이것 때문에 Stack에 UI_Popup을 넣는 것이 맞나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
저만 페일 뜨나요? ㅠ
밑에 경고 메세지도 뜨네여 ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
다른 질문이지만, 한 가지 여쭤보겠습니다!
강의보며 따라하다가, Define 클래스에 있는 enum을 유니티에서 '없다고 오류처리' 해버려서 철자가 틀린 줄 알고 엄청 찾아 헤맸습니다.. 물론 비주얼 스튜디오는 오류가 없다고 떠서 엄청 고생했어요 ㅠㅠ 그런데 유니티를 껐다가 켜보니 똑같은 코드인데, 이번에는 정상 실행 되더군요;;;;;; 이런식으로 완벽한 코드인데도 유니티가 오류처리를 할 수 있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
벡터 질문 드립니다.
음...벡터라는게 방향과 크기?로 알고 있는데 두 점 사이에서 나의 위치를 기준으로 얼마 만큼의 거리를 이동하려고 할 때 항상 노멀라이즈로 단위벡터로 만들어 주는 이유가 거리만 알고 있기 때문에 매그니튜드로 거리만을 구해준 다음에 단위벡터로 만들어서 방향만을 명시해주고? 시간과 속력을 곱해줘서 가고 싶은 목적지로 가는?? 걸로 이해 해도 괜찮을까요? 벡터 너무 어렵네요 ㅜ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문 드립니다!!
질문 드립니다. 로그 찍는 기능이 있어서 찍어 봤는데 1. 플레이어 클래스가 먼저 호출 되는 이유가 있나요? 2. 또 코드를 해석하자면 1)매니저스 클래스를 플레이어 에서 생성해서? 2) static Managers s_instance; 이 구문이 실행되고 인스턴스가 생성되면 Init()안에서 GameObject go = GameObject.Find("@Managers"); 이 문장을 실행하면 유니티에 하이라키 창에서 @매니저가 있는지 확인 하고 없으면 go = new GameObject { name = "@Managers" }; 이렇게 생성 해주잖아요? 그럼 하이라키 창에서 @Managers 이 이름으로 생성이 되고 go.AddComponent<Managers>(); 이 문장을 실행 하면 유니티에서 C#스크림트 파일을 하이라키 창에 있는 오브젝트에 드래그해서 넣는 것처럼 컴포넌트를 등록해주는게 맞나요?? 이렇게 이해 하는게 맞는지 궁금합니다. 3. 또 Managers mg = Managers.Instance; 이렇게 매니저의 인스턴스를 불러왔는데 계속해서 매니저의 업데이트를 타는 이유는 뭔가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
리소스매니저 관련 질문입니다.
안녕하세요 루키스님 최근에 올리신 클리커 강의도 잘 봤습니다. 그런데 예전부터 헷갈리던 부분이 있었습니다. 질문은 두 가지입니다. 제가 한 오브젝트의 스프라이트를 갈아끼울일이 있어 다음과 같이 코드를 짰습니다. private void Awake(){ _spriteList = new List<Sprite>(); _spritePath = new StringBuilder(); for (int i = 1; i < 17; ++i) { _spritePath.Clear(); _spritePath.Append("Textures/InGame/Bulidings/barrier"); _spritePath.Append(i.ToString()); _spriteList.Add(Managers.Resource.Load<Sprite>(_spritePath.ToString())); }} 한 번 awake 함수가 호출될 때마다 16개의 스프라이트 로드를 하는데 제가 이 오브젝트를 반복해서 생성한다면 로드한 리소스마다 메모리에 따로따로 쌓이게 될까요? 아니면 몇 번을 호출해도 같은 리소스를 호출하는 것이니 메모리 추가가 없을까요? 만약에 메모리가 계속 추가된다면 그냥 프리팹의 하이어라키창에서 위의 리스트에 스프라이트 16개를 연결해서 쓰면 괜찮을까요? 두 번째 질문은 Resource.Load 함수를 쓰고나면 씬이 전환될 때 resources.unloadunusedassets(); 를 호출해 안 쓰는 리소스들을 따로 날려야 한다는 말이 있던데 사실일까요? 답변 기다리겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
go.AddComponent<Manager> 관련 질문입니다!
// 새로운 GameObject를 생성하고 이름은 @Managers 로 명명 go = new GameObject { name = "@Managers"} ; // go 게임 오브젝트에 Managers 라는 컴포넌트를 추가 go.AddComponent<Managers>(); 이 부분에서 AddComponent 를 사용하면 Project창 에있는 Managers 를 찾아서 추가 하는것같은데 현재 까지는 Project 에 많은 데이터가 없지만 만약 에셋과 스크립트가 엄청 많은 상황에서도 해당 기능을 사용하면 문제(?) 없이 잘 작동하는지 궁금합니다! 순전히 궁금증으로 유니티 엔진에서 위의 코드처럼 모든것을 new GameObject와 AddComponent 를 사용해서 만들수 있을 것 같은데 그럴경우 문제가 생기는지 궁금합니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
안녕하세요 선생님 rigidbody velocity에 관한 질문입니다.
rigidbody. velocity는 게임 프레임과 관련이 없는건가요?? 제가 게임을 제작하는데 프레임에 따라 느려졌다 빨라졌다하더라구요 그래서 구글링해봤는데 관련없다는 말들이 많더라구요 근데 관련이 없는 것 같지 않아서.. 질문을 드립니다 공식 문서를 보면 프레임이랑 관련이 없는 것 같지않는데.. 너무 어렵습니다 ㅠㅠ
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
()안 들어갈수있는 인자 미리보기는 어떻게 표시하나요?
21분05초쯤에 Raycast()하고 ()에 여러가지 버전이 있다는걸보여주셨는데 버전으로 표시하는 방법을 모르겠어요스크립트에서 뭘눌러야 표시가되나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
커서컨트롤러 관련 레이캐스트 콜리더 인식 오류
현재 모든 강의를 마무리하고 전반적인 문제가 없는 지 확인하는 과정에서 몬스터 위에 커서를 올렸을 때 공격 표시로 바뀌지 않는 문제를 겪고 있습니다. 인식 자체가 안되는 게 아니라 처음 등장해서 한동안은 문제 없이 전투가 이루어지다가 몬스터와 플레이어가 비벼지는 순간부터 이상하게 레이캐스트에서 몬스터의 콜리더를 인식 못하는 문제를 생깁니다.(빨간 색 레이 선이 몬스터의 콜리더를 관통하는 상황에서 디버깅을 걸어봐도 걸리지 않고 있는 상황입니다.) 강사님이 올려주신 파일을 실행해보니 같은 문제가 발생하지는 않는데 커서 컨트롤러를 코드를 복사하여 제가 작성한 파일에 저장한 이후로도 같은 문제를 겪고 있어서 이러한 부분이 코드 상에서 발생하는 문제인지 아니면 유니티 에셋 모델에 따라 발생하기도 하는 문제인지 가늠이 안 가는 상태입니다. ----- 해결 강사님 자료와 비교해서 코드 상에 차이점을 발견하지 못해 몬스터가 가진 컴퍼넌트에서 차이를 보이는 지 확인해보니 강사님 몬스터에는 리짓바디가 없고 제 모델에는 리짓바디가 붙어있기에 그걸 제거해보니 정상적으로 작동이 되네요. 의문인 점은 아예 처음부터 인식이 안되었다면 리짓바디가 레이캐스트을 막는 일련의 작동을 하는구나 싶은데 처음에는 정상적으로 작동하다가 비비는 과정에서 레이캐스트가 안되는 문제가 발생하는 이유를 알 수 있을까요? --- 아무래도 이상하다 싶어서 구글링을 계속 하다 보니 리짓바디 관련해서 오류가 생기는 경우 리짓바디를 제거했다가 추가하는 걸 반복하다보면 문제가 해결된다는 글을 보고 몬스터의 리짓바디를 추가했다 제거하는 과정을 반복하니 갑자기 리짓바디가 있는 상황에서도 정상적으로 작동이 되네요...추가적인 코드 수정이 없는데도 이러니까 조금 당황스럽네요.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
해당코드로 실습하는 것에 약간 문제가 있는 것 같습니다.
다른분의 질문에서도 나왔던 얘기입니다만, 여러번 ShowUIPopup을 하고 바로 직후에 오는 동작으로 한개의 팝업만 CloseUIPopup을 하는 시범코드를 PlayerController.cs의 Start함수에서 실행하면 남아있는 팝업의 order가 이상해지는 현상이 생기는 것 같습니다. 우리가 원하는 동작이 1. ShowUIPopup 실행 2. 팝업의 Instantiate 완료 3. UI_Popup의 Start()에서 Init()실행 4. Init()에서 SetCanvas 호출하고 _order 1증가 5. CloseUIPopup 완료하면서 _order 1 감소 이런식으로 순차적으로 이루어 지는 것이 바람직할텐데 실제로는 PlayerController와 UI_Popup이 병렬적으로 동작하기때문에 3, 4번의 동작이 마무리되는 것보다 앞서서 5번에서 팝업을 삭제하고 _order를 1줄이는 동작이 먼저 수행되는 현상이 일어납니다. UI_Popup의 Start 및 Init이 시작되는 시간이 꽤 느린지 첫번째 팝업의 SetCanvas이 완료되기도 전에 팝업이 닫히는 동작이 더 빨라 결과적으로는 남아있는 팝업들이 -1된 _order를 가지고 뒤늦게 SetCanvas를 수행합니다. 물론 실제 게임에 적용할 때는 이와같이 바로 팝업 후 삭제를 하는 경우는 없고 대부분 이벤트콜백을 통해 처리하기 때문에 이런 경우가 없을 것 같긴합니다만, 강의를 실습하면서 혼동이 생길수 있을 것 같습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티+VScode 개발환경 관련 질문입니다.
VScode에서 소스파일을 수정, 저장하면 유니티의 에디터 설정에 따라 유니티 개발 화면으로 돌아올 때 변동사항을 적용해서 게임을 자동으로 컴파일하게 되어있는데, 저의 경우 그 컴파일 시간이 강의자님의 강의에서 보여지는 시간보다 길어서 특별히 따로 설정하신 것이 있는 지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
몬스터의 스폰 위치
플레이어의 근처에서 스폰하는 예제와 다르게 몬스터의 스폰 위치를 변경하고 싶은데 SpawningPool.cs의 _spwanPos를 건드리면 에디터가 멈춥니다ㅠㅠ 혹시 몬스터의 스폰 시작 위치는 어떻게 변경할 수 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
OnTriggerEnter
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문법적으로 이해가 잘 되지 않아 질문드립니다. OnTriggerEnter는 스크립트 작성시 인터페이스나 상속받은 메소드가 아닌데 OnTriggerEnter라는 메소드를 작성하면 유니티엔진에서 알아서 이벤트핸들러에 등록시켜서 이벤트에 반응하게 된는건가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Tag와 Layer 에 관한 질문이 있습니다!
안녕하세요! 지금까지 제가 개발해보면서 Layer 보단 Tag를 사용해서 물체를 감지하는 방식을 썼었는데 혹시 여기서 성능 차이가 발생하나요? Tag보단 Layer과 비트연산자를 사용하는 방식이 더 좋을까요? 아 그리고 Tag는 비트연산자를 사용할 수 없나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
디자인 패턴 관련해서 질문드립니다!
다름이 아니라 싱글톤 이외의 디자인 패턴들이 많을 텐데 책을 통해서 배우면 되는지 여러 디자인 패턴들의 존재(?)를 어떻게 알고 검색해서 공부하는 지 궁금합니다! 루키스님은 어떻게 하셨나요? 만약에 책을 통해서 배운다면 유니티 디자인패턴으로 검색하니 책이 안나와서 디자인 패턴으로 검색한 뒤 나오는 책으로 공부하면 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Inspector에서 이벤트
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이번 과정을 다 끝내고 나니 원래 inspector 창에서 Button에 콜백할 함수를 지정하는 곳에서 OnButtonClicked가 사라져 있는데 인자로 PointerEventData를 받아야 되서인가요 아니면 다른 이유가 있는 건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
FindChild 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 컴포넌트를 찾는다고 했는데 FindChild<Button>에서는 pointButton 전체는 gameObject 이니까 이 button 컴포넌트를 찾는 건데 컴포넌트의 .name은 붙어있는gameObject의 이름을 따라가니까 PointButton으로 찾을 수 있던거라고 이해하면 될까요?