Gameビューでは完璧に配置できたUI。ところが 実機で起動したら体力バーが画面外、ウィンドウサイズを変えたらボタンがメニューからは み出す——UIの「あるある」は、ほぼすべてアンカーとCanvas Scalerの理解不足が原因です。
この記事では、UnityのUIシステム(uGUI)の3大概念——Canvas・RectTransform・アンカー——と、画面サイズ対応の定番設定を解説します。
この記事でわかること
- CanvasとRender Mode 3種(Overlay/Camera/World Space)
- RectTransform——UI専用Transformの読み方
- アンカー——「画面サイズを変えたら崩れた」の対策の本丸
- Canvas Scaler——解像度対応の定番設定(
Scale With Screen Size)- UIパーツ別・アンカー設定の早見表(体力バー・ボタン・ヘッダー・背景)
Canvas: UIを描画するキャンバス
すべてのUI要素は、Canvasという特別なゲームオブジェクトの子として配置します。シーンに初めてUI要素(Image・Buttonなど)を作ると、UnityがCanvasとEventSystem(クリックやタップを検知する仕組み)を自動生成します。
CanvasのRender Modeは、UIを「どこに」描くかの選択です。

- Screen Space - Overlay: 最も一般的。UIはシーンの一番手前に画面へ張り付くように描画されます。スコア表示・メニューなど、通常のUIはこれです。
- Screen Space - Camera: 指定カメラの前方一定距離に描画。UIの手前にパーティクルを出したいなど、3Dとの前後関係が必要な場合に使います。
- World Space: UIを3D空間内の板として扱います。キャラクターの頭上のHPバー、VRの メニューなど「世界の中にあるUI」用です。
まずはデフォルトのScreen Space - Overlayから始めましょう。
RectTransform: UIのためのTransform
3Dオブジェクトの位置・回転・スケールはTransformが管理しますが、UI要素は RectTransform(矩形トランスフォーム)という専用版で管理されます。「点」ではなく 「矩形(四角い領域)」 を扱うのが違いです。
- Width / Height: UI要素の幅と高さ。
- Anchors(アンカー): 親のどこに固定するか。レイアウト崩れ対策の主役(次節)。
- Pivot(ピボット): 自身の基準点。回転・スケールの中心で、通常は中央(0.5, 0.5)。
Anchors: レイアウトの崩れを防ぐ「錨」
アンカーは、UI要素が親要素のどの相対位置に「固定」されるかを決める錨(いかり)です。スマホの画面比率は機種ごとに違います。アンカーが中央のまま右上にボタンを置くと、横長の機種ではボタンが画面外へ消えます。
