월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
인식엔 문제가 없는데 console에 여러번 나와요
예를들어 raycasting 설정 후 큐브를 한번 클릭했는데 여러번 눌렀다고 디버그 노출됩니다.. 어떻게 해결해야 할까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
매니저 구현 부분 질문이 있습니다.
인풋 매니저나 리소스 매니저 등등 여러 매니저를 구현하실 때 도통 이해가 잘 되지 않습니다... 개념 이해하지 못하고 무작정 클론 코딩만 하고 있는데, 일단은 넘어가도 괜찮을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
블로커 질문입니다.
강의실습에서는 블로커를 맨 뒤로 보낸건가요? 맨 뒤로 보냈다면 빨간색 팝업과 파란색 팝업 사이에 블로커를 놔도 작동을 하는거 아닌가요?? 왜 맨 뒤로 보낸건지 이해가 안 갑니다!
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI_Inven에서 Bind시 오류가 발생합니다
UI_Inven에서 Bind<GameObject>(typeof(GameObjects));를 할 때 오류가 떠서 breakpoint를 잡아보니 이 부분의 foreach문 에서 오류가 발생합니다 ArgumentException: GetComponent requires that the requested component 'GameObject' derives from MonoBehaviour or Component or is an interface. UnityEngine.GameObject.GetComponentsInChildren[T] (System.Boolean includeInactive) (at <4a31731933e0419ca5a995305014ad37>:0) UnityEngine.GameObject.GetComponentsInChildren[T] () (at <4a31731933e0419ca5a995305014ad37>:0) Util.FindChild[T] (UnityEngine.GameObject go, System.String name, System.Boolean recursive) (at Assets/Scripts/Utils/Util.cs:43) UI_Base.Bind[T] (System.Type type) (at Assets/Scripts/UI/UI_Base.cs:23) UI_Inven.Init () (at Assets/Scripts/UI/PopUp/UI_Inven.cs:21) UI_Inven.Start () (at Assets/Scripts/UI/PopUp/UI_Inven.cs:14) Bind할 때 GameObject가 아닌 Transform으로 Bind를 해보니 오류 없이 정상적으로 작동했습니다 해결은 했지만 강의에서는 GameObject를 받아서 잘 되었는데 저는 안 되는 건지 궁금해서 질문을 남겨봤습니다.. 강의랑 버젼이 달라서 그런 것인가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
오류 질문
안녕하세요. Managers 코드 파일에서 public static ResourceManager Resource { get { return Instance._resource; } }를 입력하고 나서 비주얼 스튜디오에서 저장했을 때 문제가 검색되지 않았는데, 유니티에 저장하고 나서 Play했을 때 다음과 같은 오류창이 떴습니다. Failed to load prefab : TankUnityEngine.Debug:Log (object)ResourceManager:Instantiate (string,UnityEngine.Transform) (at Assets/Scripts/Managers/ResourceManager.cs:17)PrefabTest:Start () (at Assets/Scripts/PrefabTest.cs:11) 계속 전체적으로 코드 파일을 살펴보았는데, 어느 부분이 잘못됐는지 잘 모르겠습니다. 어떻게 해야 해결할 수 있을까요??ㅜㅜ ▲InputManager ▲Managers ▲PlayerController ▲PrefabTest ▲ResourceManager 참고로 메일로 코드 파일을 보낼 수 있게 압축해놓았습니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
안녕하세요. InputManager에서 질문 있습니다.
안녕하세요. 수강중에 의문점이 드는 게 있어서 질문드립니다. InputManager를 만들 때 PlayerController.cs에는 Start함수에 키보드입력을 처리하는 함수를 InputManager의 KeyAction이라는 delegate에 넣었고 그걸 Managers.cs의 Update함수에서 호출해주고 있는 것 같습니다. 일단 첫번째로 유니티 c#스크립트의 흐름이 이해가 되지 않습니다. PlayerController의 Update부분에는 아무런 코드도 없고 Player객체(유니티짱)의 script component는 PlayerController밖에 없는데 왜 Managers.cs의 Update가 실행돼서 Player가 움직일 수 있는건가요? Update에 순서가 있나요? 두번째로 Invoke함수는 뭔가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 관련 질문드립니다!
안녕하세요! 이제 막 파트3을 입문하려고 하는데 이전 파트2가 너무 어려워서 질문드립니다... 파트2를 수강하며 거의 무슨 내용인지도 모르고 클론 코딩만 한 거 같습니다ㅠㅠ 혹시 파트2를 완전히 숙지하지 못한 상태에서 파트3을 듣기에는 무리가 있는지 싶어 여쭈어봅니다!
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티 강의에서 2D,3D 캐릭터 사용질문
안녕하세요 강사님 다름이 아니라 제가 알기론 유니티 시리즈 강의에선 MMORPG 2D게임을 만드는 걸로 알고 있는데 3D 캐릭터로 강의를 하셔서요.. 그런데 제가 만들고 싶은 게임은 2D라서 2D 에셋으로 실습해도 괜찮을까요?? (3D 캐릭터로 수업이 계속 진행되거나 많이 다르면 강사님이 쓰시는 에셋을 받아서 일단 해볼 예정입니다..)
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
13분에 NavMeshAgent가 바꾼 부분에서 실행이 안되어 지네여
void UpdateMoving() { Vector3 dir = _destPos - transform.position; if (dir.magnitude < 0.0001f) { _state = PlayerState.Idle; } else { NavMeshAgent nma = gameObject.GetOrAddComponent<NavMeshAgent>(); float moveDist = Mathf.Clamp(_speed * Time.deltaTime, 0, dir.magnitude); nma.Move(dir.normalized * moveDist); transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(dir), 20 * Time.deltaTime); } Animator anim = GetComponent<Animator>(); anim.SetFloat("speed", _speed); } "Move" can only be called on an active agent that has been placed on a NavMesh.UnityEngine.AI.NavMeshAgent:Move (UnityEngine.Vector3)PlayerController:UpdateMoving () (at Assets/Scrips/Controllers/PlayerController.cs:49)PlayerController:Update () (at Assets/Scrips/Controllers/PlayerController.cs:72) 오류는 이렇게 뜨는데, 비주얼 문법 상에는 문제가 없다고 뜹니다 ㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
co = StartCoroutine("ExplodeAfterSeconds", 4.0f); 에 대해 질문드립니다!
protected override void Init() { base.Init(); SceneType = Define.Scene.Game; Managers.UI.ShowSceneUI<UI_Inven>(); co = StartCoroutine("ExplodeAfterSeconds", 4.0f); StartCoroutine("CoStopExplode", 5.0f); } 를 보면 co 부분에서 실행이 되어지는데, 제가 이해를 잘못해서 그런진 몰라도 원래 실행이 안되어야 하지 않나요? co = StartCoroutine("ExplodeAfterSeconds", 4.0f); 는 실행이 아니라 값을 왼쪽으로 복사해서 넘기는 줄만 아는데, StartCoroutine이 실행되어서 좀 놀랐네여..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Init대신 다 Awake에 넣으면 안되나요?
1. start가 호출되지 않을 수 있으니 Init을 overriding을 해주셨는데 그냥 Awake에 넣어주면 안되나요? (Awake는 가장먼저 반드시 실행되는 함수로 알고 있어서요!) 2. awake start 로그를 찍어봤는데 button에 awake, start가 있으면 그 부모의 awake start는 호출이 안되는데 , Unity 엔진이 원래 이렇게 만들어진 건가요? 환경마다 바뀌는지 궁금합니다! 2-1 만약에 2번이 맞으면 상속받는 관계에서는 초기화할 일이 있다면 Init함수를 만들어서 오버라이딩하는 것이 이상적인 방법인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문 드립니다
이 부분에서 오브젝트 타입의 배열에는 왜 값이 null이 찍히는건가요?? 그리고 전체적인 흐름을 질문 드리고 싶은데 enum값을 비교하려고 string타입으로 받아오고 오브젝트 배열을 만든 이유가 타입별로 딕셔너리에 저장을 하려고 만들고, 즉 딕셔너리는 타입 배열을 저장하는게 맞나요? 포문으로 딕셔너리 순회하면서 찾아주는? 전체적인 흐름이 머릿속으로 잘 안 그려지네요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코드를 혼자 쳐보면서 질문이 생겨서 글 남겨요
C++을 하다가 와서 살짝 헷갈리는데 UnityEngine.Object[] objects = new UnityEngine.Object[name.Length]; _objects.Add(type, objects); new로 objects를 할당해줘서 힙에 메모리가 생시니까 Bind가 끝나도 메모리가 사라지지 않는게 맞게 이해한건가요? Util에서 FindChild함수를 만들 때 static을 빼먹고 만드니까 오류가 나던데 그 이유가 Util이 실행되기 전에 FindChild 함수가 실행 될 수 있으니 static으로 만들라고 오류가 나는 건가요?아니면 다른 이유가 있나요?이부분은 조금만 자세히 설명해주시면 감사하겠습니다!항상 친절하게 답변해주셔서 사랑합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
dir.normalized 부분에 질문이 있습니다.
4:41 에 크기가 아직 1이아니니까 normalized를 통해 크기를 강제로 1로 맞춰준단 부분을 이해가 안됩니다..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI 변수 외부에서 접근 및 기능 질문
3강 프로젝트를 프로토타입으로 만들어서 프로젝트를 만들고 있습니다. 그런데 잘 모르는 부분이 있어서 질문드립니다. Bind한 오브젝트는 클래스 내부에서만 접근가능하게 되어있던데 외부에서는 어떻게 접근하나요? ex) 버튼을 눌러 다른 UI에 있는 Text의 값을 변경할때 또는 버튼을 눌러 다른 UI 활성화 할때 SceneUI 상속받은 클래스는 무슨 역할 인가요? BaseScene클래스를 상속받는 클래스는 UI외 게임로직을 적는 공간인가요.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
debug.log에 유니티짱이 나옵니다
Debug.DrawRay(transform.position, Vector3.forward * 10 , Color.red); RaycastHit hit; if (Physics.Raycast(transform.position, Vector3.forward, out hit, 10)) { Debug.Log($"Raycast {hit.collider.gameObject.name}"); } 이렇게 코드를 짜고 테스트를 하면 유니티짱이 뒤로 갈때 디버그 로그에 Raycast UnittyChan이 찍힙니다.앞, 양옆은 다 괜찮은데 뒤로 갈떄만 찍히는 이유가 궁금합니다 + raycast를 배꼽으로 올렸을 떄는 로그에 유니티짱은 안찍힙니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
public T Load<T>(string path) where T : Object
ResourceManager.cs 에서 public T Load<T>(string path) where T : Object 제너릭 메서드를 public으로 선언한 이유가 따로 있는 건가요?강의를 보면 Load<T> 제너릭 메서드는 ResourceManager 클래스 필드에서만 사용되는거 같은데 public으로 선언한 이유가 궁금해서 질문드렸습니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Rotate, rotation 메서드 관련 질문
float _yAngle = 0.0f; ... void Update() { _yAngle += Time.deltaTime * 100.0f; 1. transform.eulerAngles = new Vector3(0.0f, _yAngle, 0.0f); 2. transform.Rotate(new Vector3(0.0f, Time.deltaTime * 100.0f, 0.0f)); 3. transform.rotation = Quaternion.Euler(new Vector3(0.0f, _yAngle, 0.0f)); } 여기서 1번 eulerAngles하고 3번 transform.rotation에 'Time.deltaTime * 100.0f' 값을 넣으면 회전하지 않고 '_yAngle'를 넣어야지 회전하게 되었습니다. 근데 2번 transform.Rotate에는 '_yAngle' 변수를 넣으면 너무 빠르게 회전하고 'Time.deltaTime * 100.0f' 값을 넣으니 정상적으로 회전합니다. 어떤 메서드에서 'Time.deltaTime * 100.0f'를 넣어야지 정상적으로 회전하고 '_yAngle'를 넣어야지 제대로 회전하게 되는지 잘 이해가 되지 않습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
폴더를 옮길 때, 오류가 뜹니다..
아트 폴더를 리소스/아트 폴더로 옮길려는데 이렇게 뜨네요 ㅠㅠ, 다른 폴더로 보내도 똑같던데 해결방안이 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
cs 파일 열때 비주얼스튜디오 질문이용!
강사님은 유니티안에 c#파일 더블클릭하면 비주얼 스튜디오 왼쪽에 솔루션 탐색기가 열리는데요. 저는 솔루션 탐색기를 '보기'에서 추가한 후 봤더니 하위 폴더가 안 보입니다 ㅠ 이것저것 눌러서 해봤는데, 뭔가 강사님처럼 안나오더라고요 (비슷하게 나오지만, 도중에 오류가 몇개 껴있어서 다시 하고 있습니다...) 해결방법이 있나요? 참고로 2022버전 쓰고 있습니다!