「UE4でUIを作るために覚えておきたいこと 超入門編」

こんにちわ、take です。
この記事はUnrealEngine 4(UE4)AdventCalender 2019の23日目の投稿記事です。
Unreal Engine 4 (UE4) Advent Calendar 2019 - Qiita

 

この記事は、これからUE4をはじめたい人~初級者向けの記事になります。
UI機能を覚えるののとっかかりになれば幸いです。
(※TITLEの綴りが間違ってますのでご注意ください・・・後で修正しますTT)

■公式ドキュメント UI系
https://docs.unrealengine.com/ja/Engine/UMG/UserGuide/index.html 
★UI超おススメサイト
 ・みつまめ杏仁さん  http://limesode.hatenablog.com/

----------------------------------------------------------------------- 
■お品書き
①作業の下準備
②タイトル画面UIを作ってみよう。
③文字の色をアニメーションさせてみよう。
④タイトル画面UIをゲーム中に表示してみよう。
⑤UI用のマテリアルを作ってみよう。
⑥おまけ
----------------------------------------------------------------------- 

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
①作業の下準備
・まず Blank のプロジェクトを作成してください。

f:id:take-artstudio:20191223014052p:plain


・カメラ操作をMAYAと同じにすると使いやすいです。

f:id:take-artstudio:20191223014057p:plain


・画面の下の方を右クリックをしてメニューを出し、
 ウィジェットを作成してください。

f:id:take-artstudio:20191223014110p:plain

・できたアイコンをダブルクリックをしてウィジェットツールを起動します。

f:id:take-artstudio:20191223014117p:plain


ウィジェットツールの詳細は画像と、公式ドキュメントを参照してください。https://docs.unrealengine.com/ja/Engine/UMG/UserGuide/WidgetBlueprints/index.html

f:id:take-artstudio:20191223014123p:plain

・下準備はこれで終了です。



■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
②タイトル画面を作ってみよう
・画像素材をドラッグ&ドロップでインポートします(TGAかPNGを使うのが一般的)

f:id:take-artstudio:20191224193231p:plain




・インポートした画像をダブルクリックするとテクスチャの詳細設定ができます。
※最後のおまけの項目で、よく使う項目の説明します。まずはUIに設定します。

f:id:take-artstudio:20191224193325p:plain






・パレットの一般タブからimageを画面中央にドラッグ&ドロップし配置します。

f:id:take-artstudio:20191223015832p:plain


・詳細に画像サイズとポジションの座標を入力し、画面全体を覆うようにします。

f:id:take-artstudio:20191224193334p:plain




・詳細のBrushタブの Imageから画像を指定します。

f:id:take-artstudio:20191224193344p:plain




・パレットの一般タブからTextを画面中央にドラッグ&ドロップし配置します。

f:id:take-artstudio:20191224193355p:plain




・詳細タブで文字の座標、サイズ、輪郭などを設定します。ひとまずこれで完成ですw

f:id:take-artstudio:20191224193403p:plain




■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
③文字の色をアニメーションさせてみよう。

・まずアニメーションレイヤーを追加します。

f:id:take-artstudio:20191224210428p:plain




・アニメーションキーをうちます。

f:id:take-artstudio:20191224210617p:plain





 

f:id:take-artstudio:20191224210518p:plain



 

f:id:take-artstudio:20191224210548p:plain




・再生をすると、文字の色が変化しているが確認できると思います。
(位置のアニメーションなども基本的にやり方は同じですので挑戦してみてください)
(AftterEffectなどの動画作成ツール経験者であれば、すぐに使いこなせると思います)

※おまけ

f:id:take-artstudio:20191223125355p:plain



■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■



ちょっと休憩・・・・



■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
④タイトル画面UIをゲーム中に表示してみよう。
・デザイナーがなんか難しそうと思ってしまいがちなブループリントですが、
 心を無にして、ささっと乗り越えてしまいましょうw

・まずレベルブループリントを開きます

f:id:take-artstudio:20191223112303p:plain


ウィジェットを表示させる為のブループリントを書きます(画像参照)

f:id:take-artstudio:20191223111631p:plain


