Ch09 Ui
HUD
- head up display 의 줄임로 UI 가 여기에 렌더링되어서 게임 화면과 합쳐짐.
AGameMode
에서 사용할 HUD 클래스를 지정할 수 있음.- 이렇게 지정한 클래스는 게임 시작시
AGameMode
가 인스턴스를 하나 만듬 Player
는 이 인스턴스를 관리할 수 있음
- 이렇게 지정한 클래스는 게임 시작시
- 내부에
UCanvas
가 있으며HUD
의UCanvas
는PostRender()
후에 렌더링 됨.UCanvas
자체적으로 텍스트나 도형을 렌더링할 수 있지만 비효율적이고 어려움SSlate
으로 하면 편함- 디자이너는 UMG 라는 에디터에 내장된 툴을 이용함
UI Scaling
유저 인터페이스는 보통 고정픽셀이라 해상도에 영향을 크게 받음
바꾸는 방법은 2가지인데 실질적으로 하는일은 같음.
- Project Setting -> Eingine -> User Interface -> DPI Setting
- 여기에 DPI Curve 가 있는데 x 축이 화면 x 해상도이고 y 축이 배율임
- DefaultEngine.ini 에서 수정하기
- /Script/Engine.UserInterfaceSettings 의 UIScaleCurve
(Time=,Value=,)
절이 있는데Time
은 화면 x 해상도고value
는 배율임
PIE(Play in Editor) 화면크기가 720p 근처이면 720 배율을 수정하면 결과를 볼 수 있음.
UMG 란
UMG(Unreal Motion Graphics) 은 Slate Widget 용 비주얼 에디터임.
개발자는 Slate Widget 개별의 로직을 설정하고 디자이너는 이쁘게 만든다는 WPF 의 전략과 비슷함.
사용자 정의 SWidget / UWidget 만들기
SWidget 은 Slate 가 들어가고 UMG 에 표시되려면 UWidget 으로 감싸넣어야함.
댓글남기기