【UE4】Widget紹介 Common編

UE4 では UMG(Unreal Motion Graphics)というツールを使用して、Widget というブループリントをツリー上に組み込むことで、UI をデザインできます。
Widget には様々な種類があり、数も多いので今回はその Widget について1つ1つ紹介していきたいと思います。
docs.unrealengine.com

初回は Common 編です。
-

Border

・子Widget1つ 格納
・色、テクスチャ、マテリアルで見た目を変更できる
・子Widgetの色や配置を制御

f:id:shuntaendo:20190821153704p:plain:w600




Button

・子Widget1つ 格納
・入力状況に応じての見た目、音を変更できる

f:id:shuntaendo:20190821161037p:plain:w400


・背景、子Widgetの色を設定

f:id:shuntaendo:20190821161126p:plain:w200


・各入力イベント

f:id:shuntaendo:20190821161428p:plain:w300




Check Box

・子Widget1つ 格納
・"Unchecked", "Checked", "Undetermined" の切り替えた状態を表示できる
・入力状況に応じての見た目、音を変更できる

f:id:shuntaendo:20190821163432p:plain:w300

・チェック状態変更時のイベント

f:id:shuntaendo:20190821163907p:plain:w260




Image

・子Widgetを格納できない
・色、テクスチャ、マテリアルで見た目を変更できる
・機能だけ見ると Border の劣化版だが、Border より処理が軽い Widget
(UIはネックになりやすいので Image で機能が足りるのであればこちらの方がよいと思われる)




Named Slot

・子Widget1つ 格納
Widget の流用先で変更されることを前提にしたWidget
UMG で作成した Widget ブループリントは他の Widget 内に流用して使用することができる。

流用先で NameSlot の子Widgetを変更することで流用先ごとに別の Widget 内容で使用することができる。

f:id:shuntaendo:20190821170805p:plain:w300

f:id:shuntaendo:20190821172322p:plain:w600





Progress Bar

・子Widgetを格納できない
・Percent に 0~1 の範囲の値を指定することで値分バーを塗りつぶせる

f:id:shuntaendo:20190821173639p:plain:w600


・背景、塗りつぶし範囲、マーキー時の見た目を変更できる

f:id:shuntaendo:20190821173904p:plain:w200


・マーキー状態にはプロパティーもしくは BP から設定できる

f:id:shuntaendo:20190821174038p:plain:w600





Rich Text Block

・子Widgetを格納できない
・テキスト中の一部の文字を別フォントにしたり、画像を差し込んだり、Text Block では難しい表現ができる


◇ 基本的な使用方法
1.Rich Text Block を追加
この時点ではテキストを入力しても文字化けしたような見た目になります。

f:id:shuntaendo:20190821175909p:plain:w150


2.データテーブルを作成
Rich Text Style Row を元にデータテーブルを作成します。

f:id:shuntaendo:20190821180228p:plain:w300


3.Styleを作成
Row を追加していき、Style という名前のフォント設定を作成していきます。
Default という名前の Style は必ず作る必要があります。Style を指定していない場合、この Style になります。
(使用方法説明のため GreenText という Style も作りました)

f:id:shuntaendo:20190821181328p:plain:w400


4.データテーブルの指定
Rich Text Block のプロパティーに作成したデータテーブルを指定します。

f:id:shuntaendo:20190821181619p:plain:w300


5.Style で文字を囲む
以下のように Style でテキスト中の文字を囲むとデータテーブルの Style が適用されます。

f:id:shuntaendo:20190821181856p:plain

f:id:shuntaendo:20190821181915p:plain:w300


◇ 画像の差し込み
1.RichTextBlockImageDecorator を継承したBPを作成

f:id:shuntaendo:20190821183421p:plain:w300


2.データテーブルの作成
Rich Image Row を元にデータテーブルを作成します。

f:id:shuntaendo:20190821183609p:plain:w200

作成したら「1」で作成した BP のプロパティーに設定します。


3.画像を用意する
作成したデータテーブルに Row を追加し、画像を用意します。
(IconRed という Row を用意しました)

f:id:shuntaendo:20190821183732p:plain:w400


4.デコレーターを指定
Rich Text Block のプロパティーに「1」で作成したデコレーターを指定します。

f:id:shuntaendo:20190821184235p:plain:w300


5.画像を差し込む
以下のように img id を差し込むとデータテーブルで設定した画像を差し込めます。

f:id:shuntaendo:20190821184858p:plain

f:id:shuntaendo:20190821184915p:plain:w300





Slider

・子Widgetを格納できない
・ハンドル付きのスライドバーを表示
・0~1間の値で制御
・ハンドル、バーの色を変更できる

f:id:shuntaendo:20190821185719p:plain





Text Block

・子Widgetを格納できない
・フォントや色を指定して文字を表示できる

◇ 取り消し線
Strike Brush にイメージを指定すると指定した見た目の取り消し線が表示されます。
コンパイルしないと反映されないので注意)

f:id:shuntaendo:20190822003649p:plain:w500


◇ 影
Shadow OffsetShadow Color を指定すると影が表示されます。
Shadow Color はデフォルトでアルファが0になっています。

f:id:shuntaendo:20190822003925p:plain:w500


◇ アウトライン
Font > Out Settings から Outline Size を1以上にするとアウトラインが表示されます。

f:id:shuntaendo:20190822004513p:plain:w500





Text Box

・子Widgetを格納できない
・ユーザーが文字を入力できる
・入力された文字のフォントや色を指定できる
・入力状況に応じての背景の見た目を変更できる
・文字色を変更できる
・スクロールバーの見た目を変更できる

◇ Hint Text
Text Box に何も入力されていない時、Hint Text に入力した文字が薄く表示されます。

f:id:shuntaendo:20190906143637p:plain:w240
f:id:shuntaendo:20190906143338p:plain


◇ 文字を隠す(パスワード入力)
プロパティーの "Is Password" を有効にすると入力した際の文字が隠されます。

f:id:shuntaendo:20190828121439p:plain:w300

f:id:shuntaendo:20190828121524p:plain:w600


Common編は以上になります。


Widget紹介 Input編
Widget紹介 Lists編
Widget紹介 Misc & Optimization編
Widget紹介 Panel編


UE Version : 4.22.3-7053642