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

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

2024.12.19
ニュースゲームづくりの知識QAUI
この記事をシェア!
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でテキストのはみ出し検出をしてみよう!

関連記事

Valve、Steamの徹底攻略法を解説したセミナー関連資料を公開。セールからSteamworksの使い方、プレイテスト、ローカライズまで「GDC2025」期間中に行われた9セッション
2025.04.28
Unity 6における「UI Toolkit」活用方法を学べる無料電子書籍、Unity公式サイトで公開。「UI Builder」やバインディング・ローカライズなど最新機能を紹介
2025.04.24
Unity 6で「Input System」を活用する方法、Unity公式が動画で解説。「UI Toolkit」との連携やローカルマルチプレイ機能の実装など
2025.04.22
ゲームUIのデザインとアニメーションの基本を学べる書籍、技術評論社が4/17(木)に発売
2025.04.03
幅や解像度が自動調整されるUIを収録。UnityのShader Graphを活用した公式サンプルパック「UGUI Shaders」リリース
2025.03.14
Unity向けUI管理アセット「Doozy UI Manager」などのDoozy Entertainment製ツール、Unity Asset Storeでの販売を終了。製品のコードは今後オープンソース化される
2025.01.29

注目記事ランキング

2025.05.09 - 2025.05.16
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

マーケットプレイス(Market Place)
マーケットプレイス
  1. インターネット上で売買を行う仕組みやウェブサイト自体を示す。
  2. Epic Games LauncherやアンリアルエンジンのWebサイトからアクセスできる、アンリアルエンジン用のオンラインストア。アセットやプラグインなどの販売・購入が可能。
VIEW MORE

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