Unity-starting-with-ui

提供:Dev Guides
移動先:案内検索

Unity-UIから始める

このセクションでは、UnityのユーザーインターフェイスまたはUI要素の設計プロセスについて学習します。 これには、基本セットアップと、Unityに付属する一般的な要素の概要が含まれます。

UnityでUIを設計するためのワークフローは、これまで行ってきたものとは少し異なるパスに従います。 まず、UI要素は標準のGameObjectではなく、そのまま使用することはできません。 UI要素の設計は異なります。 4:3の解像度で正しく見えるメニューボタンは、正しく設定されていないと、16:9の解像度で引き伸ばされたり歪んだりする場合があります。

UnityのUI要素は、シーンに直接配置されません。 それらは常に Canvas と呼ばれる特別なGameObjectの子として配置されます。 キャンバスは、すべてのUI要素がレンダリングされるシーンのUIの「描画シート」のようなものです。 既存のCanvasなしで Create コンテキストメニューからUI要素を作成すると、自動的に生成されます。

キャンバス

次に、Canvas GameObjectを見て、追加の新しいコンポーネントについて確認します-

Canvas GameObject

上部の Rect Transform には、標準のGameObjectのTransformにはない多くの新しいプロパティがあります。

これは、通常のGameObjectの変換は3D空間の仮想の*ポイント*を記述するのに対して、 RectTransform は仮想の*長方形*を定義するためです。 つまり、四角形の位置、大きさ、向きを正確に定義するための追加のプロパティが必要です。

HeightやWidthなどの長方形の標準的なプロパティと、 Anchors という2つの新しいプロパティを確認できます。 アンカーは、キャンバス内で他のエンティティが「ロック」できるポイントです。 つまり、UI要素(ボタンなど)が右側のCanvasに固定されている場合、Canvasのサイズを変更すると、Buttonが常にCanvasの相対的な right にあることが保証されます。

デフォルトでは、キャンバス領域の形状を変更することはできません。これは、シーンの周囲の比較的*巨大な*長方形になります。

巨大な長方形

次は Canvas コンポーネントです。 これは、UIの描画方法に関するいくつかの汎用オプションを保持するマスターコンポーネントです。

キャンバスコンポーネント

最初に表示されるオプションは*レンダリングモード*です。 このプロパティは、キャンバスをゲームのビューに描画するために使用されるメソッドを定義します。

ドロップダウンリストには3つのオプションがあります。 後続のセクションでオプションについて学びましょう。

画面スペース-オーバーレイ

このモードは、メニュー、HUDなどの最も標準的なモードです。 UIをシーン内の他のすべての上に、正確にどのように配置するかを、例外なくレンダリングします。 また、画面またはゲームウィンドウのサイズが変更されたときにUIを適切にスケーリングします。 これは、キャンバスのデフォルトのレンダリングモードです。

スクリーンスペース-カメラ

スクリーンスペース-カメラは架空の投影面を作成し、カメラからの距離を設定し、すべてのUIを投影します。 つまり、シーン内のUIの外観は、カメラで使用される設定に大きく依存します。これには、遠近法、視野などが含まれます。

スクリーンスペースカメラ

ワールドスペース

ワールドスペースモードでは、UI要素は、ワールドに配置された通常のGameObjectのように動作します。 ただし、これらはスプライトに似ているため、通常はゲーム内のモニターやディスプレイなど、プレーヤーではなくゲームワールドの一部として使用されます。 この性質のため、このモードでCanvas RectTransformの値を直接変更できます。

*Canvas Scaler* は、UI要素のスケールと外観をより明確に調整できるオプションのセットです。これにより、画面のサイズが変更されたときに、UI要素自体を*サイズ変更*する方法を定義できます。 たとえば、UI要素は、画面サイズとの比率に関係なく、同じサイズのままにすることも、*参照解像度*に従ってスケーリングすることもできます。

Graphics Raycasterは、主にUI要素のレイキャスティング(レイキャスティングのUnityドキュメントへのリンク)を扱い、クリックやドラッグなどのユーザー開始イベントが正しく機能するようにします。