UnityでCanvasUIを使う時の設定内容について、よく忘れるのでまとめおきます。

 

Render Mode

・Screen Space - Overlay(スクリーン空間 - オーバーレイ): 
キャンバスは画面上にオーバーレイ表示される(ポップアップみたいに重ねて表示)。
基本どんな条件でも表示されたい時に使う。

・Screen Space - Camera(スクリーン空間 - カメラ):
 キャンバスは特定のカメラに対して設定・表示される。個人的によく使う。
下記はRender Cameraでカメラの設定をすることで、メインカメラに対して表示するようにしている。
注意点として、「Plane Distance」でカメラとUIの距離を決められるので、カメラとUIの間に3Dオブジェクトなどが入るとUIが隠れます。

・World Space(ワールド空間): 
キャンバスはワールド空間内に配置されます。キャンバスは3D空間に存在し、UI要素は他の3Dオブジェクトと同じように位置や回転を設定できる。

CanvasScaler

CanvasScalerは、キャンバス内のUI要素を異なる画面解像度やデバイスに適切にスケーリングするためのコンポーネントです。
画像サイズか、解像度か、実機でUIを調整するかを選べます。

・Constant Pixel Size(固定ピクセルサイズ): 
UI要素のサイズが固定され、画面の解像度やデバイスの変更に関係なく、指定されたピクセル数で表示されます。
UI要素はピクセル単位で指定されたサイズを維持しますが、デバイスの解像度によって表示が大きくなったり小さくなったりする場合があります。

・Scale With Screen Size(画面サイズに合わせてスケーリング): 
UI要素のサイズが画面の解像度に応じて自動的に調整される。個人的によく使う。
UI要素のサイズは、Reference Resolution(参照解像度)に指定した値に基づいて計算される。画面の解像度が変わると、UI要素のサイズも比例して変更されます。

・Constant Physical Size(固定物理サイズ): 
UI要素の実際の物理サイズが指定された値に基づいて維持されます。
UI要素はデバイスの物理的なサイズに応じて調整される。これは、デバイスの物理的なサイズに基づいて一貫した表示を提供する場合に使用されます。