반응형
https://github.com/ScottKirvan/ToolExample
UI - User Interface
| HUD (Head Up Display) | Slate | UMG (Unreal Motion Graphic) |
| 게임플레이 도중 화면 위에 겹처놓이는 계기판이나 정보 상호작용이 불가능한 UI |
오래된 Unreal UI 시스템 오래된 시스템이라고 해서 구식이 아님 UI에 더 복잡한 기능을 추가하려면 점차 Slate를 배워야함 |
게임내 HUD, 메뉴, 기타 인터페이스 관련 그래픽 요소로 사용자에게 보여주고픈 것들을 만드는 데 사용할 수 있는 비주얼 UI 제작 툴 UMG는 UWidget으로부터 파생되며, UWidget은 엄밀히 말하자면, Slate 모듈을 Unreal 환경에 맞게 래핑한 것 |
| 에디터 인터페이스 대부분은 Slate로 제작되어 있음 (Content Browser / Blueprint Editor / Animation Editor 등) | UMG 의 핵심에는 Widget (위젯)이라는 것이 있는데, 이는 미리 만들어진 (버튼, 체크박스, 슬라이더, 진행상황 바 등의) 함수 시리즈로, 이들을 조립해서 UI 를 만들 수 있다. → 디자이너가 에디터에서 시각적으로 배치 가능 |
Unreal Editor Mode Plugin

![]() |
![]() |
| 파일 | 설명 |
| Tools 폴더 | EditorModeCommand 에 정의된 각각의 Tool 에 대한 기능과 Property 이때 UInteractiveToolPropertySet 사용하면 편함 (프로퍼티 / 함수는 버튼)혹은 MapTool 처럼 하나의 Widget 파일을 ToolKit 에서 Slate Widget으로 추가 할 수도 있음 (이러면 버튼 커스터마이징 등 특별한 Slate 구성 가능) |
| EditorMode | EditorModeCommands 에 정의된 명령들을 가져와 등록 / 해제 하는 역활 사용자 지정 편집기 모드의 기본 클래스 및 동작을 정의 |
| EditorModeCommand | ![]() |
| EditorModeToolKit | 기본 UI Panel만 생성해주고 자세한 위젯은 Tools 폴더에 있는 active tool에서 생성 |
| Module | Startup / Shotdown 시 EditorModeCommands 등록 / 해제 |
SCompoundWidget을 상속받아 새로운 위젯 생성가능
하위 항목은 ChildSlot 혹은 [ ] 안에 작성
![]() |
![]() |
기본적으로 많이 사용하는 Slate Widget들
| SWidget | 설명 |
| SExpandableArea | ![]() |
| SVerticalBox SHorizontalBox |
가로 auto / 수직 위주 세로 auto / 가로 위주 |
| SBorder | 다른 위젯을 안에 포함시키는데 주로 사용되는 위젯 테두리 |
| SGridPanel | 가로 / 세로 테이블 |
| SButton | |
| STextBlock | |
| SImage | 보통 FEdtiorSlateStyle 에서 가져와서 사용한다. 커스텀 SlateStyle 만들어서 Set하여도 사용 가능 |
모든 Slate가 다 적용되는것은 아님
예를들어 SImage 안에 SBox 안에 넣는다던가 방식은 안 됨

엔진코드의 Plugin/Editor/ModelingToolsEditorMode/ModelingToolsEditorMode 참조하면 좋을 듯
그리고 에디터 개인설정에서 해당 옵션을 키고,

툴 - 디버그 - 위젯 리플렉터로 해당 Slate Widget이 어떤 Slate인지 확인할 수 있다.
![]() |
![]() |
반응형
'언리얼 > 언리얼 기능' 카테고리의 다른 글
| UStruct static_cast (1) | 2023.09.04 |
|---|---|
| Delegate 관리 (2) | 2023.07.23 |
| FMath / SpringArm / Camera (1) | 2023.07.08 |
| UE5 PSO 캐시 적용 (0) | 2023.02.19 |
| 언리얼 RPC (0) | 2023.01.04 |







