http://linecode.tistory.com/9
필자는 게임개발을 혼자서 하고 있기때문에이 부분을 기획의 영역으로 두어야 할 지 개발의 영역에 두어야 할지 모르겠다만, 게임 컨텐츠를 어떻게 만들겠다는 계획을 세운 뒤에바로 개발 작업을 들어가는 것은 불가능하진 않지만생각보다 많은 어려움이 있다. 특히 필자와 같이 혼자서 만드는 경우엔 말이다.약간, 제풀에 지쳐서 그만둬버리는 것이다 그런 경우에 대비해미리 기획해둔 문서 혹은 자기 자신의 두뇌로부터만들어야 될 기능을 세세하게 정리를 하여엑셀 문서에 정리를 해두는 것은 큰 도움이 될것이다. 엑셀 중간이나 마지막 열쯤에 완성여부를 작성하게 비워두고 말이다. 분류1 분류2 기능이름 기능설명 TestScene이름 완성여부 비고 그냥 아무 작업 없이 기획문서만 보고 작업을 하는 것보다는무엇을 작업해야하는지 훨씬 더..
일단 기본적으로 C#에서 타입체킹은 이와 같이 한다. 1. obj.getType() == Typeof(GameUnit)2. obj is GameUnit 하지만 만약 본 클래스가 아니라 상속된 클래스인경우에도 사용이 가능한가?다시 말해서 public class A{}public class B : A{}public class C : B{} 에서 A c = new C();Debug.Log(c is B); 의 출력결과가 True일 것인가? 정답은 맞았다. True였다.다시 말해 어떤 것을 상속하더라도 이에 대해 타입체킹을 하면 true를 반환하게 된다
일단 유니티 오브젝트에 스크립트로 붙으려면 MonoBehaviour를 상속해야만 스크립트 추가가 가능합니다. 하지만 여기서 한번 MonoBehaviour를 상속한 클래스를 상속해서 클래스를 만든다면? 일단 해당 클래스를 스크립트에 붙이는 것이 가능합니다. public class Unit : MonoBehaviourpublic class Unit2 : Unit 그리고 여기서 GetComponent()를 사용하게 되는 경우 상황이 어떻게 변할 것인가? 1. Unit과 Unit2가 함께 존재하는 경우Unit이 반환된다2. Unit2만 있는 경우Unit2가 Unit의 모습으로 반환된다 그리고 당연한 얘기지만 Unit, Unit2 모두가 존재하는 경우 각각의 Start()함수가 전부 실행됩니다.
참고영상https://www.youtube.com/watch?v=b9x3NIagvCU&t=1s 해당 강좌의 20강, 21강을 토대로 만들어졌음을 미리 말씀드립니다. 이번 글에선 에너미의 AI를 만들 것인데, 복잡하게 만들 건 아니고 그냥 타겟포인트를 여러개 만들어 놓고 그 사이를 움직이는 인공지능을 만들 계획이다. 블루프린트를 만들고 상단의 일반 클래스가 아닌 모든 클래스에서 AI를 검색한 뒤 AIController를 찾아 만들어준다. 에너미 오브젝트로 만든 블루프린트 객체에 들어간 후 메인 객체(self)에서 Pawn-> AI Controller Class를 방금 만든 AIController로 지정을 해줘야만 AI가 적용이 된다 에너미 블루프린트 객체에서 타겟 포인트 여러개를 받을 수 있는 배열을 만들..
보통 검색을 할 때 유니티에서 파일처리하기를 검색하면,보통 C#에서 파일 처리하는 단순한 방식으로 처리를 한다.하지만 그걸 그대로 빌드를 하면 파일을 전혀 찾지 못한다. 이를 위해선 Resources.Load를 사용해야 하기에, 텍스트 데이터들을 일단 Resources 폴더안에 넣어준다. 그리고 해당 데이터를 TextAsset으로 만든다. using UnityEngine; TextAsset txt = Resources.Load(파일이름); * 파일이름에서 확장자는 반드시 제거해줘야 한다. 제거하지 않으면 파일을 찾지 못한다 txt.text가 텍스트에 대한 데이터인데, 그냥 써도 되지만 xml파싱을 하는 등의 경우에는 TextReader를 원한다. 그래서 이와 같은 식으로 만들어 줄 수도 있다. using..
플레이어 폰은 플레이어 컨트롤러와 이어져 있는 형태이며, 플레이어가 삭제되는 경우 컨트롤러와 연결이 해제가 되어 통제가 불가능해지는 방식이다. 게임모드는 해당 게임을 담당하고 관리하는 오브젝트라고 볼 수 있으니, 게임모드를 만들어 리스폰기능을 여기에서 보자 게임모드는 블루프린트 생성에서 Game Mode Base를 상속해 생성할 수 있다 리스폰을 하는 블루프린트는 그냥 실행하는 것이 아니라 '죽었을 때' 실행이 되어야 한다. 그래서 이벤트를 따로 만들어주고 '죽었을 때'에 이벤트가 실행이 되는 방식으로 만들어주어야 한다. Custom Event 메뉴를 통해 이벤트를 만들어주자. 그 후 Spawn Actor from Class 노드를 생성해준다. 그러고 난 후 빨간색 박스 부분이 Class 메뉴인데 이를 ..
이벤트 디스패쳐란? 개발자 : 인터페이스일반인 : 상황에 따라 구현을 다르게 해줘야 하기 때문에 레벨에게 구현을 떠넘기는 것 *레벨 : 게임에서 일종의 스테이지라고 볼 수 있음.어떤 레벨이든 상관 없는 경우는 액터로 주로 만들고특정 스테이지에서만 하는 것들은 레벨의 이벤트그래프에서 만듬 액터 이벤트 그래프 창에서 이벤트 디스패처를 옆의 +버튼을 통해 만들어주시고해당 디스패쳐가 어떤 경우에 실행되어야 하는지를 알려줍니다. 미구현된 부분은 레벨에서 만들어지는데 레벨에 해당 액터를 선택한채로 이벤트 그래프에서 우클릭을 하게 되는 경우 해당 디스패쳐에 자동으로 접근이 가능해집니다. * 이벤트 디스패쳐의 장점은 레벨별로 다른 방식으로 해결해줘야 하는 경우 레벨 이벤트 그래프에서 각각 다르게 처리하면 된다는 점 입..