Unreal Engine 5で開発する過程で、処理が実行される順序で少しハマった[Desired Size]でUMGのテキストブロックの予定サイズが取得できない場合の対処法を備忘録的に投稿します。
[Get Desired Size]で予定サイズの取得
Unreal Engineのウィジェット内で[Get Desired Size]ノードで実行時のサイズが取得できます。
その際に、[Size To Content]を有効にしておく必要があります。
しかし、実行中で取得する場所によっては、取得できない場合があります。
公式のドキュメントで詳しい内容は分かりませんでしたが[Desired Size]ノードが実行されるタイミングで、Tickイベントなどフレームが1回でも再生されている必要があるようです。
なので、ウィジェットのConstructイベントなどタイミングによっては正しい値の取得が出来ない可能性があります。
この場合[Force Layout Prepass]ノードが使える場合があります。
実際に取得してみると、小数点以下が取れない場合がありましたが[Desired Size]でサイズが取得できるようになりました。
まとめ
今回は、短い記事ですが、Unreal Engine 5で[Desired Size]でUMGのテキストブロックの予定サイズが取得できない場合の対処法について書きました。
[Desired Size]で予定しているサイズを取得するためには、Tickイベントなどで1フレームでも再生されている必要があります。
それ以前に取得したい場合には[Force Layout Prepass]ノードで、デザイン時の値が取得できるようになりました。
Unreal Engine で[Desired Size]でサイズが正しく取得できない人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。