・保存ボタンを押して、レベルの保存をしておきましょう。

f:id:take-artstudio:20191223114013p:plain


・再生をする前に一度ライトビルドをしておきます。
(画面左上の赤いエラーメッセージが出なくなります)

f:id:take-artstudio:20191223120634p:plain


・再生ボタンを押します。

f:id:take-artstudio:20191223120750p:plain


・画面全体に表示されてない・・・;

f:id:take-artstudio:20191223120820p:plain


・ちょっとウィジェットを調整・・・

f:id:take-artstudio:20191223120919p:plain

・ひとまず、画面全体に表示できました☆

f:id:take-artstudio:20191223120956p:plain



・アニメーションしていないので、その部分のブループリントを追加します。

f:id:take-artstudio:20191223130131p:plain

f:id:take-artstudio:20191223130712p:plain


f:id:take-artstudio:20191223131123p:plain


・再生ボタンを押したら、文字がアニメーションしているのが確認できると思います。

f:id:take-artstudio:20191223132320p:plain



 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
⑤UI用のマテリアルを作ってみよう。
●マテリアルを使って、背景の画像をスクロール方法を紹介します

・まずマテリアルを作成します。

f:id:take-artstudio:20191224193429p:plain




・マテリアルをダブルクリックしてマテリアルエディタを起動します。

f:id:take-artstudio:20191224193439p:plain




・マテリアルをUI専用のものに設定します。

f:id:take-artstudio:20191223194130p:plain



・UVスクロールが可能なマテリアルを作成します(ちょっと難しいけど頑張って;)

f:id:take-artstudio:20191223192114p:plain


・作成したマテリアルからマテリアルインスタンスを作成し数値を入れます。

f:id:take-artstudio:20191224193415p:plain




ウィジェットにマテリアルインスタンスをセットします。

f:id:take-artstudio:20191224193448p:plain




・再生すると、背景がスクロールするようになっていると思います。
 マテリアルを理解できると複雑な表現が簡単にできるようになるので
 是非覚えていきたいですね。


------------------------------------------------------------------------------------------
●次はUIで良く使用する、複数の素材を切り替えて使う用のマテリアルの紹介です。
 下の画像のような素材を

f:id:take-artstudio:20191223210820p:plain


・こんな感じでマテリアルを組みます。f:id:take-artstudio:20191223210749p:plain

インスタンス化して、マテリアルを開くと、
 「Upt」(横の繰り返し数)「 Vpt」(縦の繰り返し数)があるので数値入力します。
 「ID」のところに1、2、3と入れるたびにキャラクターの絵が切り替わります。

f:id:take-artstudio:20191223210805p:plain



●HPバーなどを作成したいときなどにオススメなマテリアルの紹介
・下図のようにマテリアルを組みます

f:id:take-artstudio:20191223213643p:plain

 

インスタンス化して開くとこんな感じになります。
 progressで画像の表示、非表示。
 Bar_Rotで傾きを調整できます。
 Bar_Smmothでぼかし具合の調整。
 Reverssでゲージの増減を反転できます。

f:id:take-artstudio:20191223213700p:plain

 
------------------------------------------------------------------------------------------
長文になりましたが、ここまで読んでくださった方には大変感謝です。
少しでもUE4ユーザーが増える手助けができたら嬉しいなと思っています。



■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
⑥おまけ

・テクスチャは「4の倍数」の解像度で作成するように心がけましよう。
  UE4では4の倍数でテクスチャを作成しないと、DXT1やBC7に
  変換されないようです(設定しても変換されないので要注意)

・テクスチャフォーマットごとの違い
 DXT1  :一番軽い。αチャンネル無し      (RGBAの1/8の容量) 
 BC7  :DXT5よりグラデ綺麗。αチャンネルあり(RGBAの1/4の容量)
 RGBA :無圧縮データ         

※最近はBC7を使用するのが一般的でしょうか・・・。
 DXT1やDXT5はグラデがちょっと壊れやすい気がします。





※今回のサンプルを作成するのに使用した画像

f:id:take-artstudio:20191224193457p:plain




それではまたの機会に