ContentSizeFitterとは?
ContentSizeFitter
は、Unity
のUIシステムの一部で、
RectTransform
のサイズを自動的に調整する機能を提供します。
これにより、テキストや画像などのUI要素が動的に変化する場合でも、UIのレイアウトが適切に保たれます。
コンポーネントを追加する
以下のようなText
があったとします。
ContentSizeFitter
コンポーネントを追加するには、対象のUI要素を選択し、
インスペクターウィンドウで「Add Component
」をクリックします。
Content Size Fitter
を選択して追加します。
各設定について
Content Size Fitter
には
Horizontal Fit
Vertical Fit
の二つの設定項目があります。
Horizontal
が水平方向、Vertical
が垂直方向の設定です。
それぞれ設定できるのは、
Unconstrained
Min Size
Preferred Size
の3種類です。
Unconstrained
は何も起きないので省略します。
Min Size
Min Size
の場合、対象のUIの最小サイズに設定します。
そのままだと最小サイズは0になっています。
Layout Element
コンポーネントを追加して、Min (Width/Height)
を設定します。
Preferred Size
Prefrred Size
は対象UIを推奨サイズに設定します。
こちらも、Layout Element
コンポーネントのPreferred (Width/Height)
で設定できます。
Text/TextMeshProUGUI
の場合、テキストサイズが該当するため、
Layout Element
コンポーネントが無くても適切なサイズに設定されます。
文字列を変更すると横幅が変化しているのが確認できます。
まとめ
ContentSizeFitter
について軽く説明しました。
ContentSizeFitter
は、テキストや画像が動的に変わるUIのサイズ調整に有用です。
Min Size
やPreferred Size
の設定により、必要な大きさに短時間で調整できます。
逆に動的に変化しないUIについては編集時だけContentSizeFitter
を使用し、
実行時には動作しないようにしておくのもいいかもしれません。