월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
영상을 보면서 공부를 하는 중인데
영상 외적으로도 참고할 만한 서적이 있으면 좋겠다는 생각을 하는데 영상을 제작하면서 참고한 서적이나 또는 추천하는 책이 있으신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
싱글톤 패턴 흐름 질문
안녕하세요 Rookiss님 강의 잘 듣고있습니다. 다름이 아니라 싱글톤 패턴 복습을 하던 중 제가 이해하고 있는게 정확한지 궁금해서 질문드립니다 유니티상에서 Play 버튼을 눌렀을 때 start가 실행되고 update가 프레임마다 실행된다고 알고있습니다. MonoBehavior를 상속받은 여러 클래스들은 start와 update를 각각 실행할 것인데 이때 Managers 클래스가 맨 처음 실행되나요 아니면 랜덤으로 실행되나요? 만약 Managers 클래스가 맨 처음 실행된다면 18:17 에서 프로퍼티로 Managers 인스턴스를 가져올 때, Init()을 하고 생성된 인스턴스를 리턴하도록 하지 않고 start에만 Init()을 넣어두면 되는데 굳이 Init()을 넣은 이유는 Managers 클래스가 맨 처음 실행된다는 보장이 없으니까 다른 곳에서 Managers 인스턴스를 사용하려고 할 때 Init()으로 생성하도록 하는 것인지 궁금합니다. 한마디로 어떤 함수가 실행될 지 몰라서 프로퍼티에서도 Init을 하도록 설정한 건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
스크립트인지 클래스인지...
MonsterController.cs 에서 질문있습니다.Stat myStat = gameObject.GetComponent<Stat>();라는 식은 정확히 1. MonsterController.cs 스크립트 컴포넌트를 가진 gameObject가 Stat.cs 스크립트 컴포넌트를 추가 한 다음, 'PlayerStat.cs' 를 인스턴스화한 myStat변수에 저장. 2. MonsterController.cs 스크립트 컴포넌트를 가진 gameObject가 Stat.cs 스크립트 컴포넌트를 추가 한 다음, 'PlayerStat class' 를 인스턴스화한 myStat변수에 저장.나름 해석을 해봤는데, 1번이랑 2번 중에 어떤게 정답인가요?스크립트인가요 아니면 클래스인가요? 아니면 ... 사실 2개 다 정답이라고 봐도 될까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
enum 순서 질문
안녕하세요.BaseController.cs를 새로 만들면서궁금해서 실험을 해봤는데요.기존에 있던 player의 행동 enum을Define.cs 로 옮기고 나서원래 저 스샷처럼 저 순서로 상태들이 있었는데,선생님은 DIE를 맨 첫줄에 넣으셨길래,선생님처럼 DIE를 enum 맨 첫줄로 옮겨보고Unity를 재생해보니, player가 움직여지지 않았습니다.저 스샷 순서대로 다시 해보니 Player가 잘 움직여집니다. Layer 같은 경우는 enum 순서가 중요한걸로 알고있는데(0, 1, 2 순으로 Layer는 그런게 중요하지만)행동 상태에 샘처럼 DIE를 맨 첫줄에 놓아보니까 움직여지지가 않아서, 왜 안되는지 궁금해서 질문을 날립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
GridPanel Bind가 실패 했다고 뜹니다
콘솔에 Failed to bind(GridPanel)뜨네요 이름도 맞게 했고 이전에 Bind는 문제 없었는데 왜 그럴까요? Bind가 안 되니 다른게 다 안되네요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
저도 마지막 점수 올리기 부분에서 막혀서 질문 드립니다
Button을 눌러도 아무런 일이 일어나지 않네요. PointButton에 On Click()에 UI_Button을 넣었다 없앴다가 했는데 On Click()시에 할 수 있는 Function도 없네요. 뭐가 문제일까요? 다른 분이 질문하신 것 읽어봤는데 -=, += 순서는 올바르게 했더라구요 아래는 제 UI_Button.cs 입니다. using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class UI_Button : UI_Base { enum Buttons { PointButton } enum Texts { PointText, ScoreText } enum GameObjects { TestObject, } enum Images { Itemicon, } private void Start() { Bind<Button> (typeof(Buttons)); Bind<Text>(typeof(Texts)); Bind<GameObject>(typeof(GameObjects)); Bind<Image>(typeof(Images)); GetButton((int)Buttons.PointButton).gameObject.AddUIEvent(OnButtonClicked); GameObject go =Getimage((int)Images.Itemicon).gameObject; AddUIEvent(go, (PointerEventData data) => { go.transform.position = data.position; }, Define.UIEvent.Drag); } int _score = 0; public void OnButtonClicked(PointerEventData data) { _score ++; Debug.Log($"{_score}"); GetText((int)Texts.ScoreText).text = $"점수 : {_score}"; } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 잘 듣었습니다. 개인적으로 궁금한것이 있어 질문드립니다.
지금 할 질문이 개발자와는 상관 없지만, JSON이 SML보다 직관적 이긴하나, 레벨디자인을 하는 기획자 입장에는 데이터가 많아지면 JSON자체 파일로 관리하기 힘들어보입니다. 저가 현업에 대하여 잘몰라서 그러는데, 현업에서는 JSON자체 파일을 수정하기 보다는 엑셀을 이용해 데이터를 작성한후 JSON으로 변환하는 과정을 거칠 것으로 예상하는데 맞나요? 만약 그러지 아니하면 무슨 문제점이 있기에 하지 않은지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Extension 문법
안녕하세요 해당 클래스 디자인 패턴??이 너무 신기해서 원리 구조가 궁굼해서 여쭈어 봅니다. 추측상 정적 특징과 + this의 기능이 합쳐져서 GameObject go; go.AddUIEvent(go(암시적), Action, Define); 이렇게 된다는 것인데... 이게 좀 논리적으로 보았을 때, c#이 억지로 기능을 편의상 개조했다?? 이런 느낌을 받습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3D 사운드 가까움 멀어짐
3D로 설정해봤는데 CubeTwo와 멀어져도 소리크기가 똑같은데 혹시 제가 잘못 설정한 것이 있을까요?일단 다 만져보긴 했는데 그래도 안되네요..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
상속된 클래스 실행순서
init()함수에 대한 저의 이해가 맞는지 확인받고싶습니다. 처음 유니티를 Game scene에서 실행하면 게임 오브젝트 @Scene의 컴포넌트중 스크립트파일인 GameScene이 검사(?) 실행(?)이 되는데 이 파일을 실행할 때 이 파일이 상속하고있는 모든 부모클래스들을 같이 실행하고, 이때 부모클래스에 있는 start함수는 무시(?)되지만 awake함수에 있는 부분은 무시되지 않고 실행된다. 한편 이 스크립트가 상속하고 있던 BaseScene클래스에는 awake함수가 있었고 이 안에는 가상함수 Init()의 실행문이 존재했는데 이 실행문은 자식클래스인 GameScene에서 override된 상태이므로 자식클래스의 Init함수를 대신 실행하는데 자식클래스의 Init함수에서 base.Init()때문에 부모클래스의 BaseScene의 Init함수까지 같이 실행되었다. 적고나니 길고 어지럽네요. 죄송합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
오류
. 강의를 보면서 UL/UI_Button.cs를 지우고 수업자료를 다운 받아서 원래 있던자리에 UI_Button 스크립트를 넣었더니 이런 오류가 나옵니다. 어떻게 해야 하나요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
집행검 클릭시 호출이 안되는 상황
맨 마지막에 집행검 눌렀을 때 호출이 되어야 하는데 안되는 상황인데, 코드는 정확하게 썼는데 무엇이 안되는지 오류도 안뜨니까 못찾겠습니다... 중단점 찍어봤는데 코드는 F11 누르니 이리저리 잘 타고 다니던데.. 결국 못찾았습니다. rookiss@naver.com 으로 파일 보냈습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
프레임에 대한 질문
실행되는 순서를 따라가다 보니 햇갈리는 부분이 있어 질문드립니다. UI_Inven 클래스에서 Init()함수부분을 보시면 UI_Inven_Item의 frefab을 생성하고 UI_Inven_Item클래스를 붙여준 후 SetInfo()를 하는 부분이 있는데 저는 처음에 UI_Inven_Item 인스턴스가 되면 Start()가 실행되어 SetInfo()가 씹히고 실행되는 줄 알았는데 도큐먼트를 살펴보니 Start는 첫 번째 프레임이 업데이트 직전에 실행된다고 적혀있어서 위 내용이 한프레임 안으로 일어나서 정상적으로 실행 되구나라고 생각 하려고했는데 혹시나 몰라서 Debug를 찍어보니 UI_Inven의 for문이 모두 돌아서 나온후 UI_Inven_Item의 start가 차례되로 실행 되더라고요. 그럼.. 한 프레임은 UI_Inven 클래스에서 Init()이 모두 완료되었을 때가 한 프레임 인가요? 저는 프레임이 세미콜론이 끝나는 부분이 프레임이 넘어가는 걸로 생각 하고있어서 저의 생각이 틀린것 같아 바로 잡고싶네요 이번 경험으로 유니티 실행순서에 관해 공부해보게 됬네요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
무엇이 오류인지 모르겠습니다...
무엇이 오류인지 모르겠습니다 ㅠㅠ
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Local 좌표계와 World 좌표계에 대한 질문입니다.
안녕하세요! 앞선 질문들에서 어느정도의 해답을 얻었지만 제가 맞게 이해했는지 궁금하여 질문 드립니다. TransformDirection, 즉 Translate를 이용하지 않으면 해당 좌표계(Vector3.forward, back 등..)는 local 좌표계지만 월드 좌표계로 인식되어 키 입력 시 월드 좌표계로 동작합니다. 이후, TransformDirection 혹은 Translate를 이용하면 local 좌표계를 world 좌표계로 변환시켜, 즉 world 좌표계가 인식할 수 있게 통역을 해주어 local기준(gameObject기준)으로 키 입력이 된다고 이해했습니다. 제가 이해한 것이 맞는지, 혹은 어느 부분이 틀렸는지 궁금합니다~! + 추가 질문입니다. transform.position += transform.TransformDirection(Vector3.forward * Time.deltaTime * _speed); 에서 TransformDirection을 이용하면 local 좌표계가 world 좌표계로 변환된다고 하였는데, transform.position += transform.forward * Time.deltaTime * _speed; 와 같이 transform.forward를 사용하면 변환하지 않고 바로 사용 가능합니다. 그 이유가 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
using
using System을 통해 Action을 구현하는것과 System.Action으로 구현하는것은 성능상 동일한가요
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
RaycastHit hit 할당 궁금점
안녕하세요 강의 잘 듣고 있습니다. 10:40초에서RaycastHit hit; Physics.Raycast(ray, out hit, 100.0f) Debug.Log($"{hit.collider.gameObject.name}")에서 두번 째 줄을 지우면 hit이 할당되지 않는다고 합니다. 어떤 방식으로 Physics.Raycast(ray, out hit, 100.0f)가 hit을 할당해주는지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
변수선언
지금 강의와는 조금 동떨어진 질문이지만 Update함수를 매 프래임마다 실행되는 반복문(?)처럼 생각하고 있는데 갑자기 반복문 안에서 변수를 사용한다고 할 때 변수선언의 위치에 대하여 궁금한 점이 생겼습니다. 반복문 안에서만 사용되는 변수를 선언할 때 반복문 안에서 int a = 1; 이러한 방식으로 선언을 하는것과 반복문 밖에서 int a;를 선언하고 나중에 반복문 안에서 a= 1;이라고 선언하는것과 성능상의 차이가 있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
evt.OnDragHandler 에서 문제가 생겼는데
이유를 모르겠네요...혼자서 3시간 동안 끙끙 대다가제꺼 파일을 메일로 보내볼게요. 확인 부탁드립니다rookiss@naver.com 으로 보냈습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
오류 : NullReferenceException
강의의 4:40초인 Debug.Log(Input.mousePosition); 에서는 정상 작동을 하는데 그 이후 과정인 Debug.Log(Camera.main.ScreenToViewportPoint(Input.mousePosition)); 을 입력하고 실행 시 위의 널레퍼런스익셉션 오류가 뜨네요 ㅠㅠ 어떻게 해결해야하나요?