월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
전반적인 흐름
강의를 듣다가 받은 인상 같은게 있습니다 제 생각엔 이게 유니티/C#으로 게임 만들때 (C++/Unreal 이건 안해봐서.....), 이게 계속해서 나타날 것 같아요. 다시 말해 핵심 개념이라고 생각합니다 제가 이해를 잘 한건지 한번 살펴봐 주세요 다만, 완전히 이해를 한건 아니라서, 설명이 중구난방일 수 있다는 점에서 양해부탁드립니다 MAnagers.Data.StatDict라고 접근해서 Stat에 관한 정보들을 해당 Scene으로 들고 오는게 있던데 여기서 느꼈습니다 이 한줄에 클래스 4개가 한번에 들어나는건데 Managers, DataManager, StatData, Stat Stat < StatData < DataManager<Managers이런식의 계층 구조 같은게 있는거 같아 보입니다 StatData는 Stat으로 구성되어있고 DataManager는 StatData를 비롯해서 나중에 만들 다른 클래스들을 들고 있고 (예를 들어, MonsterData, NPCData.....) Managers는 DataManager를 비롯한 다른 Manager들을 들고 있고습니다 그리고 각 상위 클래스는 하위 클래스의 인스턴스를 안에 들어 있네요 글쓰고 보니까, 어쩌면 이게 객체지향언어의 특징 그자체가 아닌가 싶네요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
필드에서의 초기화 질문입니다.
안녕하세요! 필드에서 생성자 호출을 통한 초기화 시점에 대해 질문이 있습니다. Managers Instance의 초기화는 PlayerController의 Start()함수에서 Instance에 접근할때 혹은 Managers의 Start() 내에서 Init()함수로 이루어질텐데, 그 시점에 _input의 초기화는 항상 이루어져 있나요? 그리고 필드의 초기화는 Managers가 씬에 배치되지 않았을경우(혹은 Instance가 생성되지 않았을 경우)에도 행해지는지 궁금해져서 질문드립니다. 강의 보면서 정말 많은 것을 배워가고 있습니다. 감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
델리게이트 Action 옵저버
강의 잘 들었습니다~ 제가 이해한것이 맞는지 확인 하고 싶습니다. 델리게이트 개념 (옵저버 디자인?) 은 UI 와 같은 곳에 잘 쓰인다고 하셧는데, 여기서(Input Manager 강의) 객체가 많아지고 일일히 객체마다 업데이트문 에서 키보드 입력을 체크하면 성능저하 가 될 수 있어서 키보드입력을 받아 일을 처리하는 것들은 키보드입력이라는 공통적인 원인? 이 있으니깐 델리게이트에 묶어서 InputManager 의 OnUpdate() 한곳에서 체크를 하고, 입력이들어오면 키보드입력과 관련된 (구독자) 함수들한테 해당될지 안될지는 모르겠지만 전부 신호를 보낸다. UI 도 '버튼 누름'과 같이 이 버튼을 누르면 내가 등록한 구독자 함수들이 실행 되는 그런 원리이다. 라고 이해를 했습니다. 혹시 제가 잘 못 이해하고 있거나 조금 미흡하게 이해하고 있을까요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Start() 함수
강의 잘 보고 있습니다~ 이해가 안가는 부분이 있는데 Start() 함수 는 게임이 실행되면 딱 한번 실행 되는구나 하고 이해를 했습니다. 밑에 질문을 보니 Start() 함수 가 시작되는 순서는 랜덤인것 같구요. 그럼 Managers 에서의 Start() 함수보다 Player 의 Start() 함수가 먼저 출력될 경우 Instance 가 null 인 상태로 Managers mg = Managers.Instance; 가 실행돼서 Start() 함수는 딱 한번 실행되니 mg는 null 이 될 수 있는 가능성이 있는건가요? 그래서 그럴 가능성을 염려해두고 Instance 프로퍼티 안에 Init(); 를 넣어서 다른 클래스에서 사용할때마다 실행 하게끔 한건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
아래 질문 답변을 읽어보았는데 그래도 잘 이해가 안되서 질문드립니다
<BaseScene> <GameScene> <LoginScene> 질문 1. Awake() 함수를 이용하면 오브젝트가 비활성화 되어 있더라도 안에 있는 코드가 실행된다고 하셨는데 @Scene 오브젝트를 비활성화 하니 코드가 실행되지 않는것 같은데 제가 이해를 잘못한건지 궁금합니다. (활성화) (비활성화) 질문2. GameScene에서 프로젝트에 배치를 해놓았지만 Awake()나 Start() 함수가 없는데도 해당 코드가 실행이 되는 이유가 GameScene을 컴파일 할때 BaseScene을 상속받으면서 BaseScene 안에 있는 Awake() 때문에 GameScene의 override Init() 함수가 동작하는건가요? 질문3. TestScene을 하나더 만들어서 BaseScene을 상속받고 override Init()을 하였는데 유니티의 컴포넌트에 추가시에 TestScene을 먼저 넣고 GameScene을 나중에 추가하여도 디버깅을 해보면 GameScene안에 있는 Init()가 먼저 호출되고 그이후에 TestScene에 있는 Init()가 호출되는데 이 순서는 랜덤으로 되는건가요? 아니면 순서가 정해져있을까요? <TestScene> <Scene Object> 질문이 많은것 같아 죄송합니다 ㅠㅠ 항상 답변 감사드립니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
복습을 하려고 합니다
안녕하세요 강사님 덕분에 유니티 정말 재미있게 배우고 있습니다 이제 이 강의도 후반부에 들어서고 있고 최후반부는 제 예상으론 여태 배운걸 활용해서 간단한 예제 게임을 만드는걸 거라고 보는데요 파트2 알고리즘 강의는 솔직히 거의 3번씩 듣고, 혼자서 코드를 거의 외울듯이 쳐보고 했는데, 조언해 주신바랑 들으면서 느낀바에 따라 생각해보니 이건 그렇게 해서는 안되겠다는 생각이 들었습니다 그래서 파트3가 끝나면 혼자서 프로젝트를 하나 진행해보고자 합니다(물론 진도는 조금 느리겠지만 파트4도 들어가면서 하고자 합니다) 컨셉은 3인칭 액션 게임정도로요 지금 생각하는 바는 파트3 강의 목차에 따라 진행을 해볼까 합니다 막히는 경우에는 강의를 다시 보거나, 강의들으면서 따라해본 프로젝트 참고도 될 것 같아서요 그래도 막상 생각을 시작하니까 좀 막막해서 혹시 짧은 조언을 해주실수 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
안녕하세요. 비동시 씬이동 관련 질문입니다!
우선 새해 복 많이 받으세요! Fade효과를 넣은 비동기 로딩화면을 구현해보려고 합니다. SceneManagerEx 를 Managers가 통합 관리하도록 만드셨는데요! Coroutine을이용해서 Fade효과를 주고 로딩UI화면을 띄운후 씬이동을 하려고 합니다! SceneController를 따로 만들어서 비동기 로딩화면을 구현하는데 새로 만든 SceneController도 싱글턴화를 할것이고 뭔가 매니저를 따로 만들어놓았으니.. 제가 하고있는것이 이상한것 같아서요 ! SceneManagerEx 에 구현하는게 맞는걸까요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 진행시 대부분의 계산을 update에서만 처리한 이유가 궁금합니다.
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요. 강의를 수강한지 좀 지났습니다. 당연하지만 실습을 개인적으로 진행하면서 유니티 툴에 익숙해지지 않으면 강의를 들은 것이 의미가 없어지므로 현재 개인 프로젝트를 진행하고 있습니다. 강의를 진행하는 동안 많은 작업을 Update() 이벤트 함수에서 해결 했습니다. 유니티 공식문서를 보니 update말고도 많은 이벤트 함수가 있었습니다. 이미 유니티에서 OnCollisionEnter 과같은 이벤트함수는 이미 있는데 모든 충돌처리를 Update에서 한 이유가 궁금합니다. 강의 내용을 곱씹어보면 다른 이벤트 함수도 충분히 쓸만한 곳이 있던 것으로 기억됩니다. FixedUpdate, OnGUI등등 실제로는 성능이나 코드 작성할 때 해당 이벤트 함수를 사용하는 것은 이점이없는 것인지, update에 전부 넣는 것이 관리에 수월한지 등등 궁금합니다.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
void OnHitEvent() 오류
플레이어 OnHitEvent()는 잘 작동했었는데, 몬스터 OnHitEvent()가 잘 안되어서 (디버깅으로 확인 해보니 몬스터 OnHitEvent()으로 안들어 오는 현상 확인.) 애니메이션에 문제가 있나 다른 애니메이션으로 넣어봤더니 플레이어 OnHitEvent()까지 작동이 안되기 시작했습니다. 혹시 Base Controller와 PlayerController와 MonsterController 사이에 Init의 문제가 있을까 싶어서 몬스터 AI#1 강의를 계속해서 돌려봤는데 스크립트에는 문제가 없었습니다. 메일로 파일 보내드리니 확인부탁드립니다.. ㅠㅠ 혼자 해결해 나가보고싶어서 계속해서 해봤는데 잘 되질 않아 죄송합니다. 항상 감사드립니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
수업 내용과는 무관한 질문입니다..
항상 친절한 답변 감사드립니다 UI 자동화부분이 이해가 잘되지 않아 돌려보고 있는중에 궁금한점이 있어서 남깁니다 현재 UI_Base, UI_Button, UI_EventHandler, Util, Extension 등으로 사용하는 기능들을 나중에 어디서든 사용할 수 있도록 쪼개서 작성되어 있다보니 아직 공부하는 중이고 익숙해지지 않아서 그런지 뭔가 코드를 따라가는게 더 어렵고 원하는 함수를 찾을때도 하나씩 눌러봐서 시간이 더 걸리는것 같은데 이런 부분은 공부를 좀 더 하고 문법이라던지 코드 작성이 숙달되면 해결되는 건가요 ㅠㅠ
- [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
메서드 또는 속성 간 호출이 모호합니다. 에러
삭제된 글입니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
백업 실수로 인한 전체 파일 프로젝트 요청
삭제된 글입니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UI_Button.cs 관련 질문입니다
UI 자동화부분이 어려워서 다시 돌려보면서 공부하고 있는 중에 하나 궁금한점이 있어 질문드립니다 private void Start() { Bind<Button>(typeof(Buttons)); Bind<Text>(typeof(Texts)); } Start 함수에서 Bind(typeof(Buttons)); Bind(typeof(Texts)); 로 호출하지 않고 Bind<Button>, Bind<Text>로 호출한 이유는 Dictionary 형태의 변수를 만들어 관리하기 편하게 하기 위함으로 봐도 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이번 강의와는 관련은 없지만 질문이 있습니다
강사님 덕분에 잘배우고 있습니다만 공부하다보니 불편한점이 있어서 질문드립니다 제가 대부분 2대 또는 3대의 PC를 사용하여 강의를 듣고 있는데 그때그때마다 프로젝트를 압축해서 메일이나 USB로 보내고 사용하는 컴퓨터에서 이어서 하는 방식으로 하고있는데 혹시 이것을 좀더 편하게 할수 있는 방법이 있을까요? 찾아보니 유니티 콜라보레이트? 라는 기능이 있던데 보통 이런 기능을 사용해서 하는지 궁금합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
SetInfo 호출 순서 관련 질문
18분 30초에 나오는 SetInfo 부분에서 Init의 경우 생성 될때 Start함수가 호출되는걸로 아는데 생성 이후에 SetInfo를 햇는데도 이름이 어떻게 적용되는건지 알고싶습니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
GetOrAddComponent 함수 관련
안녕하세요! 강의 9:00까지의 코드를 잘 작성하였는데 계속 에러가 나서 디버깅해보았는데 해결하지 못해서 질문드립니다 ㅠㅠ Util 클래스 내 GetOrAddComponent 함수에 go(ItemIcon)를 넘겨주었음에도 해당 go에 UI_Handler가 이미 붙어 있든 없든 component가 계속 null로 떠있는 것을 확인하였습니다... go에 AddComponent나 GetComponent가 작동하지 않는 이유가 무엇일까요..? ㅠ 답변이 어려주시다면 작성했던 코드를 메일 보내드리겠습니다..!
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Util Class의 GetOrAddComponent<T>(GameObject go) 함수에서...
항상 좋은 강의와 빠른 답변 감사드립니다! 제가 Util Class의 GetOrAddComponent<T>(GameObject go) 함수에서 where T : UnityEngine.Component 작성하시는 부분에서요!(5:07) GetComponent<T> 함수는 오류가 안뜨지만 AddComponent<T> 함수는 오류가 뜨길래 F12로 확인해봤더니 GetComponent는 Object클래스에 정의되어 있지만 AddComponent는 GameObject 클래스에 정의되어 있는것 까지는 확인을 하였습니다.. 하지만 왜 T를 부모클래스인 Object로 한정하면 안되고Component로만 한정해야 AddComponent를 쓸 수 있는건지는 와 닿지가 않아 질문드립니다.. 설명 부탁드립니다...!🙏
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
extension함수로 교체할 때
영상의 2분 경에 GetOrAddComponent()를 extension method로 추가하고 UI_Inven에서 item. GetOrAddComponent<UI_Inven_ Item>() 이렇게 호출 하잖아요? 함수 정의에서는 인자로 GameObject가 들어가있는데 이건 item이라는 GameObject인스턴스를 통해서, 그리고 함수의 적용 대상이 item이라서 인자를 안넣어도 되는 건가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
UnityEngine.Object 에 대하여...
죄송하지만 기본적인 문법부분이거 같기도하고 제가 어느 부분에서인가 놓친거 같지만 의문이 들어 질문드립니다... UnityEngine.Object[] objects = new UnityEngine.Object[names.Length]; 에서처럼 Object 클래스를 사용하고자 할 때는 using UnityEngine을 했는데도 불구하고 왜 항상 namespace까지 붙여서 사용하는 건가요..?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
NullReferenceException 에러
UI_Button.cs 파일의 GameObject go = GetImage((int)Images.ItemIcon).gameObject; 부분에서 NullReferenceException: Object reference not set to an instance of an object 이 자꾸 일어납니다. 디버그를 해보면 go에도, evt에도 들어가야할 값이 잘 들어가있는데 왜 저런 에러가 나오는지 모르겠습니다.