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

関連記事

『ゼルダの伝説 ティアーズ オブ ザ キングダム』のスクラビルドは開発時に12万通りをチェック。「ムリでは?」の空気を分解する仕事術【CEDEC2024】
2025.01.08
Unity製2DゲームのUI制作が学べる無料サンプル『Dragon Crashers』、Unity 6版にアップデート。UXMLやUI Builderなどのバインディング設定、4か国語への翻訳機能なども実装
2024.12.12
ソニーによるPlayStation®5 ゲームプレイ自動化の取り組み。人間のプレイヤーと同条件でのテストをAI技術で目指す【CEDEC2024】
2024.09.06
『ペルソナ3 リロード』自動プレイ機能で約300人日のQA工数を削減。収集したログから導く「おすすめ行動」でプレイヤー挙動を効率的に再現する【CEDEC2024】
2024.09.02
『ゼルダの伝説 ティアーズ オブ ザ キングダム』のトーレルーフ開発秘話。各セクションの独立した取り組みが重なり合い、新たな遊びが作られる任天堂流の開発プロセスに迫る【CEDEC2024】
2024.09.02
AIがテスト工数約53%削減。モバイルゲームに適したUnityプラグイン「Playable!Mobile」無料で先着10社にクローズドベータを先行提供
2024.08.22

注目記事ランキング

2025.01.12 - 2025.01.19
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

エミッター(Emitter)
エミッター
  1. 英語で「放出器」「放出源」のこと。
  2. ゲーム開発においては、パーティクルを生み出す発生源のことを示すことが多い。
VIEW MORE

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