🎮Unreal4/C++_Plugin

[UE4] Editor에 한글 Text 추가하기 (STextBlock, 인코딩하여 저장)

공대 컴린이 2023. 4. 30. 17:29
728x90

월드 아웃라이너의 하단에 나타나는 것처럼 ListView 항목의 개수를 출력하는 Text를 WeaponAssetEditor 창에 추가해보았다.

🔎 SWeaponListView 클래스의 Construct 함수

Construct 함수에서 SVerticalBox의 슬롯을 추가하여 Text의 공간을 마련해주었다.

이후, SNew(SBox)로 Text가 들어갈 공간을 정의하고, 글자의 정렬과 패딩값을 설정한 뒤, STextBlock으로 글자를 추가하였다.

 

Slate에서는 Text에 이벤트를 넣어 사용할 수 있는데, 이 이벤트의 반환값이 Text에 원래 들어가는 FText 자료형이면 된다.

 

OnGetAssetCount 함수에서는 RowDatas의 개수를 읽어와 "(개수) 에셋" 형태로 출력하는 FText를 반환해주었다.

🎇 UI 에 한국어 출력하기

이때, '에셋'이라는 한국어를 언리얼에서 출력하기 위해선 약간의 설정이 필요하다.

 

우선, 한국어가 들어있는 클래스를 열어놓은 뒤, 편집 메뉴를 선택하고 다른이름으로 저장하기를 선택한다.

 

저장 버튼의 오른쪽 삼각형을 누르면 인코딩하여 저장이라는 메뉴가 뜬다.

 

기본적으로는 "한국어 - 코드 페이지 949"가 인코딩으로 설정되어있는데, 한국어를 출력하기 위해선 "유니코드 - 코드 페이지 65001" 방법으로 인코딩해야 한다.

 

컴파일 후 프로그램을 실행시켜 WeaponAssetEditor를 실행시켜보면 우측 하단에 정상적으로 Text가 출력된것을 볼 수 있었다.

728x90