월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Add Animation Event 추가할 때 Inspector 부분에 문제가 있습니다
3:34초에Function, Float, int, String, Object 등 모든 변수가 나와야하는데아무것도 없고No Function Selected 상태입니다수업을 그대로 따라하고 있어서따로 코드 친건 없고이전까지는 모두 다 똑같이 실행되었습니다어떻게 해결해야할까요?? 유니티는 2022.3.21f1 LTS 버전입니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Poolable 컴포넌트를 코드를 통해 넣어주려면
강의에선 Poolable 컴포넌트를 유니티 실행 전에 유니티에서 드래그앤드롭으로 미리 넣어줍니다.제 질문은 강의처럼 미리 넣어주는게 아닌 실행된 뒤에 코드에서 GetOrAddComponent함수를 통해 넣어주려고 합니다.그런데 코드에서 GetOrAddComponent함수를 통해 넣어주면 복제가 된 뒤에 넣어져 풀링이 되지 않습니다. ResourceManager의 Instantiate 함수를 보면 Object.Instantiate를 실행하기 전에 풀링된 오브젝트가 있는지 확인을 해서 그런거 같습니다.Pop()함수가 호출이 안되니 _pool Dictionary에 새로 생성되지 않습니다.제 생각에는 Push 함수에서도 CreatePool을 해주는 방식이나 ResourceManager의 Instantiate 함수 안에서 Object.Instantiate를 실행하기 전에 오브젝트의 이름이나 태그를 통해 미리 넣어주고 복사하는 방식이 생각이 나는데 전자는 강의에서 말씀하신 예외사항에 대처할 수 없고 후자는 그리 효율적이라고 생각되지 않습니다.혹시 다른 좋은 방법이 있을까요?강의에서 말씀한 내용이라면 죄송합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Get Instance () 궁금합니다
Get Instance () 이거는 기본 내장 함수 인가요 ? 이해가 잘안됩니다..{} 안에 있는 리턴 은 어디로 리턴 받나요 기초 강의인데 설명이 없어서요 ㅠㅠ혹시 설명 부탁드려도 되나요get 하고 중괄호 사용하시던데.. 헷갈려서요 설명부탁드립니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 소스코드
소스코드 다운로드 가능한가요? 예전에는 가능했던거 같은데요...ㅜ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
SetInfo를 이용한 아이템 이름 변경
public override void Init() { Bind<GameObject>(typeof(GameObjects)); Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name; Get<GameObject>((int)GameObjects.ItemIcon).BindEvent((PointerEventData) => { Debug.Log($"아이템 클릭! {_name}"); }); } public void SetInfo(string name) { _name = name; }UI_Inven_Item에 있는 내용인데UI_Inven에서 invenItem.SetInfo("집행검 어쩌구");를 하면 UI_Inven_Item의 _name만 바꿔줬을 뿐인데어떻게 Component의 값 까지 바뀌는거죠?제가 생각할 떄는 SetInfo안에Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;이 코드가 필요한거 같은데어떻게 ItemNameText가 업데이트가 되는지 모르겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
hit.point
Wall을 새워두고(hit.point - _player.tranform.position).maginitude * 0.8f를 하게 되는데hit.porint는 카메라기준으로 Ray가 나갔을 때벽에 닿는 바로 그 순간인가요?그렇다면 벽이 만약 두꺼우면 0.8f을 잘못 설정하면 카메라가 벽안으로도 들어갈수 있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
KeyActon 부분 질문있습니다!
다른 수강생분들 질문을보니 InputManager이 나중에는 삭제된다고 봤습니다. 그렇지만 제가 이해하고있는게 맞는지가 궁금하여 질문남깁니다.! void Start() { Managers.Input.KeyAction -= OnKeyboard; Managers.Input.KeyAction += OnKeyboard; }PlayerControllor 에서 저부분이 KeyActon에 += OnKeyboard 구독 신청 -> InputManager 의 KeyAction 이 null이 아니게 됨 -> Invoke가 실행 -> 이벤트 활성화 -> OnKeyboard 사용가능 -> 움직일 수 있음. 이렇게 이해했는데 이 과정이 맞는건가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
씬 전환시 리소스 로드 에러
안녕하세요 질문이 있습니다.각각의 씬으로 테스트 할 때에는 잘 되는데, 로그인 씬에서 게임 씬으로 넘어갈 때에 리소스를 로드하는 부분에서 문제가 생깁니다.(@EventSystem, UI_Inven 등의 GameObject) NullReferenceException 이 발생하는데, 문제는 해당 부분에 중단점을 걸고 코드 단위로 테스트해봐도 문제를 알 수 없이 그냥 끝이 납니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
완강 후에 에셋스토어를 살펴보는 중입니다
안녕하세요~ 완강 후에 AssetStore를 보는데, Sprite라는 폴더가 많이 보이네요. 이 디렉토리에는 어떤 것들을 넣는 것인가요? 이를 알기 위한 강의가 있을까요? 로드맵 전부 구입하긴 했습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Managers 클래스 인스펙터 창 데이터 표시
루키스님이 쓰시는 Managers의 방법에 대해 궁금증이 생겨 질문드립니다(루키스님 mmorpg 1~9 전부 수강한 수강생입니다!) Managers.Resource.Load (루키스님 방식)Resource.Instance.Load개인적으로 2번 보단 1번 방식으로 쓰는 것을 선호합니다. Managers 까지 친 후에 점을 찍으면 어떤게 있는지 리스트로 좀 더 편하게 볼 수 있기도 하고 처음 사용한 방식이 저거다 보니 좀 더 와닿아서 계속 쓰고 있습니다! 계속 사용하다보니 궁금함이 생겼는데요2번 방식으로 사용시 인스펙터 창을 활용하여 내가 열람을 원하는 데이터를 볼 수 있지만 1번 방식을 사용하면 Managers.cs에 들어가 있는 Resource 매니져 내부의 데이터를 인스펙터 창에서 가시적으로 확인 할 수 없기 때문에 어떻게 하면 1번 방식으로 인스펙터 창에 나오게 할 수 있을까 궁금합니다..!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI 실무에서는 어떤식으로만드나요?
안녕하세요! 혹시 UI 를 만드는경우 디자이너는 피그마나 포토샵 등등으로 이렇게해주세요 하고 줄것같은데 이런경우 피그마나 포토샵의 경우 왼쪽에서 몇px 이 떨어졌고 해당오브젝트는 40px * 40px 이고 이런식으로 값이있을것같은데 유니티의 경우는 그런사항을 비율로만 맞추나요? (물론 오브젝트는 px 로 맞출수있을거 라 생각합니다!) 디자이너가 유니티개발자에게 UI 디자인을 준다디자이너는 자신의 레이아웃대로 만들어주기를 원한다개발자는 레이아웃대로 비율로는 만들수 있지만 정확히 x,y 의값을 px 로 할수없다?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
파트 3 완강 이후 진행 방향에 대해
안녕하세요 강사님.인디게임 개발에 대해 관심이 많아 수강하게 되었습니다.아직 초보이다보니 언제부터 혼자 이것저것 게임을 만들어봐야할지에 대한 고민이 많습니다.다른 유니티 강의를 여러개 들어왔고 강사님 강의를 통해 기본기에서 부족했던 부분을 채우는 중인데, 강사님이 말씀해주신 것처럼 책을 읽고 강의를 들어도 처음 게임을 만들어보려하면 막막한 마음이 앞서는 것 같습니다.강의를 들을수록 제가 부족한 점, 미숙한 점이 보입니다. 이걸 계속 강의를 들으면서 극복해야하는 부분인지 아니면 다른 강의를 또 들어야할지, 아니면 게임을 만들어봐야할지 고민이 됩니다. 사실 마음같아서는 파트3가 끝나고 그동안 배운 걸 총망라해서 게임을 만들어보고 싶은데, 너무 맨땅에 헤딩하는게 될지 걱정입니다. 원래는 다른 개발을 할 때에도 무작정 부딪혀가며 짜깁기식으로라도 코드를 짜면서 실력을 늘리는 방식을 택했지만, 그렇게 하다보면 스파게티 코드 투성이가 되어버리면서 강사님 말씀처럼 "폭탄 해체"처럼 되버리는데 한계를 느꼈습니다. 그러지 않기 위해 차근차근 단계를 밟고 있다보니 지금 마음이 조금 조급해진 것 같습니다.질문이 너무 애매해서 명확한 답을 기대하기는 어렵겠지만 그래도 막막한 마음에 추천해주십사 글을 남깁니다. 파트1~3 강의를 완강했다는 전제하에 어느 시점에 게임을 만들어보면 좋을까요? 그리고 어떤식으로 만들어보는게 좋을까요? 강사님은 어떤식으로 실력을 늘리셨는지도 여쭙고 싶어요. 항상 좋은 강의 감사드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티 reload script
유니티 버전 : 2021.3.14f1유니티 허브 : 2.4.4 어느날 갑자기 스크립트 저장하고 에디터로 돌아오면 위와 같이 창이 하나 뜨고 무한로딩이 발생합니다. 작업관리자를 열어보면 '응답없음'인 상태로 나오며 강제종료 밖에 할 수 없습니다.컴퓨터 재부팅과 Library, Log, obj, UserSetting 폴더 삭제도 해보았으며 유니티 경로에 한글도 일절 들어가있지 않습니다.Preferences->General에서 Stop Playing And Recompile과 Recompile and continue playing 옵션도 테스트 해 보았고 Enter play mode options도 체크했으나 여전히 같은 문제가 발생합니다.ㅜㅜ 어떻게 하면 좋을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
언리얼엔진과의 비교
안녕하세요 강사님.흥미롭게 강의를 듣는 중인데 언리얼 엔진과 가끔 비교해주실 때가 있더라구요.듣다보면 유니티보다 더 복잡하다는 느낌을 지울수가 없는데 그럼에도 불구하고 언리얼 엔진이 유니티보다 조금 더 주목을 받는 이유가 무엇인지 궁금합니다. 게임 시장에서도 언리얼 엔진에 좀 더 주목하는 분위기라고 하시는 분들도 있어서요.이미 검색은 해보았지만 실무를 해보신 입장에서의 답이 궁금해 고민하다가 질문합니다. 언리얼 엔진이 유니티에 비해 엔진이 좀 무겁고 구현 폭이 넓은 그런 느낌이라서 많이들 사용하는 건가요? 좋은 강의 감사드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
풀링부분에서 푸쉬가 잘 안됩니다
2024/1/18오브젝트를 풀링을 만들어 보았는데풀링은 되는데 자식 오브젝트들이 모두 사라집니다아래 사진은 1번 씬에 배치한 유닛사진이고그 아래는 1번씬의 유닛을 푸쉬하고 2번씬에 팝한 모습입니다.같은 씬에서 팝한 다음 푸쉬를 진행했을 때6마리를 팝하고 푸쉬했는데 6마리 모두 자식오브젝트가 사라진 모습입니다. 바닥 타일도 모두 풀링을 사용하고 있는데 타일은 풀링이 잘됩니다 타일안에 자식오브젝트를 넣어놔도 같이 풀링되는데유닛 오브젝트만 풀링이 이상하게 되는 이유를 모르겠어요. 디버그 해볼려고 노력해본 내용도 추가합니다팝후 디버그화면에서 마우스로 하위오브젝트를 모두 비활성화 시키고 삭제하면 하위 오브젝트는 삭제되지않는다하지만 코드로 할 경우 삭제된다.팝하고 위치나 로테이션을 변환하지 않아도 하위 오브젝트가 사라진다.씬 clear를 거치지 않고 수동으로 푸쉬시에도 하위 오브젝트가 사라진다.푸쉬할때 활성화된 하위 오브젝트만 사라진다. 2024.1.19해결은 했는데 원인은 모르겠습니다.제가 사용하는 건 씬에 오브젝트 하나를 만들고 풀링된 오브젝트들을 한 오브젝트의 자식으로 모두 보내고삭제시 상위 오브젝트에서 자식 오브젝트를 모두 삭제하는 방법을 사용 했었고 강의 내용을 보면서 이 부분을리스트를 통한 저장 삭제 방식을 하였더니 해결 되었습니다.해결은 했는데 왜 해결되었는지 궁금하네요
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
애니메이션 만드는데 자꾸 경고가 뜹니다
To Debug, run app with -diag-job-temp-memory-leak-validation cmd line argument. This will output the callstacks of the leaked allocations. Internal: JobTempAlloc has allocations that are more than the maximum lifespan of 4 frames old - this is not allowed and likely a leak 2D로 여러 이미지를 만들고 애니메이션으로 움직이게하는데 위의 두 오류가 계속 떠서 처음엔 이미지 용량이 커서 그런가해서 최소 60 최대 130px로 줄였습니다. 근데 저 경고가 뜨는 타이밍도 일관적이지 않고, 인터넷에 쳐봐도 뭔가 해결책을 정확히 모르겠어서 질문해봅니다.일반적으로 하는 방법대로 png 하나하나 끌어왔는데 왜그럴까유..?움직이게 하기 위해 사용하는 이미지가 다 다르면 안되는걸까요..?한 캐릭터가 여러 행동을 하도록 여러 개의 애니메이션을 만들고 있는거라 파악하기가 어렵네요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
지형별로 원하는 영역을 전개하고 싶습니다.
안녕하세요. 제 포트폴리오를 만듦에 있어서 어떻게 설정해야 할 지 모르는 문제가 있어서 질문합니다. 제가 구현하고자 하는 포트폴리오에서 바다 영역을 설정하고 싶은데어떤 식으로 설정하면 될 지 잘 모르겠어서 질문드립니다.바다 부분에서 수영을 하도록 하고 싶은데 박스 형태도 아니고 구역이 겹치는 부분이 있어서구역을 어떤 식으로 설정한 다음에 나눠서 해야 할지 감이 안 옵니다. 어떻게 설정하는 게 가장 좋은 걸까요?답변 부탁드립니다. 감사합니다. 추가 정보 => Terrain이 아래 사진에 보이는 영역입니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
같은 위치를 눌렀을 때 idle에서 run으로 애니메이션만 바뀌는 문제에 대해 질문합니다.
안녕하세요.강의를 다 듣고 이리저리 만져보고 있는 학생입니다. 그런데 포인팅 된 터레인으로 이동한 뒤, 같은 위치를 한번 더 클릭하면 애니메이션이 RUN 상태로 바뀝니다. 해당 문제를 해결해 보고 싶어 디버깅을 해 봤습니다.마우스가 클릭 된 이벤트에서 State를 Moving으로 바꿔 줍니다. 하지만 UpdateMoving 함수에서는 다시 State를 Idle로 바꿈에도 불구하고 애니메이션만 RUN을 유지하고 있습니다. 혹시나 싶어 선생님 프로젝트를 열어 실행해 봐도 같은 문제가 있어 어느 부분을 수정하면 좋을지 여쭤봅니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
ui 생성 오류
unity 버전을 2022.3.15를 사용 중입니다.강의에서의 버튼 및 텍스트 UI가 없어 Legacy라는 태그가 달린 UI를 추가해서 사용 중인데 사진과 같은 오류가 나오며 버튼 및 텍스트가 사라지는 문제가 나타나고 있습니다.어떻게 해결해야할까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
비동기 씬로딩관련해서 질문있습니다.
예제에서는 매니저들을 관리하기위해서 모노비헤비어를 상속하지않은상태에서 매니저들을 받아서 관리하게 돼있는데 씬매니저를 만들면서 비동기 씬이동을 구현해보고 싶어서 해보고있는데 모노비헤비어가 상속되지않은 클래스에서는 코루틴을 사용할수가없다보니까 어떻게 해야할지 막혔습니다...기존의 씬매니저에서 IEnumerator LoadAsynchronouslytime(string name) { AsyncOperation operation = SceneManager.LoadSceneAsync(name); operation.allowSceneActivation = false; float elapsedTime = 0f; while (!operation.isDone) { elapsedTime += Time.deltaTime; Debug.Log(elapsedTime); slider.value = elapsedTime / 10f; if (elapsedTime > 10f) { operation.allowSceneActivation = true; } yield return null; } }이런식으로 비동기 코드를 작성했는데요..코루틴을 사용하면 정상작동을 하긴하는데 모노비헤비어를 상속받지않은 상태에서 어떻게 사용하는지 감이 안잡힙니다.