시작하기 전...
세계에서 가장 많이 사용되는 게임엔진을 이야기하면
가장 많은 나오는 엔진은 유니티 엔진과 언리얼 엔진이다.
이러한 게임 엔진들은 게임 개발에 집입 하기 쉽고 누구나 게임 제작을 할 수 있는 틀을 모두 제작해주어
인디게임부터 대규모 게임까지 개발할 수 있도록 도와주는 엔진이다.
이전에 내가 사용했던 유니티 엔진을 다시 공부해보려고 한다.
그중에서 첫 번째는 유니티 엔진에서 커스텀 툴을 만드는 작업을 하려고 한다.
유니티의 커스텀 에디터는 범용적으로 제작되어있는 인터페이스들을 자기 자신이 제작하는 게임에 맞춰서
변경하는 일을 한다.
이러한 작업 역시 시간과 정성이 들어가지만 게임 개발 속도를 높이는 방법이기도 하다.
기본 틀 제작
먼저 윈도 창을 생성한다.
그리고 제작했던 스크립트는 Editor폴더를 만들어 EditorWindow를 상속받은 클래스 스크립트를 넣어준다.
그 이유는 유니티의 커스텀 에디터 스크립트들은 게임 개발과정에서 필요한 데이터고
게임이 빌드하고 플레이했을 때는 필요 없는 스크립트들이다.
그래서 유니티에서는 Editor 관련된 파일들을 Editor란 지정된 폴더에 넣어두면
게임을 빌드하는 과정에서 Editor폴더 안에 파일들은 포함시키지 않는다.
이처럼 유니티에서는 지정된 폴더들이 있는데 이 폴더 들은 에셋에 단한개만 포함시켜야 한다.
https://docs.unity3d.com/kr/2018.4/Manual/SpecialFolders.html
특수 폴더 이름 - Unity 매뉴얼
보통 Unity 프로젝트를 구성하기 위해 폴더를 생성할 때 원하는 이름은 무엇이든 선택할 수 있습니다. 그러나 몇 가지 폴더 이름의 경우 Unity는 해당 폴더의 내용이 특별한 방식으로 취급되어야
docs.unity3d.com
해당 과정을 마치면 유니티 toolbar에 Cubemap안에 test란 버튼을 눌러보면 새롭게 윈도 창이 생성되는 것을 볼 수 있다.
이러한 window창에서 필요한 버튼이나 토글 등을 이용하여 오브젝트들을 조절하게 된다.
이러한 인스펙터 창에서 필요한 함수들은 따로 정리해서 올릴 예정이다.
이렇게 window 창을 만들고 맵을 제작하는 Tool을 제작하였다.
현재는 기본적인 기능인 오브젝트의 생성과 삭제 저장 기능을 제작하였다.
이때 필요한 기능들은 다음과 같다.
1. 내가 만든 Custom Window에서 조작한 값들이 Scene뷰에 연동되어야 한다.
window에서 제작할 오브젝트를 선택하고 SceneView에서 클릭하면 해당 오브젝트가 생성되어야 한다.
2. 만들어진 맵 데이터를 어딘가에 저장해야 한다.
해당 tool로 만들어진 데이터를 로컬 파일에 json파일로 저장도 하고 구글 스프레드 시트에도 해당 데이터를 저장시키고
게임을 실행하는 과정에서 현재 나의 맵 파일이 서버에 올라와있는 것과 다르다면 서버에서 데이터를
내려받는 방식으로 제작
'상용엔진 > Unity' 카테고리의 다른 글
가비지 컬렉터(Garbage Collector) (0) | 2023.02.22 |
---|---|
코루틴(Coroutine) (0) | 2023.02.21 |
Editor Window (0) | 2022.12.06 |