월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[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버전 쓰고 있습니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
monobehavior가 없을 때는 start update문이 실행이 안되는 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. monobehavior가 없을 때는 start, update문이 실행이 안되는 건가요? 구글에 찾아보면 그냥 매 프래임 마다 실행된다고 나와있는데, 선생님 강의를 듣다보면 없애주거나 이름을 바꿔서 따로 호출해주는 것 같아서 질문남깁니다! 그리고 왜 제네릭을 쓸 때 where을 안쓰면 오류가 아는지 잘 모르겠습니다...
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
dictionary에 값이 안들어갑니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 만든 dict 말고 연습용으로 dict을 하나 더 만들었는데 자꾸 Serializable한 list에는 null이 들어가고 dict에는 아무값도 들어가지 않습니다. 디버그해봐도 어디가 문제인지 모르겠어서 질문드립니다 ㅠ.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
디버깅 문제 해결 방법 공유 및 질문
혹시라도 이런 식으로 오류는 아니지만 강의처럼 디버깅이 안 되시는 분들이 있으실까봐 글을 작성해봅니다 상황 : 상단에 "Unity에 연결" 문구가 있는 걸로 보아 vs와 유니티가 잘 연동되어 있으나 강의에서처럼 해당 문구를 클릭했을 때 "▶ 계속"으로 바뀌지 않고 위 이미지처럼 빌드 성공만 뜨고 아무 변화가 없음 시도 1. Edit - Preference에서 vs2019 해제 후 다시 설정 2. Window - PackageManager에서 VisualStudioEditor 수정 혹은 삭제 3. vs2019 재설치 (유니티 관련 옵션 추가) 결과적으로는 지금은 디버깅이 잘 됩니다 강사님 유니티 보다가 제 유니티 보니까 UI가 다르더라구요 버전이 다른 걸 그제서야 눈치 채고 바꿨더니 잘 되네요 ㅎㅎ... 해결 유니티 프로젝트를 생성했을 때, 가장 최근에 다운 받은 버전은 강의에서와 같은 2019.3.1f1 버전으로 설정되어 있을 줄 알았으나, 강의 전에 다운 받았던 버전인 2021.3.2f1으로 프로젝트가 만들어졌습니다 그래서 프로젝트를 강의와 같은 버전으로 다시 만들어 코드를 작성하니 디버깅이 잘 되는 것을 확인했습니다 상황마다 결과는 다 다르겠지만... 혹시라도 최근까지 유니티를 설치하고 사용하셨던 분들이 같은 문제를 겪고 계실까봐 공유해봅니다. 그럼 질문 드리고 싶은게... 위에 문제처럼 제가 이전에 다운 받았던 버전인 2021.3.2f1에서 프로젝트를 만들었을 때는 처음 사진처럼 빌드 성공만 뜨는데 버전마다 디버깅 방법이 다른걸까요...??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의랑 조금은 관련있는 개인적인 질문입니다.
안녕하세요 ! 루키스님 강의 들으면서 열심히 게임만들고있는 무직백수입니다. 게임을 만들다가 마법탄환이나, 화살같은걸 오브젝트풀링 방식으로 하고 싶어서 만들었는데요. 이상하게 poolable 스크립트를 붙이면 이런 오류가 발생하면서 아예 에디터가 먹통이 되어버립니다. 검색 결과 저 경로안에있는걸 삭제하라길래 삭제한뒤에 실행해봐도 아예 아무키도 안먹히는 먹통상태가 되버립니다.. 혹시 이 오류가 왜 발생하는지 알 수 있을까요?? The property database "Library/Search/propertyAliases.db" is already opened. UnityEditor.EditorApplication:Internal_InvokeTickEvents ()