안녕하세요. Halcy 입니다. 


오늘은 드디어 미루고미루고 미뤄왔던 바쁘고 귀찮음을 이기지 못해 계속 밀렸던, UE4 엔진의 Slate를 정리하려 합니다.


본 게시글은 혼자 공부해온 Slate에 대한 정리와 Slate를 처음 접하게 되는 프로그래머 분들에게 작게나마 도움이 되시길 바라며 작성합니다.(저도 많이 부족하므로... 피드백도 환영합니다!!)


Slate Tutorial 그 첫 시간으로 Slate란 무엇인가에 대하여 알아보도록 하겠습니다.



(사진 1-1) 출처 언리얼엔진 공식문서 중 발최 http://api.unrealengine.com/KOR/Programming/Slate/



언리얼 엔진 공식문서에서 정의 중인 슬레이트란, 언리얼의 커스텀 UI 프로그래밍 프레임워크의 이름 이랍니다. 가장 중요한 것은! 에디터 인터페이스의 대부분을 슬레이트로 제작된다는 것이지요. 


엔진을 사용 할 때 가장 많이 접하고 가장많이 볼 수 있는 Contents Browser 부터 시작하여 블루프린트 에디터, 애니메이션 에디터, 머테리얼 에디터 등등 엔진의 대부분을 차지하는 부분이며, 개인적으로 생각하였을 때, 엔진을 커스텀하여 사용할 때 가장 중요한 부분 중 하나라고 생각합니다. 


그래서, 이 좋은 슬레이트로 무엇을 할 수 있을까요. 


할 수 있는 것을 찾아보면 결국 언리얼엔진의 외부에 보이는 대부분의 레이아웃을 다만들었으니, 언리얼엔진도 만들 수 있습니다! 라고 할 수 있을 것같네요. 


인게임 UI제작도 Slate를 사용하여 가능 한 것으로 알고 있으나, 위 사진 1-1 에 써있는 것처럼 인게임 제작용으로는 더욱 적합한 UMG가 있습니다. 


하지만 이 UMG도 뜯고 뜯고 들어가면, Slate가 나온다는 사실! 한 가지 예를 보여드리겠습니다.


(사진 1-2) 출처 언리얼 엔진 내부 코드


위 사진 1-2 는 언리얼엔진 내부의 UMG 버튼인 UButton의 내부를 본 것입니다. 보시는 바와 같이 SButton을 만들고 이것을 캐스팅하여 사용 하는 것을 볼 수 있습니다.


대부분의 UMG가 이렇게 Slate에 구현되어 있는 것을 가지고 사용하는 경우가 많습니다.


슬레이트를 완벽하게 공부하겠어! 모든 것을 만들어보겠어! 라는 마음으로 공부를 했지만, 저도 아직 많이 부족하고 슬레이트가 워낙에 많은 내용이 있기도 해서 이 튜토리얼에서는 크게 5가지정도의 챕터로만 다뤄 보겠습니다. 


첫 번째 챕터로 현재 작성중인 슬레이트란 무엇인가 부터 시작하여 아래 와 같은 순서로 진행 해보겠습니다. 


1. Slate란 무엇인가.


2. Detail Customization


3. SDockTab


4. 날씨툴 만들기


5. 자신만의 툴 만들기


Detail Customization 은 언리얼엔진 공식 문서에서 제공하고 있는 Detail Customization 을 따라하며 슬레이트의 기초에 대해 알아보도록 하겠습니다.


SDockTab은 슬레이트의 부유 탭입니다. Contents Browser를 만든 기능 중 하나이며, 제가 가장 많이 사용하고 좋아하는 슬레이트의 기능 이므로 따로 챕터를 나누어 봤습니다. 


날씨툴 만들기에서 본격적으로 자신만의 툴만들기에 도전해 보겠습니다. 이전에 만들었던 제 날씨툴을 기반으로하여 튜토리얼을 작성할 예정입니다. 


마지막으로 그 동안의 공부했던 슬레이트의 기능들을 모아 또 다른 간단한 툴을 하나 만들어볼 예정입니다. 아직 무엇으로 만들지는 정해지지않았고 튜토리얼을 지속적으로 작성하며 생각해볼 예정입니다.



참고로 제 튜토리얼은 거의 대부분 Plugin으로 진행하겠습니다. Plugin이 들고 다니기도 편하고 저에겐 좀 더 작업하기 익숙 한 느낌이 들어서입니다. ㅎㅎ;



첫 번째 챕터는 이렇게 마무리 하겠습니다~


다음 챕터 부터 본격적으로 달려보겠습니다!



감사합니다!

+ Recent posts