UnityのUIシステムについて

ここではUnityのUIシステム(俗にいうuGUI)の概要について説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

UIとは?

UnityではUIを簡単に作ることができます。

UIというのは、ゲーム画面上でユーザーが視覚的に情報を得たり操作したりできるもののことで、例えばボタンやプルダウンメニュー、HPゲージ、スコアのテキストなどが該当します。

昔のUnityでは標準でUIを作る機能がなく作るのが面倒だったのですが、Unity5あたりからUI作成機能が搭載されてとても楽にUIを作れるようになりました。

UIシステムの特徴

ではここでUIシステムの主な特徴をザックリと説明します。

キャンバス(Canvas)

まず、UnityのUIを作るうえでは「キャンバス」というゲームオブジェクトが欠かせません。

キャンバスはUI要素を描画するための画面のようなもので、キャンバス以外のUI要素は必ずキャンバスの子に設定する必要があります(そうしないと表示されません)。このことは必ず覚えておくようにしてください。

キャンバスの詳しい使い方は「キャンバス(Canvas)の使い方」をご覧ください。

矩形トランスフォーム(Rect Transform)

それからUIの大きな特徴の一つとして「矩形トランスフォーム(Rect Transform)」があります。UnityのUI要素はすべて、通常のゲームオブジェクトが持つトランスフォームの代わりにこの矩形トランスフォーム(※下図)を持ちます。普通のトランスフォームとは扱いが異なるので注意してください。

矩形トランスフォーム(Rect Transform)

アンカー

矩形トランスフォームが通常のトランスフォームとの大きく違う点は「アンカー」があることです。アンカーとは、そのUIの位置やサイズを親にどう合わせるか?を決める基準点のことで、正しく設定すれば画面サイズが変わったり、親UIのサイズが変わったりしたときにもUIを崩さずに表示させることができます。

アンカーについてはUnity公式マニュアルの「基本的なレイアウト」に詳しい説明がありますので、そちらをご覧頂けると分かりやすいと思います。

UIシステムで使えるUI要素

最後にUnityのUIシステムで使えるUI要素を簡単に紹介しておきます。

  • 画像(Image)
  • テキスト(Text)
  • ボタン(Button)
  • トグル(Toggle):チェックボックス
  • スライダー(Slider):既定の範囲内の値を設定できるスライダー
  • スクロールバー(Scroll Bar)
  • ドロップダウン(Dropdown):クリックすると選択候補の一覧が表示されるメニュー
  • 入力フィールド(Input Field):キーボードで文字を入力できるフォーム
  • スクロールビュー(Scroll View):スクロールできる領域

よく使うものは一通りそろっているのでとても便利です。