Canvas
Canvas Group

Canvas Scaler

CanvasScaler コンポーネントは Canvas 内の UI 要素の全体的なスケールとピクセル密度を制御するために使用されます。このスケーリングはフォントのサイズと画像のボーダーを含め、Canvas 下のすべてに影響を与えます。

プロパティー

プロパティー 説明
UI Scale Mode Canvas 内の UI 要素をどのようにスケーリングするかを決めます。
        Constant Pixel Size UI 要素をスクリーンサイズによらずピクセル単位で同様のサイズに保ちます。
        Scale With Screen Size 画面サイズが大きいほどに、UI 要素を大きくします。
        Constant Physical Size UI 要素をスクリーンサイズや解像度によらず、物理的に同様のサイズに保ちます。

Constant Pixel Size の設定:

プロパティー 説明
Scale Factor このファクタで Canvas 内のすべての UI 要素をスケーリングします
Reference Pixels Per Unit スプライトが ‘Pixels Per Unit’ 設定を持つ場合、スプライトの 1 ピクセルは UI の 1 ユニットをカバーします。

Scale With Screen Size の設定:

プロパティー 説明
Reference Resolution UI レイアウトが設計されている解像度。もしスクリーン解像度が大きければ、UI はスケールアップし、小さければ、UI はスケールダウンします。
Screen Match Mode 現在の解像度のアスペクト比が基準解像度にフィットしない場合は、モードは Canvas 空間をスケールするのに使用されます
        Match Width or Height 基準値となる幅、基準値となる高さや、何かの間となる Canvas の空間をスケールします
        Expand Canvas 空間を水平や垂直に展開するので、Canvas のサイズは基準値よりも小さくなることはありません
        Shrink Canvas 空間を水平や垂直にトリミングするので、Canvas のサイズは基準値よりも大きくなることはありません。
Match スケーリングが width か height 、それらを混ぜ合わせたものを参照として使用するかを決定します。
Reference Pixels Per Unit スプライトが ‘Pixels Per Unit’ 設定を持つ場合、スプライトの 1 ピクセルは UI の 1 ユニットをカバーします。

Constant Physical Size の設定:

プロパティー 説明
Physical Unit 位置とサイズを指定するための物理ユニット
Fallback Screen DPI スクリーン DPI が不明な場合は、DPI と仮定します
Default Sprite DPI 1 インチあたりのピクセルは ‘Reference Pixels Per Unit’ 設定にマッチする ‘Pixels Per Unit’ 設定を持つスプライトのために使用されます
Reference Pixels Per Unit スプライトが ‘Pixels Per Unit’ 設定を有していれば、その DPI は ‘Default Sprite DPI’ 設定に当てはまります。

World Space Canvas の設定(Canvas コンポーネントが World Space に設定されている場合に表示されます) :

プロパティー 説明
Dynamic Pixels Per Unit Text など UI に動的にビットマップを作成するために使用する 1 ユニットあたりのピクセル量
Reference Pixels Per Unit スプライトがこの ‘Pixels Per Unit’ 設定を有していれば、スプライトの 1 ピクセルはワールドの 1 ユニットをカバーします。‘Reference Pixels Per Unit’ が 1 に設定されていれば、スプライトの ‘Pixels Per Unit’ 設定は同様に使用されます。

説明

‘Screen Space - Overlay’ や ‘Screen Space - Camera’ を設定した Canvas の、Canvas Scaler UI Scale Mode は Constant Pixel Size、Scale With Screen Size、Constant Physical Size を設定することができます。

Constant Pixel Size

Constant Pixel Size モードを使用すると、UI 要素の位置とサイズはスクリーン上のピクセルに指定されます。また、これは CanvasScaler がアタッチされていないときの Canvas のデフォルトの機能です。しかし、CanvasScaler のスケールファクタの設定で、一定のスケーリングを Canvas 内のすべての UI 要素に適用することができます。

Scale With Screen Size

Scale With Screen Size モードを用いることで、指定された Reference Resolution のピクセルにしたがって位置とサイズが明確になります。現在のスクリーン解像度が Reference Resolution の次に大きければ、Canvas は Reference Resolution の解像度だけは維持し続けますが、スクリーンに合うためにスケールアップします。もし現在のスクリーン解像度が Reference Resolution より小さければ、Canvas はスクリーンに合わせるために同様にスケールダウンします。

現在の解像度が Reference Resolution と異なるアスペクト比率である場合、それぞれの軸に対して、スクリーンに合わせるための個別スケーリングを行います。そしてそれは、しだいに不本意な不均一のスケーリングへと繋がります。この代わりに、ReferenceResolution コンポーネントは、スクリーンのアスペクト比率を予想するために Canvas の解像度を Reference Resolution から外します。Screen Match Mode 設定を使用することで、この偏差がどのように振る舞うか制御することが可能です。

Constant Physical Size

ConstantPhysicalSize モードを使用すると、UI 要素の位置とサイズはミリメートル、ポイント、パイカなどの物理単位で指定されます。このモードは正しくスクリーン DPI を報告するデバイスに依存します。DPI を報告しないデバイスはフォールバック DPI を指定して使用することができます。

World Space

‘World Space’ を設定した Canvas の CanvasScaler は、Canvas 内の UI 要素のピクセル密度を制御するのに使用されます。

ヒント

  • 異なる解像度とアスペクト比率を適応させる UI レイアウトを作成するための、Rect Transform のアンカー配置と Canvas Scaler の共同使用に関してのステップバイステップの説明は 複数の解像度のための UI 設計 ページを参照してください。
Canvas
Canvas Group