[UNITY]2DRPG開発日誌 #72 指定した画面サイズの外側を真っ黒にする方法

手順は下記のとおりです。ヒエラルキー内でのオブジェクトの順番が重要です。

  1. CanvasのRenderModeを ScreenSpace - Camera にしてMainCameraをアタッチする
  2. CanvasScalerをScaleWithScreenSizeにしてReferenceResolutionにのxとyに指定したい画面サイズを入れる
  3. Canvasオブジェクトの中に「MaskArea」とでも名付けたImageオブジェクトを作り、WidthとHeightを4000*2500みたいに超大きくする
  4. MaskAreaのImageの色を黒にして、Alpha値を255(不透明)にする
  5. MaskAreaにMaskコンポーネントを追加。ShowMaskGraphicをオフにする。
  6. MaskAreaの中に「LastSiblingObjects」とでも名付けたオブジェクトを作成し、位置をリセット(x:0 y:0 z:0)する
  7. LastSiblingObjectsを常にMaskArea内の最下に位置するようUpdate()などで工夫する
  8. LastSiblingObjectsの中に「Mask」とでも名付けたImageをつくり、WidthとHeightを4000*2500みたいに超大きくする
  9. いま作った「Mask」オブジェクトのImageは色を黒にして、Alpha値を255(不透明)にする
  10. LastSiblingObjects直下に「SafeArea」とでも名付けたImageをつくり、WidthとHeightを指定したい画面サイズにする
  11. SafeAreaは「8.」で作ったMaskと同じ階層で、Maskよりも上に置いておく
  12. SafeAreaのImageは色を赤など目立つ色にして(機能していない時に解りやすくするため)、Alpha値を255(不透明)にする
  13. ここを参考にUnmaskForUGUIをインポートし、SafeAreaにUnmask.csをアタッチする

おわり