3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[UE4]UE4でアコーディオンメニューを作る

Last updated at Posted at 2022-02-28

はじめに

UIでこんな感じのメニューを見たことがあると思います。
https://webdesignday.jp/inspiration/technique/css/5316/

accordion.gif

今回は横に広がるアコーディオンメニューを簡単に作成してみようと思います。
UEにはExpandable Areaというまさにアコーディオンにうってつけのオプションがありますが、上下にしか開閉ができそうになかったため、アニメーションで自作します

1.UEを起動し、WBP(ウィジェットブループリント)を作成し、UIを仮置きする

ユーザーインターフェイス > ウィジェットブループリントを選択

image.png

UIを適当に作成します
image.png

image.png

この赤枠あたりでアコーディオンするように作成してみようと思います。

image.png

親のUMGと別に子のUMGを作成したいので、赤枠の位置にCanvasPanelを置いておきます。

2.アニメーションを作成する

image.png
ExpandedAreaをアニメーションで動かしたいので、トラックを作成する

image.png

0秒の箇所には
Pivot→Xに0,Yに0
Transform→スケーリングのXに0.0、 Yに1.0を入れる

1秒の箇所には
Transform→スケーリングのXに1.0を入れる

親ウィジェットのphoneボタンを押下したときのイベントを設定する
image.png

※ポイントはFlipflopで開閉を表現、
PlayModeでForward,Reverseでアニメーションの再生、逆再生を変えること
ExpandedAreaにAddChildでWBP_Phoneを子ウィジェットとして追加する
※先に3.子のWBPを作成するの子ウィジェットの追加だけすませておいてください

3.子のWBPを作成する

image.png

適当なサイズのイメージを配置
image.png

レベルBPに親のウィジェットを表示するよう設定
image.png

結果

だいぶ駆け足になってしまいましたが、以下のようなアニメーションが完成します
image.png
※gifがなぜか貼れなかったのでご容赦ください。。。。

今度はもっときれいにUI周りを表示していこうと思います。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?