Unreal Engine 4.17 では、クリッピング システムを大幅に改善しました。一部のケースでは、後方互換性がなくなることがあります。こうした変更についての追加情報は、 スレートのクリッピング システム をご覧ください。
UMG のクリッピング システムでは、ウィジェット (およびエディタの他の部分) でテキスト、画像、コンテンツをどのように表示するかを制御する フレームワークとして スレートのクリッピング システム を、使用します。クリッピング は、レンダリングしたオブジェクト (グラフィックスとテキスト) をバウンディング ボックスを使用して領域に制限し、その外側にあるものは表示しないことで機能します。クリッピング システムは、現在、 座標軸に平行になりました。つまり、どの回転でもクリップすることができます。これはトランスフォームの処理の仕方により、以前は不可能でした。
この例では、各ボタンは表示されたテキストの親になります。これらの例は、ボタンまたはテキストがクリッピングされるかを示しています。
- 左 - ボタン上またはテキスト上で有効なクリッピングはありません。
- 中央 - テキスト上でクリッピングが有効になっています。
- 右 - ボタン上でクリッピングが有効になっています。
キャンバス パネル (すなわちクリッピング ゾーン) はゲーム画面を表し、ゲームでこのエリア外にあるものを何でもクリッピングします。
UMG Designer グラフでは、キャンバス パネル (青) がゲーム画面のクリッピング ゾーンを表します。
Unreal Engine 4.16 以前は、ウィジェットのクリッピングはレイアウト空間を使って処理されており、キャンバス パネルの外側ではレンダリングしないようにしていたのです。そのため、ウィジェットのバウンディング ボックスの一部が キャンバス パネルの外側にあると、ウィジェットが回転してもレンダリングされなくなります。そのバウンディング ボックスは、キャンバス パネル内にあっても切り取られた グラフィックスやテキストの一部を残しません。
変更前後を比較した以下の例を見てみましょう。
![]() |
![]() ![]() |
Image Widget がキャンバス パネルの端に配置されて、バウンディング ボックスの一部が外側になっています。クリッピング システムは、レイアウト空間を使う代わりに座標軸に平行になったので、 アーティファクトや問題を解決したクリッピングになります。
クリッピングのプロパティ
UMG の [Details] パネルの [Clipping] で選択したウィジェットに基づき、クリッピングの処理方法を変更することができます。
| プロパティ | 説明 |
|---|---|
| Inherit | 子をクリッピングせず、親ウィジェットから渡されたクリッピング/カリングに従います。 |
| Clip to Bounds | ウィジェットのバウンドにコンテンツをクリッピングします。以前にクリッピングされている領域のバウンドと交差します。 |
| Clip to Bounds - Without Intersecting | ウィジェットのバウンドにクリッピングします。既存のクリッピング ジオメトリとは交差せず、新しいクリッピング状態になります。実際にクリッピングする階層のバウンド外部でレンダリングできるようにします。 |
| Clip to Bounds - Always | ウィジェットのバウンドにクリッピングします。以前にクリッピングされている領域のバウンドと交差します。 |
| On Demand | このウィジェットは、Desired Size (望ましいサイズ) がウィジェットに割り当てられたジオメトリよりも大きい場合に、その境界にバウンドします。これが起きると、[Clip to Bounds] のように機能します。 |
その他の考慮事項
- ほとんどの場合、テキストの長さを制御できず、クリッピングする必要がある場合を除いてクリッピング方法を調整する必要はありません。この例として、Scroll Box と Editable Text Widget があり、Inherit の代わりに [Clip to Bounds] に設定されています。
- 様々なクリッピング空間の要素をまとめて処理することはできません。そのため、クリッピングにはパフォーマンスの負荷を伴います。こうした理由から、パネルでバウンド外にコンテンツが表示されるのを防ぐ必要がない限り、クリッピングを有効にしないでください。


