월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니찬이 전 왜 쓰러질가요?
맥북에서 유니티를 사용하고 있습니다.몇차례 스크립트도 확인하고 강의도 확인했는데 새로운 지점에 마우스를 클릭 하면 도착 후 유니찬이 쓰러집니다.맥북만 그런 현상이 생기는 건지 제가 뭘 체크 안한 것인지 문의 드립니다.감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
_state변수 질문
27번째줄 코드에 _state = PlayerState.Idle라고 되있는데 57번째 줄 switch(_state) 라 하면안 UpdateIdle만 실행되야 하지않나요 전부다 실행되는데 왜그런거죠?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
제네릭 타입에 where을 붙이는 것에 대한 질문
다음과 같이 Bind를 제네릭 타입으로 선언하였는데 where T : UnityEngine.Object로 T를 한정하였는데그러면 처음부터 Bind<UnityEngine.Object>로 작성해도 똑같은 기능인지 궁금합니다.만약 그렇다면 일단 어떻게 쓸지 모르니 제네릭으로 선언했지만 추후에 where을 사용하여 T를 한정 짓는 건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
PlayerController 에 PlayerStat 질문
상태 값 들은 대부분 Define 에 값을 넣어놨는데요왜 PlayerStat은 Define에 저장을 안하고 PlayerController에 가지고 있는지 혹시 다른 이유가 있는지 궁금합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코드질문
9분54초에 public enum CameraMode코드가 무슨역할을 하는거나요 enum은 무슨역할을하고 CameraMode는 단순한 변수이름?같은거나요 아님 함수같이 역할이 지정되있는건가요 그리고 QuarterView는 무슨역할을 하는거나요 왜 ;를 안쓰고 ,를 쓰는거나요10분 16초에 Define.CameraMode _mode = Define.CameraMode.QuarterView는 어떤의미의 코드인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티 모델이 흰색으로 나옵니다..
안녕하세요 선생님!에셋 스토어에서 "supercyan 캐릭터 pack" 을 다운 받아서 파일을 열어보니캐릭터 모델들이 다 하얗게 나옵니다그리고 구매한 항목 프리팹이 HighQuality Folder 와 mobile Folder 으로 나눠져 있는데모바일은 그래도 색깔이 나오는데 High Quality 흰색으로만 보입니다데모 씬 과 highquality prefab이 제대로 나오게 하고 싶은데어떻게 하면 해결할 수 있을까요..?ㅜ (위에서 부터 High quality 프리팹 , mobile 프리팹 입니다)
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
PlayerController script 관련 질문
Q1. 5:00 부터 이어지는 강의를 보면 주기적으로 input event가 발생하는지 알기 위해Update 함수 안에 Onkeyboard();OnMouseClicked(); 함수가 들어가야 한다고 생각하는데 그렇지 않아도 잘 실행되는 이유가 궁금합니다 Q2. 강의대로 code를 짠 후 unity를 실행시켜보면Managers.input.KeyAction -= Onkeyboard;Managers.input.KeyAction += Onkeyboard;부분에서 NullReferenceException 에서가 발생하는데 원인을 못찾겠습니다 문제가 될만한 부분이 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
작업물 관련 질문
강의 따라하면서 작성한 프로젝트 파일들을 깃허브랑 연동하려하고 하는데 public으로 열어 두어도 괜찮은지 질문드립니다. 안 된다면 private으로 두고 해도 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Manager.Input.KeyAction += Onkeyboard;
PlayerController의 void Start 부분에Managers.Input.KeyAction -= OnkeyboardManagers.Input.KeyAction += Onkeyboard 문장이 헷갈립니다 ㅜOnKeyboard가 이벤트 핸들러의 역할을 하는건가요?온라인에 나와있는 이벤트 핸들러의 문법이랑 조금 다른것 같은데 이렇게 사용해도 상관없는건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
public T Load<T>(string path) where T : Object
public T Load<T>(string path) where T : Object를 직접만드는 이유가 뭔지 설명해주세요 ㅠ Instantiate 함수에서 //GameObject prefab = Load<GameObject>($"Prefabs/{path}"); 말고 GameObject prefab =Resources.Load<GameObject>("Prefabs/Tank");이렇게 직접 쓰면안되나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3D 사운드 관련 질문드려요
안녕하세요.강의 열심히 듣는중 상황이 다른점에 대해 조치하고자 문의드립니다.오브젝트에 3D 사운드 효과 적용해도 영상처럼 멀어진다고해서 작게 들리지 않던데 방법이 있을까요?영상을 제작하신지 오래되어서 헷갈리실 수 있는거 알지만..답답한 마음에 올려봅니다! ! 메일로 프로젝트 보내드렸습니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
static 관련
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public abstract class UI_Base : MonoBehaviour { protected Dictionary<Type, UnityEngine.Object[]> _objects = new Dictionary<Type, UnityEngine.Object[]>(); public abstract void Init(); protected void Bind<T>(Type type) where T : UnityEngine.Object { string[] names = Enum.GetNames(type); UnityEngine.Object[] objects = new UnityEngine.Object[names.Length]; // 최상위 타입으로 모두 받아준다. _objects.Add(typeof(T), objects); for (int i = 0; i < names.Length; i++) { if (typeof(T) == typeof(GameObject)) { objects[i] = Util.FindChild(gameObject, names[i], true); } else objects[i] = Util.FindChild<T>(gameObject, names[i], true); if (objects[i] == null) Debug.Log($"Failed to bind({names[i]})"); } } protected T Get<T>(int idx) where T : UnityEngine.Object { UnityEngine.Object[] objects = null; if (_objects.TryGetValue(typeof(T), out objects) == false) return null; return objects[idx] as T; } protected GameObject GetObject(int idx) { return Get<GameObject>(idx); } protected Text GetText(int idx) { return Get<Text>(idx); } protected Button GetButton(int idx) { return Get<Button>(idx); } protected Image GetImage(int idx) { return Get<Image>(idx); } public static void BindEvent(GameObject go, Action<PointerEventData> action, Define.UIEvent type = Define.UIEvent.Click) { UI_EventHandler evt = Util.GetOrAddComponent<UI_EventHandler>(go); switch (type) { case Define.UIEvent.Click: evt.OnClickHandler -= action; evt.OnClickHandler += action; break; case Define.UIEvent.Drag: evt.OnDragHandler -= action; evt.OnDragHandler += action; break; } } } UIBase 코드에서 Bind랑 다르게public static void BindEvent는 static으로 선언하신 이유가 뭔가요 ?나중에 작성 할 Extension 클래스가 static 이라서 인가요 ?그리고 저는 클래스에서 사용하는 static을전역함수인데 클래스로 범위를 한번 묶어주는 정도로 생각하는데 맞나요 ?유니티는 클래스를 만들어도 따로 new를 써서 객체를 만드는게 아니니깐왜 static을 쓰고 어떤건 인스턴스 함수로 놔도 되는지 헷갈립니다 ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Grid layout 컴포넌트 추가시 UI_Inven_Item 정렬
Grid layout 컴포넌트 추가하면 이상하게 UI_Inven_Item 정렬이 이상하게 되는데요ㅠㅠGrid layout 컴포넌트 추가하고 임의로 Item들을 정렬하려고 했는데 Grid layout 컴포넌트 때문에 안된다고 나옵니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
마우스 클릭시 바닥보는 부분에 대해
안녕하세요!강의 잘 보고있어요. hit.point를 통해 바닥 좌표로 캐릭터가 이동을 하는데, 캐릭터가 보는 지점이 바닥 좌표라서 땅을 바라보는 것 같은데,이것을 해결할 방법이 있을까요???다른 질문도 많이 찾아보았지만 명확한 답이 없어서... 참 아쉽네요ㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
안녕하세요! 한 가지 질문이 있어서 왔습니다!
한 오브젝트에 자식 오브젝트가 여러개(10개)가 있다고 가정했을때, 4개는 활성화 상태이고, 6개는 비활성화 상태입니다. 여기서 활성화(비활성화이든) 자식 오브젝트의 '개수'를 구하는 방법이 있을까요? parent.transform.childCount 는 10개 전부 가져오더라고여;;
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
NullReferenceException 에러
Get 메서드 호출할때 NullReferenceException 에러가 납니다 ㅠㅠ....NullReferenceException: Object reference not set to an instance of an object도저히 모르겠어서 프로젝트 압축해서 보내드립니다ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Bind함수의 _objects, objects 질문있습니다.
Dictionary<Type, UnityEngine.Object[]> _objects = new Dictionary<Type, UnityEngine.Object[]>(); // 리플렉션 사용해 enum을 넘겨줘서 이름과 겹치는 UI 게임오브젝트가 있다면 찾아서 저장해주는 함수 protected void Bind<T>(Type type) where T : UnityEngine.Object // reflection { string[] names = Enum.GetNames(type); UnityEngine.Object[] objects = new UnityEngine.Object[names.Length]; // 1.유니티 오브젝트 배열 초기화 _objects.Add(typeof(T), objects); // 2. _objects 딕셔너리에 추가 for (int i = 0; i < names.Length; i++) { if (typeof(T) == typeof(GameObject)) objects[i] = Util.FindChild(gameObject, names[i], true); // 3. objects i번쨰 인덱스에 아기들 찾아 넣어주기 else objects[i] = Util.FindChild<T>(gameObject, names[i], true); if (objects[i] == null) Debug.Log($"Failed to bind {names[i]}"); } }안녕하세요. 힘 쎄고, 좋은 아침 오늘.질문합니다. 궁금한 것이 생겨서.주석에서 볼 수있듯이 2번에서 이미 유니티 오브젝트 배열을 딕셔너리에 추가했습니다.근데 3번 부분에서는 이미 딕셔너리에 추가한 유니티 오브젝트 배열에서 값을 바꿔주고있습니다. (나중에 값을 바꿔줘서 딕셔너리에 있는 어떤 키의 값은 안바뀌고있는줄암.)이게 가능한 이유는 값을 참조하고 있어서 그런건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
하이라키에 여러 이미지 파일 드래그 앤 드롭
이렇게 003이라는 빈 오브젝트를 생성하고밑에서 사진을 한장만 끌어다가 하이라키안에 있는 003 빈 오브젝트 넣으면 저렇게 하위 자식 오브젝트로 들어갑니다. 이제 중요한게 한번에 여러개를 드래그앤 드롭으로 넣는건데이렇게 모든 스프라이트를 선택하고 오브젝트에 드래그앤 드롭을하면이렇게 애니메이션창이 뜨더라구요 ㅜㅜ혼자 유니티 작업하다가 혹시 관련해서 아시는 것 있을까하여 여쭤봅니다!!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Vecotr3.forward 버전에 new 붙이면 [_speed]까지 오류나는 이유
안녕하세요비전공자 학생으로서 정말 감사한 마음으로 강의 듣고 있습니다!1) Vector3.forward 앞에 new 를 붙이면 해당 라인에서 밑줄이 그어지는 이유가 무엇일까요?2) 1번에 경우 [new]를 잘 못 붙인것이라 어렴풋이 에러내용이 짐작가는데요, 어째서 [_speed]에까지 에러 메시지를 띄우는 것일까요?제가 스스로 코드를 쳐보던 와중에 뒤에 알려주신 [코드개선] 부분에 new 연산자를 지우지 않고 그대로 쓴 실수를 했습니다. (처음에는 4줄 다 new를 붙여서 작성했어요)여기저기 구글링하고 공식 api까지 찾아다니가다 엉뚱한 곳에서 오류가 난걸 발견했는데요, 문득 메시지로 여러가지를 띄워주어 궁금해져 질문드립니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
영화를 찍는거라면
안녕하세요.플레이버튼을 눌러 영화를 찍는 거라 말씀하셨습니다.그러면 나중에 그 영화 찍은 것을 다시 보려면 어떻게 해야 하나요?