ウィジェットって有能
はい!
UE4でウィジェットっていうと、HUD代わりに使ってる方が多いですが、知ってる方は知ってるし、知らない方は知らない(当たり前)使い方を伝授しましょう。
基本
- ウィジェットの作り方
「コンテンツブラウザ右クリック→ユーザーインターフェース→ウィジェットブループリント」でウィジェットが作成されます。
名前は見つけやすいように、わかりやすくね…
ウィジェットは視覚的に編集できます。
❶左のパレットからドラッグして配置。
❷右のスロットで位置・大きさを決める。
米印のような見た目をした、アンカーというものを原点として、『原点からどれぐらいの位置にどれぐらいの大きさで』配置するかを定めます。
また、アンカーは自由に移動させられます。
アンカーをポイントとしてではなく、幅として使うこともできます。
下は画面いっぱいいっぱいにアンカーを広げて、オフセットを全部0にしてます。
アンカーの位置は画面の何%の位置かという指定になるので、画面の90%を占めるように設定することもできます。
- ウィジェットのセット
ディスプレイに表示するのはすごく簡単です。
レベルブループリントでもキャラクターでもなんでもいいです。
下のように組んでください。これだけです。
プレイヤーコントローラーはなくても問題ないです。
また、よく使う手段として、下のようにウィジェットを一旦変数に入れます。こうすることで、任意の時にチカチカさせたり、文章を書き換えたりできます。
(Create Widgetノードの Return Valueから引っ張ってもいい気はしますが…)
- アニメーション
ウィジェットはアニメーションさせれます。パワーポイントのアニメーションみたいなもんです。…と言っても、変化させれることは限られてますが…。
❶でアニメーションを立ち上げる。
❷で動かしたい時間に合わせて、
❸でキーを打ち込む。
ディティールウィンドウで、◆マークの付いたモノは、アニメーションのキーが打ち込めます。
アニメーションは、(右上にあるグラフってところからひらける)ウィジェットのブループリントからも再生できますし、ウィジェットを作成したブループリントからでも下のように再生できます。
バインド
ウィジェットのテキストや色を、動的に変えることができます。
ブループリントで管理をするんですが、一番使いやすいのは変数を作って、それをバインドする方法です。
- 変数とバインド
右上のグラフから、ブループリントを開きます。
❶色や数字、テキストの変数を作ります。(画像では色)
❷それをセットするプログラムを組んで、
❸右上のデザイナーに戻って、対象となるウィジェットの「バインド」と書かれたプルダウンメニューから、さっき作った変数を指定します。
たったこれだけで、色やテキストを動的に変更できます。
よくある使い方としては、セッターを関数の中に入れます。こうすると、ウィジェットを生成したブループリントから、テキストや色を変更できます。
プラスα
アクターのブループリントのコンポーネントとして、ウィジェットを配置できます。
ただし、警告が出ます。どうやら、実験的に使うことを前提としているらしいのですが…
あんまりよくわかってないです(すいません)
- ウィジェットの入れ子
親ウィジェットの子を動的に追加していきます。
具体的には、Vertical Box に 別のウィジェットブループリントのText Block を追加してます。
これも初めに、❶ウィジェットブループリントを生成して、❷親に追加しています。
(ついでにテキストも編集できるようにしてます)
こんな感じで、ウィジェットはただHUDの代わりというわけではありません。
利用方法はまだまだ、まだまだ、あると思います。
公式ドキュメントはこちら
んじゃまたノㇱ