ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

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

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

###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