반응형

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

+ Recent posts