Unity で UI パネルを開いた時にアスペクト比を固定するスクリプトと実装方法について説明します。
概要
UI パネルのアスペクト比を固定する方法はいくつかありますが、ここでは代表的な 2 つの方法を紹介します。
- Canvas Scaler コンポーネントを使う方法
- スクリプトで RectTransform を制御する方法
1. Canvas Scaler コンポーネントを使う方法
この方法は、Canvas Scaler コンポーネントの設定を変更することで、UI 要素のサイズを画面サイズに合わせて自動的に調整する方法です。
実装手順
- Canvas Scaler コンポーネントの設定:
- Canvas オブジェクトに Canvas Scaler コンポーネントを追加します。
- UI Scale Mode を Scale With Screen Size に設定します。
- Reference Resolution を固定したいアスペクト比の解像度 (例: 1920×1080) に設定します。
- Screen Match Mode を Match Width Or Height に設定し、アスペクト比を維持したい方向に合わせて Width または Height を選択します。
- UI 要素の配置:
- Canvas の子オブジェクトとして UI パネルやボタンなどの要素を配置します。
- 各要素の Rect Transform コンポーネントでアンカーを設定し、画面サイズに合わせて適切に配置されるように調整します。
メリット
- 簡単な設定でアスペクト比を維持できる
- 複数の解像度に対応しやすい
デメリット
- UI 要素のサイズが画面サイズに合わせて変更されるため、意図しない表示になる場合がある