ジェノベーゼのUnity備忘録

Unity関連についてのブログです。

tips:CanvasコンポーネントのRender Modeについて

CanvasのRender Modeプロパティの3モードについて

f:id:jenounity:20211110221451p:plain

Screen Space - Overlayモード

UIの表示位置やサイズを2Dのスクリーン座標系で指定するモード。
最後にレンダリングされ、必ず最前面にUIが表示されるので3Dオブジェクトに隠れることはない。
ボタンやテキストなど、一般的なUIの多くはこのモードを使うことがほとんど。
座標系が普通のオブジェクト(Canvasがついてないもの)と違うので、位置を指定して動かすときは注意。

Screen Space - Cameraモード

上記のOverlayモードとの違いは、UIに奥行きを追加することができる点。
奥行きはPlane Distanceプロパティで指定できる。
3Dオブジェクトの背後にUIを表示したい時に使う。
どのカメラに対してUIを描画したいのかをRender Cameraプロパティで設定する。
何も設定しない場合はOverlayと同じく最前面に描画。

World Spaceモード

3Dオブジェクトと同じ座標系(World座標系)でUIを表示。
デフォルトでWorld座標系におけるUIは巨大なのでスケールでの調整が必要。

Canvas間の描画順序
Render Mode 描画順序
Screen Space - Overlay Sort Orderが大きい方が手前
Screen Space - CameraまたはWorld Space Sorting Layerが大きい方が手前、Sorting Layerが同じならOrder in Layerが大きい方が手前

参考

http://www.metalbrage.com/UnityTutorials/uGUI/Canvas.html