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