월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Slerp 질문
강의 초반 부분, 회전을 위해서 Slerp함수를 사용하실때 3번째 인자에 10 * Time.deltaTime 을 넣으신 이유가 궁금합니다. 이전에 키보드로 이동하는 OnKey()함수에서의 Slerp에서는 0.2f라는 고정된 값을 넣으셨는데요. 둘의 차이가 궁금합니다. 혹시나 Update문에서 바로 rotation을 하는것이라 프레임 체크를 위해서 저런 값을 넣으신건가요? 또 Slerp함수에서 3번째 인자는 0,1 사이의 값을 넣어야만 하는것으로 알고있는데 Time.deltatime에 두자리수를 곱해주면 항상 0에서 1사이의 값이 나오는지도 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
학습파일은 없나요?
각 파트마다 해당 학습 파알 ,교재 같은거 없나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI 자동화 생성과 삭제
UI 자동화 생성과 삭제에 대해서 질문있습니다. 게임 중에서는 생성과 삭제를 자주 하지 말라고 들었는데 현재 UI 자동화와 매니저를 만드는 부분을 보면 생성과 삭제를 자주 하는것같은데 괜찮은건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
BindEvent 와 ScrollRect에 관련된 질문입니다.
안녕하세요. 강의를 통해 UI 를 익히며 BindEvent를 유용하게 쓰고 있었습니다. 그런데 한가지 문제가 생긴것이 ScrollRect를 쓰면서 생겼습니다. 원래 ScrollRect를 쓸때, Contents 부분에 버튼을 자식으로 넣은 후, 스크롤을 하며 위 아래로 살펴보게끔 하는 용도로 쓰고 있었고, 버튼에는 클릭하면 함수가 실행되도록 BindEvent를 통해서 함수를 넣었습니다. 그런데 이렇게 넣은 버튼들은 스크롤 할때 그 버튼을 꾹 누른 상태에서 스크롤을 시도하면, 스크롤이 시도가 안되는 현상이 있더군요. 혹시 이런 상황이 발생될 때, 스크롤을 할 수 있는 방법이 없을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코루틴 질문
제가 이해한 것이 맞는지 봐주실수 있나요? void makingNPC() { for (int i = 0; i < 10000; i++) { // 복잡한 로직을 실행하는 작업. } } 위의 코드를 코루틴으로 바꾸면, 아래 코드로 바뀌는게 맞나요? class makingNPC: IEnumerable { public IEnumerator GetEnumerator() { yield return 2500; yield return 5000; yield return 7500; yield return 10000; } } makingNPC makingnpc = new makingNPC() foreach(Systerm Object m in makingnpc) { // 복잡한 로직을 실행하는 작업. }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
InputManager와 PointerEvent와의 관계에 대해 질문이 있습니다.
해당 강의를 보고 InputManager 를 통해 키입력, 마우스 포인터 입력에 대해 정의를 하고 사용했는데 UI로 넘어가면서 드래그 앤 드랍이나 더블클릭 같은 경우 PointerEvent를 사용하는 것이 더 편리하다는 생각이 들었습니다. 이럴 경우 계속 InputManager를 사용해 구현하는건지 아니면 UI 구현부에서는 EventHandler를 혼용해도 되는지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
일정 부분 강의를 마치고 올려주신 코드를 불러올 때 error가 생깁니다.
올려주신 파일들을 저렇게 3개 올려주셨는데요 제가 이 폴더들을 새로 만든 Project 안에 있는 Assets, Packages, ProjectSettings 세개의 폴더를 그대로 삭제하고 올려주신 폴더로 교체했습니다. 그랬더니 아래와 같은 에러가 발생하고 있습니다. 보면 패키지 버전?이 기존과 다르더라고요 강사님이 올려주신 폴더로 교체하면 자동적으로 Library\PackageCache\com.unity.collab-proxy@1.2.16\...으로 버전이 바뀌더라고요 (처음엔 1.3.9 입니다.) 오른쪽이 잘 돌아가는 버전, 왼쪽이 안 돌아가는 버전입니다. 어떻게 해결해야할까요? ...
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Sound manager 부분 Stop()이 작동하지 않는 이유가 뭘까요??
사운드 매니저 부분 강의 듣고 있습니다... Bgm을 재생하는 데에서, 재생중인 음악이 있으면, 끄고 다시 재생하는 기능을 따라하고 있는데, 작동을 하지 않고 소리가 계속 겹쳐서 재생됩니다 ..ㅠㅠ 구글링을 해봐도 맞게 쓰고있는거 같은데 왜 이런 현상이 일어나는지 모르겟어요.. 추가로 @Sound 산하에 Bgm과 Effect가 마구잡이로 생겨나는데 원인을 못찾겠습니다..ㅠㅜ 추적해보니, Init을 Manager를 통해 하면서 어딘가 무한루프가 걸린 것 같은데, 코드 상 문제를 찾는게 제힘으론 힘드네요..
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
json load 시 stack overflow 발생 관련 문의입니다.
처음에는 질문에 있는 사람들처럼 환경에 따른 문제인가 하고 여러 방면에 대해 확인해봤는데 문제가 이상한 곳에서 해결이 되어 문의 드립니다. 다음과 같이 Managers 에서 데이터매니저를 init 해주면 스택오버플로우가 발생하는데 플레이어 컨트롤에서 매니져를 불러와 init을 시키면 해당 문제가 발생하지 않네요. 코드를 봐도 정확히 어떤 지점이 문제가 되는 건지 가늠이 잡히지 않아 문의 드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
하드코딩
하드코딩이 어떤 뜻인가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
foreach문 Ienumerable 아직 이해를 못하겠습니다 ..ㅠㅠ
public override void Init() { base.Init(); Bind<GameObject>(typeof(GameObjects)); GameObject gridPanel = Get<GameObject>((int)GameObjects.GridPanel); foreach (Transform child in gridPanel.transform) { Managers.Resource.Destroy(child.gameObject); } } 저번에 숙제 남겨주셔서, 찾아보니, foreach문을 사용하기 위해서 IEnumerable과 IEnumerator가 필요하고, foreach가 사용될 때, 지정한 자료형을 순환하는거 까지는 이해를 했습니다. 헌데, 위 코드에서는 gridpanel의 Transform을 순환하는데 어째서 foreach문으로 그 자식인 UI_Inven_Item에 접근할수 있는 것인지 아직 이해가 되지 않습니다 ㅜㅜㅠ foreach문이라면 GridPanel안에서만 순환을 돌아야 하는거 아닌가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Sound Clear() 관련 질문
foreach(AudioSource audio in _audioSources) { audio.Stop(); audio.clip = null; } _audioClips.Clear(); 이 부분에서 강의 코드에선 stop 함수가 clip =null 보다 아래 있던데 Stop이 clip을 멈추는 거로 아는데 clip을 먼저 초기화해도 문제가 발생하지 않네요. audiosource 내부적으로 재생중인 clip을 위에서 지정한 clip의 메모리 외에 별도의 공간에 따로 저장하고 있는 거로 생각해도 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
형식 선언관련 질문
12:31 코드 기준 AudioSource는 컴포넌트니까 GameObject에 붙어서 사용해야 한다는 뜻이고, go.AddComponent<AudioSource>()는 go에 AudioSource 컴포넌트를 붙이고 반환하는 거니까 그냥 _audioSource[]를 AudioSource 형식으로 선언한 건가요? 이해한걸 바탕으로 GameObject 형식으로 선언해봤는데 맞는지 한번 체크 부탁드려도 될까요? GameObject[] _audioSource = new GameObject[(int)Define.Sound.MaxCount]; // MP3 Player -> AudioSource // MP3 음원 -> AudioClip // 관객(귀) -> AudioListener public void Init() { GameObject root= GameObject.Find("@Sound"); if (root == null) { root = new GameObject { name = "@Sound" }; Object.DontDestroyOnLoad(root); string[] soundNames = System.Enum.GetNames(typeof(Define.Sound)); for(int i = 0; i < soundNames.Length - 1; i++) { GameObject go= new GameObject { name = soundNames[i] }; _audioSource[i] = go.AddComponent<AudioSource>().gameObject; go.transform.parent=root.transform; } _audioSource[(int)Define.Sound.BGM].GetComponent<AudioSource>().loop=true; } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
충돌질문입니다
5:50 초까지의 내용입니다. 큐브와는 충돌이 잘일어나서 부딪히면 나자빠지는거 까지는 확인을 했는데 아래 영상처럼 plane위에있을때도 계속 ㄱ쓰러지는데 이것은 그냥 제가 캡슐 collider 바닥부분(유니티짱 발바닥부분)을 비스듬하게 설정해서 그런건가요? 아니면 바닥과 그냥 충돌이 일어나기때문에 물리법칙에의해 그냥 튕겨저 가기때문에 계속 쓰러지는 것인가요? 영상이 첨부가 안되서 사진으로 대채합니다 ㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
public T Load<t>(string path) where T : Object 질문
object 에서 이러한 오류가 떠서 구글랭해보니까 이름이 달라서 모호하다고 나오길래 vs 서 제공하는 오류 수정 방식으로 Object앞에 UnibityEngine.Object 를 붙이니까 오류가 사라지던데 왜 그런것인가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
foreach문을 이용해서 child에 접근하는 부분이 이해가 가지 않습니다.
public override void Init() { base.Init(); Bind<GameObject>(typeof(GameObjects)); GameObject gridPanel = Get<GameObject>((int)GameObjects.GridPanel); foreach (Transform child in gridPanel.transform) { Managers.Resource.Destroy(child.gameObject); } } 요런형태로 child들을 다 삭제할 수 있었는데, 이해가 안되는 부분은 어떻게 child에 접근할 수 있었는지가 이해가 안됩니다. foreach를 통해 접근한 gridPanel.transform은 패널 자체의 transform을 접근한 것 아닌가요?? 왜 패널이 아닌 그아래의 child들이 foreach를 통해 삭제되는지 잘모르겠습니다..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
내용이 이해가 가지않고 클론코딩 하는 느낌입니다
이해가 가지안아 part1 delegate, event를 보고 다시 들어도 왜 public static InputManager Input { get { return Instnace._input }} 이런식으로 Instance에서 _input을 가져올 수 있는 지 모르겠고 코드가 어떤식으로 콜백 함수를 호출해서 작동되는지 이해가 가지 않습니다.. 이전 강의를 계속 들어야하는것일까요..? 아니면 진도를 나가면서 이전에 들었던 부분을 듣는게 좋을까요..? 유니티 부분에서 계속 클론코딩 하듯이 보고있네요 어려워서...ㅠㅠㅠ 그리고 맥을 사용중인데 계속 디버깅이 안됩니다 구글링을 아무리 해보아도 해결방법을 못찾겠는데 이럴떄는 어떻게 해야 하나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3차원에서 거리구하는공식
14:40초에서 3차원에서 거리 구하는공식이 A(x2, y2, z2) B(x1, y1, z1) 이라고 할때 루트( ( x2 - x1)제곱 (y2 - y1)제곱 (z2 - z1)제곱 ) 아닌가요?? 왜 각 변을 제곱을 한다음 다 더해서 루트를 씌우는 건지 잘 이해가 안갑니다..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
단축키 오류로 질문드립니다.
파트3 강의 매니저만들기 부분 4분 08초를 듣다가 visualstudio f12를 누르면 타고들어갈 수 있다고 말씀해주셨는데, "Cannot navigate to the symbol under the caret." 다음과 같은 오류가 발생해서 실습을 따라할 수가 없게되었습니다. 구글링을 해보니 비주얼스튜디오를 새로 다운받아라 라고 되어있거나 유저환경을 초기화하라고 되어있던데 재설치해도 같은 문제에 봉착해서 문제해결에 도움을 주시면 감사하겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
맥북 유니티 비쥬얼 코드 질문
맥북으로 유니티 쓰는 학생입니다. 비쥬얼 스튜디오 사용법도 많이 달라서 구글링 하면서 어떻게 어떻게 디버깅하고 하는데 디버깅 할 수 있는 파일을 찾을 수 없다고 계속 뜨네요 ㅠㅠ 그리고 원래 유니티에서 만든 Script파일은 비쥬얼 스튜디오에서 실행을 못하나요? 실행이 전혀되지않고 유니티엔진에서 플레이버튼을 누르면 DontDestroyOnLoad(go); s_instance = go.GetComponent<Managers>(); Instance가 생겼다가 실행중지시키면 사라지던데 원래 그런건가요..? ㅜ