ここでは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要素はすべて、通常のゲームオブジェクトが持つトランスフォームの代わりにこの矩形トランスフォーム(※下図)を持ちます。普通のトランスフォームとは扱いが異なるので注意してください。
アンカー
矩形トランスフォームが通常のトランスフォームとの大きく違う点は「アンカー」があることです。アンカーとは、そのUIの位置やサイズを親にどう合わせるか?を決める基準点のことで、正しく設定すれば画面サイズが変わったり、親UIのサイズが変わったりしたときにもUIを崩さずに表示させることができます。
アンカーについてはUnity公式マニュアルの「基本的なレイアウト」に詳しい説明がありますので、そちらをご覧頂けると分かりやすいと思います。
UIシステムで使えるUI要素
最後にUnityのUIシステムで使えるUI要素を簡単に紹介しておきます。
- 画像(Image)
- テキスト(Text)
- ボタン(Button)
- トグル(Toggle):チェックボックス
- スライダー(Slider):既定の範囲内の値を設定できるスライダー
- スクロールバー(Scroll Bar)
- ドロップダウン(Dropdown):クリックすると選択候補の一覧が表示されるメニュー
- 入力フィールド(Input Field):キーボードで文字を入力できるフォーム
- スクロールビュー(Scroll View):スクロールできる領域
よく使うものは一通りそろっているのでとても便利です。