凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 UMGのウィジェットのパーツを動的に動かす(Set Position)

UMGで作成したウィジェットのパーツを動的にブループリントで動かす方法です。
本来の使い方としては動かすパーツごとにウィジェットを切り分ける。といった感じなのかなと思いますが
一応ウィジェット内のパーツを動かしたいなーと思ったので調べてみました。

ここらへんのサイトを参考にさせていただきました。

・【UE4】UMGを使ったUIの実装+ (その1)
http://meganeo.blog.shinobi.jp/ue4/%E3%80%90ue4%E3%80%91umg%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fui%E3%81%AE%E5%AE%9F%E8%A3%85%EF%BC%8B%20-%E5%AE%9F%E8%A3%85%E7%B7%A8-

[UE4] UMGのアニメーションと動的な配置
http://monsho.blog63.fc2.com/blog-entry-158.html

・ウィジェットを任意の場所に動かす方法・その1
http://imoue.hatenablog.com/entry/2015/11/10/174804

どうも、ウィジェットのパーツの「Image」などには直接「Set Position」などの処理は実行できないようです。
ただし、「Canvas」に対しては結構いろいろできるようなので、
まずは動かしたいパーツを「Canvas」の子として配置します。
UMGを動かす002
キャンバス単位で動かすことになるので、子の配置の場所に気を付けましょう。

「Canvas」は作成したデフォルト状態だと変数としてアクセスできる状態にないため、
詳細タブの「Is Variable」にチェックをいれて、変数として使えるようにします。
UMGを動かす001

そうすると、ブループリント上で「Canvas」に対してアクセスできるようになります。
UMGを動かす003

あとは、この「Canvas」の変数に対して「Set Position」ノードを接続して実行することで、
「Canvas」が移動し、子であるパーツも一緒に動かすことができます。
UMGを動かす000
とりあえず、上記のブループリントではマウスの位置に追従するようにしています。

「Canvas」変数は使うために「Slot as Canvas Slot」で変換しないといけないことに注意しましょう。

あまりこういった使い方は推奨されてないかもしれませんが、
ウィジェット内のパーツでいろいろやる場合は「Canvas」を使うとよさそうですね。
スポンサーサイト

| UE4 | 16:18 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/161-870ca863

TRACKBACK

PREV | PAGE-SELECT | NEXT