とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

UE4:オンラインラーニング(初めてのUMG)

UE4オンラインラーニング
初めてのUMG
を受講した際のおぼえ書きです。

https://learn.unrealengine.com/course/3201538



サンプルプロジェクト
EpicLauncherの
YourFirstHourwithUMGProから作成します。
f:id:toncrimentan_w:20210114181043p:plain



バーティカルボックス
バーティカルボックスを利用すると縦に並べることができます。
f:id:toncrimentan_w:20210114181114p:plain



HUD
WidgetでUIを作る方法もありますが、
HUDを利用すれば毎フレ描画といった処理をつくることもできます。
HUDはゲームモードで指定します。
f:id:toncrimentan_w:20210114181237p:plain

ゲームモードの指定方法
f:id:toncrimentan_w:20210114181310p:plain



しかしながら、このコースでは
ウィジェットBPを利用したUIの表示方法を学びます。


テキスト
SizeToContentチェックボックスによりサイズを合わせることができます。
f:id:toncrimentan_w:20210114181416p:plain



PreContextイベント
PreContextイベントでデザイン変更毎に実行できる処理がつくることができます。
クラスブループリントのコンストラクションスクリプトと同様、プレイ毎に処理を作ることができます。
f:id:toncrimentan_w:20210114181701p:plain



ヴィジェットの表示方法
ヴィジェットは様々なところから追加できますが、
このコースではキャラクターで作成しています。
なお、作成後はAddtoViewportをお忘れなく。
f:id:toncrimentan_w:20210114181514p:plain



バインディング
バインディングは毎フレーム実行されるため
常に変化するようなものの場合は処理コストがかかるため使用を避けるべき。
タイマーなど毎フレーム変化する箇所でのみ行うべきです。
f:id:toncrimentan_w:20210114185101p:plain



純粋キャスト
キャストから実行ピンを除きたい場合は
右クリック>純粋キャスト をクリックすることで取り除くことができます。
f:id:toncrimentan_w:20210114185116p:plain



アンカー指定
※Alignmentも指定すること
f:id:toncrimentan_w:20210114193340p:plain



パディング領域の指定
UMGもcssと同様パディング領域を指定できるようだ。
f:id:toncrimentan_w:20210114194558p:plain



マウスポインタの非表示と表示切替ブループリント
f:id:toncrimentan_w:20210114205448p:plain



ポーズメニューの適切な組み込み箇所
ヴィジェットはレベルブループリントから表示することもできるが、
プレイヤーが表示するという認識がただしいため
1.ゲームモードにプレイヤーコントローラークラスを指定
2.指定されたプレイヤーコントローラークラスでポーズメニューを表示
といった設計にするのが望ましい。
f:id:toncrimentan_w:20210114211432p:plain



一時停止ブループリント
f:id:toncrimentan_w:20210114211753p:plain



できたもの)
youtu.be




使い方という点において学びになった。

ヴィジェットをバインドを利用し毎フレーム更新する機構を紹介するが、
同時に毎フレーム更新されない値の場合、バインドを利用するべきでない
ということについてもレクチャーされる。

どこからでも表示可能なポーズUIはどこからでも表示可能なものではあるが、
プレイヤーコントローラーから切り替えるべきといったこともレクチャーされる。

画面の一時停止とマウスの表示切替の手順についてもレクチャーされる。