⭐️

【UE5】BPでUMGのローカル座標からワールド座標に変換させる方法

2024/12/13に公開

概要

この記事は一人アドベントカレンダー by ダリアの13日目の記事です。

今回はBPからUMGのローカル座標をワールド座標に変換させるやり方をまとめたものになります。
想定してるイメージはこちらになります。
https://x.com/daria_nicht/status/1859505257677811965

今回はローカル座標から変換したワールド座標の位置にデバッグ用のボックスを表示させるようにしてます。

環境

UE5.4.4

やり方

まずUMGを作ります。
レイアウトはこちらになります。

サンプルのため適当な場所にテキストブロックを出しています。

次にBPの方に移動し、ローカル座標からビューポート座標に変換させた際のスクリーン座標を取得する関数を作ります。
取得の仕方はGetCachedGeometryノードからLocal to Viewportノードでローカル座標からビューポート座標に変換したPixelPositionを渡すようにします。

次に作成したウィジェットを表示するアクターを作ります。

BeginPlayでウィジェットを作り、Event Tickで先程作った関数を呼んで、ピクセルの座標をワールド座標に変換して表示するようにします。

ここまでできれば冒頭の動画のようになります。

記事は以上になります。
最後まで読んでいただきありがとうございました。

参考

【UE4】カーソルの位置とウィジェットの座標系について

Discussion