Unity UIレイアウト入門:Horizontal / Vertical / Grid Layoutの基本と設定方法

Unityバージョン:6000.0.31f1

UnityでゲームやアプリのUIを作るとき、ボタンや画像をきれいに並べたいというシーンは多いですよね。しかし、手動で位置を調整していると、時間がかかる上に、画面サイズや解像度が変わるとレイアウトが崩れてしまうこともあります。

そんなときに役立つのが、Unityのイアウトコンポーネントです。この記事では、特にHorizontal Layout Groupを中心に、初心者でも迷わず使える方法を詳しく解説します。Vertical LayoutやGrid Layoutとの違いもわかるので、UI作りに自信がない方でも安心です。


PR

レイアウトコンポーネントとは?

Unityには、UIオブジェクトを自動で整列させる仕組みがあります。
例えば、ボタンを5つ横に並べたいとき、手動で位置を調整すると結構大変です。Pixel単位で揃えるのは難しく、さらに画面サイズが変わると再調整が必要になります。

これを解決してくれるのがレイアウトコンポーネントです。自動で整列してくれるので、作業が非常に効率化されます。

代表的なレイアウトコンポーネントは次の3つです。

コンポーネント整列方向用途
Horizontal Layout Group横方向ボタンや画像を横並びにしたいとき
Vertical Layout Group縦方向メニューやリストを縦に並べたいとき
Grid Layout Group格子状アイテム一覧やインベントリUI

メリット

  • 手動で位置を微調整する手間を大幅に減らせる
  • 複数画面サイズに対応しやすくなる
  • UIの見た目を均等に整えることができる

PR

Horizontal Layout Groupの基本的な使い方

1. CanvasにPanelを作る

まず、UIの親オブジェクトとしてPanelを作ります。
Panelは子オブジェクトをまとめる「箱」のような存在です。
例えば、横並びにしたいボタンや画像は、このPanelの中に入れます。

Screenshot

2. PanelにHorizontal Layout Groupを追加

次にPanelを選択し、Inspector → Add Component → Layout → Horizontal Layout Groupを追加します。
これだけで、Panel内の子オブジェクトが自動で横方向に整列されるようになります。

3. 子オブジェクトを配置

Panelの子オブジェクトとして、ButtonやImageを置きます。
Horizontal Layout Groupを追加すると、自動で横方向に並び、左から右へ順番に整列されます。


4. 間隔やパディング、位置を調整

Horizontal Layout Groupには、細かい調整用の項目があります。

  • Spacing
    子オブジェクト間の距離を指定できます。例えばSpacingを10に設定すると、ボタン同士の間隔が10px空きます。
  • Padding
    Panelの端から子オブジェクトまでの余白を調整できます。上下左右それぞれ個別に設定可能です。
Spacingを-150まで小さくすると、ボタンとボタンの間が狭くなります
PaddingのTopを100に上げると、ボタンの上部に100pxのスペースが空きました

この調整だけで、UIが一気に整って見やすくなります。

また、位置については、Child AlignmentからPanelのどこに配置するかを選択できます。
中央揃えをしたいときは、Middle Centerなどを選択します。


PR

子オブジェクトのサイズを自動調整する

Horizontal Layout Groupには、子オブジェクトのサイズを自動で揃えるオプションもあります。

オプション説明
Child Control Width / Height子オブジェクトの幅や高さを自動で調整
Child Force Expand (Unity5.xまで)チェックを入れると、子オブジェクトがPanel内で均等に伸びる
Use Child Scale (Unity 6から)子オブジェクトの RectTransform のスケール値 を考慮してレイアウトされます。

この設定を使うと、ボタンや画像のサイズがバラバラでも自動で均一サイズに揃えられます
特に、異なる解像度や画面サイズに対応する際に便利です。

Use Child Scaleについて

例えば、ボタンの一つのスケールが他より小さかった場合、通常はスケールは考慮されずに他のボタンと同じサイズとしてレイアウトされますが、

Use Child Scaleにチェックを入れることで、スケール値も考慮したレイアウトがされます。


PR

Vertical LayoutやGrid Layoutとの違い

Vertical Layout Group

  • 縦方向に自動整列します
  • メニューやチャットリストなどのUIに便利
  • Horizontal Layoutと同じようにSpacingやPaddingを調整可能

Grid Layout Group

  • 縦横両方で整列
  • アイテム一覧やショップ画面のUIに最適
  • Cell SizeやSpacingで細かく調整できる

PR

まとめ

  • Horizontal Layout Groupは横方向に自動で整列
  • 間隔やサイズも簡単に調整可能
  • VerticalやGrid Layoutと組み合わせると、UI作りが格段に楽になる

UIの整列を手作業で行うのは意外と大変ですが、レイアウトコンポーネントを使うことで効率よくきれいなUIが作れます。
用途に合わせてコンポーネントを選択しましょう。