Dsk_1
(Dsk)
June 5, 2021, 3:43am
1
こんにちは
たとえば A と B の 2つのWidgetがあったとして、A を UserWidgetとして B のキャンバスに配置した後、Aのキャンバスに変更を加えても、Bのキャンバスにはビジュアルが反映されず配置した当時のままです。
ヒエラルキー上で右クリックして Replace width… でビジュアルを更新することはできますが、すでにブループリントでノードを組んでいると、参照が切れてコンパイルエラーになります。
いまのところ、置いてあるのを捨てて置きなおすのが一番手間が少ない感じです。ポジションをコピペしないとレイアウトを維持できないのが難点ではあります。
このUserWidgetのビジュアルの更新について、最適な方法があれば教えていただけますと助かります。
Dsk_1
(Dsk)
June 5, 2021, 4:49am
2
双方コンパイルは問題なく通ります。変数や関数、イベントを追加してもキチンと反映されてていて問題なくアクセスできます。 見た目だけが置き去りになっている状態です。
Aをコンパイルし直してもダメですか?
手元では似たような手順で2つのWidgetを作り(AとBの2つのWidgetBPを作り、BにAを配置)Aを変更してコンパイルすれば、Bに配置したAのレイアウトが更新されることが確認できています
基本的に他のBPに参照される情報は、BPのコンパイル時に更新されます
ですので、変数やComponentなど、変更した情報を使用したい場合は、参照先をきちんとコンパイルする必要があります
Dsk_1
(Dsk)
June 5, 2021, 5:05am
4
どうやら、特定のWidgetでのみ、このビジュアルが更新されない状況に陥っているようです。
新規で AB2つのWidgetを作って試してみるときちんと反映されたのを確認しました。
もう少し調査してみます。
LunaNelis
(ネリスさんMain)
June 8, 2021, 10:51am
5
TextWidgetが含まれている、SizetoContentにチェックが入っている、アンカーが横幅いっぱいになるようになっている、自動改行が設定されている…
これらに該当する場合は正常に更新されないかもしれません。
確定でもないので可能性があるという程度でとらえてもらえればと思います。
Dsk_1
(Dsk)
June 9, 2021, 5:22pm
6
情報ありがとうございます!そのあたり気を付けて観察するようにします。
今のところ分かっているのは、
配置直後からエンジンを落とすまでは更新が反映されない状態になるようです。
エンジンを再起動すると、きちんと即時反映されるようになりました。
別途用意したWidgetで実験したときは余計なパーツを置かない状況で再起動せずともうまくいったので、
もうしばらく調べてみます。