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でテキストのはみ出し検出をしてみよう!

関連記事

デザインツール「Figma」、画像を効率よくベクターに変換できるAI機能「Vectorize」の提供を開始
2026.02.05
2025年アドベントカレンダーから、ゲームメーカーズ編集部が注目した15記事を一挙紹介!
2025.12.30
カカリアスタジオ、『あんスタ!!』シリーズのUIアップデートにおける開発ワークフローの効率化手法をZennにて公開
2025.12.19
『呪術廻戦 ファントムパレード』のバトルリザルト演出を改修。サムザップがリファクタリング事例を技術ブログで解説
2025.09.02
Unity 6版「UI Toolkitガイド」日本語版が無料公開。UI Builderやデータバインディングなど、最新機能を学べる公式電子書籍
2025.08.05
UE5でUIにもポストエフェクトを適用できる機能「Slate Postbuffer」、ロジカルビートが技術ブログで解説
2025.07.04

注目記事ランキング

2026.02.04 - 2026.02.11
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

物理エンジン
ブツリエンジン オブジェクトの物理挙動をシミュレーションする機能。ゲームエンジンの一機能として提供される場合や、物理エンジンの機能のみをミドルウェアとして提供する場合がある。
VIEW MORE

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