C++を使ってUE5のテキストボックスの「はみ出し」を確認する方法をトイロジックが紹介。親WidgetがCanvas Panel以外の場合にも対応

C++を使ってUE5のテキストボックスの「はみ出し」を確認する方法をトイロジックが紹介。親WidgetがCanvas Panel以外の場合にも対応

2024.12.19
ニュースゲームづくりの知識QA・デバッグUI技術ブログ
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • トイロジック、「【C++】UE5でテキストのはみ出し検出をしてみよう!」と題した記事を公開
  • Unreal Engine 5環境で、C++を使ったテキストブロックのサイズを超える文字の検出方法を解説
  • テキストブロックの親となるWidgetがテキストブロック側でのサイズ設定ができるか否かによって、はみ出しを検出する方法を変更している

トイロジックは2024年12月13日(金)、「【C++】UE5でテキストのはみ出し検出をしてみよう!」と題した記事を、開発ブログ「トイログ」にて公開しました。

同記事では、C++を用いて、Unreal Engine 5(以下、UE5)でテキストのはみ出しがないかを確認するツールの作り方を紹介しています。

なお、ブログ記事ではUE 5.4.3が使われています。

同記事で想定しているのは、フキダシの画像上にテキストブロックを用意し、テキストを表示するようなケースです。

UEにおける標準的なUIツールであるWidget Blueprint上に、親WidgetとしてCanvasPanel、子Widgetとしてフキダシの画像とテキストブロックを配置し、文字がテキストブロックのサイズを超えたときに、ログを出力するまでのフローを紹介しています。

(画像はブログ記事より引用)

テキストブロックのサイズは親となるWidgetの種類によって、テキストブロック側で設定できる場合と親Widgetに依存する(テキストブロック側では設定できない)場合があります。そのため、同ブログ記事では文字がはみ出しているかどうかの判定を「テキストブロックで設定されているサイズに収まっているか」「テキストブロックが配置されている親ウィジェットで設定されているサイズに収まっているか」によってパターン分けしています。

Widgetとして追加されているEditorUtilityWidgetは、それぞれのパターンで、設定サイズと実際に表示した文字サイズを比較するためのものです。

テキストブロック(緑枠)とそのサイズを指定するパラメータ(赤枠)。デフォルトでテキストボックスに設定されるCanvasPanelSlotでは、この値と実際の文字の描画サイズを比較すればはみ出しを検出できる(画像はブログ記事より引用)

同ブログ記事では、この2つのパターンについて、はみ出しを検出するまでの流れが分かるコード例付きで紹介しています。

また、これをツールとして使うためには、エラーが出たテキストのプレビュー機能や、はみ出しがX方向・Y方向いずれのものかを識別する機能などを追加する必要があると述べています。

詳細はトイログの記事をご確認ください。

【C++】UE5でテキストのはみ出し検出をしてみよう!

関連記事

任天堂、『ゼルダの伝説 時のオカリナ』フルリメイクの開発インタビュー記事を公開。64版当時のプレイヤーも、最新作から始めた人も心地よく遊べる操作感を追求
2026.11.04
明暗の塗り分けを保ったまま、トゥーン調の肌に血色のにじみを加える。サムザップが表面下散乱(SSS)の表現手法をブログで比較
2026.11.01
売上2,000万本の『めっちゃカメレオン』を2か月で作った開発者へのインタビュー記事をEpic Gamesが公開。EOSを活用し、同接34万人超でも利用料はゼロ
2026.10.27
3KB以下のゲームを制作・公開。「Pyxel」開発者が新たなオープンソースエンジン「Playload」をリリース。今週のゲーム開発関連ツールまとめ
2026.10.24
約10万個のブロック群を700FPS以上でアニメーションさせるには?Unity 6.5のRenderMeshPrimitivesを用いた実装例、サムザップがブログで解説
2026.10.23
スクエニが挑む自動QAシステム実用化。内部座標を取得せず、AIがゲーム画面のみ見てルート構築&自律テスト【CEDEC2026】
2026.10.19

注目記事ランキング

2026.11.01 - 2026.11.08
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ライトマップ(Light Map)
ライトマップ 事前計算されたライティング情報を焼き付けたテクスチャ。リアルタイムのライティング計算は処理負荷が高いため、事前にライトマップにベイクする手法が取られることがある。負荷軽減につながる一方、実行中に光の向きを変更しにくいなどのデメリットも存在する。
VIEW MORE

Xで最新情報をチェック!